allegro / tradukisto

A Java i18n library created to convert numbers to their word representations.
Apache License 2.0
204 stars 92 forks source link

Add support for Greek #117

Open jglaszka opened 1 year ago

jglaszka commented 1 year ago

Tradukisto is the library what converts numbers to human-readable words - for example from 14 to fourteen. This issue was created to add support for counting in new language. Depending on how numeral system in your language is similar to other languages (english, arabic, german, slavic) and how many exceptions it have - it can be easy or more demanding.

Implementing unit tests will be really helpful for you, I encourage you to create them first (TDD paradigm), before developing new changes in the code. You can run them in terminal with ./gradlew test or green button in Intellij code editor.

New language needs to have implementation for Container. Depending on how your language works, having conjugation, gender forms, custom chunking (typically divider is for 3 numbers) etc it may be needed to define more advanced container with custom implementations for counting, for example turkish. Tests will really be helpful for you to see if it needs custom implementations or not.

Also define Values - translations for base numers and for plural forms (thousands, millions etc). Feel free to ask if you have more questions, we will try to help you. https://github.com/allegro/tradukisto/wiki/How-to-start-contributing

iligeoili commented 1 year ago

I would like to work on this issue as my first issue if its still available

jglaszka commented 1 year ago

Hey, thanks. I will assign you. I updated the description to be more descriptive what need to be done. Do you need some help or something?

iligeoili commented 1 year ago

Thank you ! I will get on it as soon as possible ! I dont think i need some help at the moment but i will contact you if anything occurs.

iligeoili commented 1 year ago

@jglaszka hey i almost finished it but i got a problem , im kinda confused of how genders work and how to apply them if you can give me some tips

jglaszka commented 1 year ago

Hey, gender type can be specified for the name of the big number in "PluralForms". Depending on gender in some languages small numbers have different ending - for example in slovenian number "2" can have different forms - "dva" or "dve", depending if we using it with feminine or masculine noun - dva milijona (fem), dve milijardi (masc).

jglaszka commented 1 year ago

In some languages it does changes nothing, for example in english.

jglaszka commented 1 year ago

You can decide if you need define it for your language - for example if name of the number has different version depending on using it with large numbers - you can see how constructed are numbers: 1000, 2000, 3000, 4000, 5000, 1.000.000, 2.000.000, 3.000.000, 4.000.000, 5.000.000, 6.000.000. I checked and it looks that you probably dont need gender forms https://www.unicode.org/cldr/cldr-aux/charts/28/verify/numbers/el.html

iligeoili commented 1 year ago

thnx a lot @jglaszka i will come back to you as soon as possible