numbers_and_words
<img src=“https://badge.fury.io/rb/numbers_and_words.svg?branch=master” alt=“Gem Version” /> <img src=“https://gemnasium.com/kslazarev/numbers_and_words.svg?branch=master” alt=“Dependency Status” /> <img src=“https://codeclimate.com/github/kslazarev/numbers_and_words.svg?branch=master” /> <img src=“https://secure.travis-ci.org/kslazarev/numbers_and_words.svg?branch=master” /> <img src=“https://coveralls.io/repos/kslazarev/numbers_and_words/badge.svg?branch=master” alt=“Coverage Status” />
Convert numbers to words using the I18n library.
Перевод чисел в слова при помощи библиотеки I18n.
Converti les nombres en lettres en utilisant la librairie I18n.
Számok betűvel írva az I18n könyvtár segítségével.
I18n kütüphanesi ile sayıları yazıya çevirir.
Supported Languages / Языки / Langues Supportées
-
English [en]
-
Spanish [es]
-
Русский [ru]
-
Français [fr]
-
Українська [ua]
-
Magyar [hu]
-
Lietuvių [lt]
-
Latviešu [lv]
-
Eesti [et]
-
ქართული (Georgian) [ka]
-
Türkçe [tr]
-
Deutsch** [de]
-
Italiano** [it]
-
Nederlands** [nl]
-
Swedish** [se]
-
English (British)** [en-GB]
** Experimental
-
[en-CA], [en-IN], [en-US]*** => [en]
-
[es-AR], [es-CL], [es-CO], [es-MX], [es-PE], [es-VE]*** => [es]
-
[fr-CH]*** => [fr]
-
[de-AT], [de-CH]*** => [de]
-
[it-CH]*** => [it]
*** Aliases
Examples / Примеры / Exemples
I18n.with_locale(:en) { 42.to_words }
=> "forty-two"
I18n.with_locale(:es) { 42.to_words }
=> "cuarenta y dos"
I18n.with_locale(:ru) { 42.to_words }
=> "сорок два"
I18n.with_locale(:fr) { 42.to_words }
=> "quarante-deux"
I18n.with_locale(:hu) { 42.to_words }
=> "negyvenkettő"
I18n.with_locale(:lt) { 42.to_words }
=> "keturiasdešimt du"
I18n.with_locale(:lv) { 42.to_words }
=> "četrdesmit divi"
I18n.with_locale(:et) { 42.to_words }
=> "nelikümmend kaks"
I18n.with_locale(:ka) { 42.to_words }
=> "ორმოცდაორი"
21.to_words
=> "twenty-one"
=> "veintiuno"
=> "двадцать один"
=> "vingt et un"
=> "двадцять один"
=> "huszonegy"
=> "dvidešimt vienas"
=> "divdesmit viens"
=> "kakskümmend üks"
=> "yirmi bir"
=> "ოცდაერთი"
=> "einundzwanzig"
=> "ventiuno"
=> "éénentwintig"
=> "tjugo-en"
231.to_words
=> "two hundred thirty-one"
=> "doscientos treinta y uno"
=> "двести тридцать один"
=> "deux cent trente-trois"
=> "двiстi тридцять один"
=> "kettőszázharmincegy"
=> "du šimtai trisdešimt vienas"
=> "divi simti trīsdesmit viens"
=> "kakssada kolmkümmend üks"
=> "ორას ოცდათერთმეტი"
=> "iki yüz otuz bir"
=> "zweihunderteinunddreißig"
=> "2 cento trentauno"
=> "tweehonderdéénendertig"
=> "två hundra trettio-en"
4030.to_words
=> "four thousand thirty"
=> "cuatro mil treinta"
=> "четыре тысячи тридцать"
=> "quatre mille trente"
=> "чотири тисячi тридцять"
=> "négyezer-harminc"
=> "keturi tūkstančiai trisdešimt"
=> "četri tūkstoši trīsdesmit"
=> "neli tuhat kolmkümmend"
=> "ოთხი ათას ოცდაათი"
=> "dört bin otuz"
=> "viertausenddreißig"
=> "quattro mille trenta"
=> "vierthousanddertig"
=> "fyra tusen trettio"
1000100.to_words
=> "one million one hundred"
=> "un millón cien"
=> "один миллион сто"
=> "un million cent"
=> "один мiльйон сто"
=> "egymillió-egyszáz"
=> "milijonas šimtas"
=> "viens miljons simts"
=> "üks miljon ükssada"
=> "ერთი მილიონ ასი"
=> "bir milyon yüz"
=> "eine Million einhundert"
=> "uno milione 1 cento"
=> "één miljoen honderd"
=> "en miljoner en hundra"
1000000000000000000000000000000000.to_words
=> "one decillion"
=> "mil quintillones"
=> "один дециллион"
=> "un quintilliard"
=> "один децильйон"
=> "egykvintilliárd"
=> "vienas decilijonas"
=> "viens deciljons"
=> "üks dekiljon"
=> "bir desilyon"
=> "eine Quintilliarde"
=> "uno decillion"
=> "één decillion"
=> "en decillion"
[1, 2, 3].to_words
=> ["one", "two", "three"]
=> ["uno", "dos", "tres"]
=> ["один", "два", "три"]
=> ["un", "deux", "trois"]
=> ["egy", "kettő", "három"]
=> ["vienas", "du", "trys"]
=> ["viens", "divi", "trīs"]
=> ["üks", "kaks", "kolm"]
=> ["ერთი", "ორი", "სამი"]
[11, 22, 133].to_words
=> ["eleven", "twenty-two", "one hundred thirty-three"]
=> ["once", "veintidós", "ciento treinta y tres"]
=> ["одиннадцать", "двадцать два", "сто тридцать три"]
=> ["onze", "vingt-deux", "cent trente-trois"]
=> ["одинадцять", "двадцять два", "сто тридцять три"]
=> ["tizenegy", "huszonkettő", "egyszázharminchárom"]
=> ["vienuolika", "dvidešimt du", "šimtas trisdešimt trys"]
=> ["vienpadsmit", "divdesmit divi", "simtu trīsdesmit trīs"]
=> ["üksteist", "kakskümmend kaks", "ükssada kolmkümmend kolm"]
=> ["თერთმეტი", "ოცდაორი", "ას ოცდაცამეტი"]
=> ["on bir", "yirmi iki", "yüz otuz üç"]
=> ["elf", "zweiundzwanzig", "einhundertdreiunddreißig"]
=> ["undici", "ventidue", "1 cento trentatre"]
=> ["elf", "tweeentwintig", "honderddrieendertig"]
=> ["elva", "tjugo-två", "en hundra trettio-tre"]
21.77.to_words
=> "twenty-one and seventy-seven hundredths"
=> "двадцать одна целая и семьдесят семь сотых"
=> "двадцять одна цiла i сiмдесят сiм сотих"
=> "huszonegy egész hetvenhét század"
=> "twenty-one point seven seven"
Language options / Языковые опции
-
English / British
Ordinal form: (ordinal: [true || false])
I18n.with_locale(:en) { 21.to_words ordinal: true } => "twenty-first"
Remove hyphen between tens and ones: (remove_hyphen: [true || false])
I18n.with_locale(:en) { 21.to_words remove_hyphen: true } => "twenty one"
Add ‘and’ between hundreds and tens: (hundreds_with_union: [true || false])
I18n.with_locale(:en) { 111.to_words hundreds_with_union: true } => "one hundred and eleven"
Remove ‘zero’ from integral part of float: (remove_zero: [true || false])
I18n.with_locale(:en) { 0.7.to_words remove_zero: true } => "seven tenths" I18n.with_locale(:en) { [0.1, 0.31, 0.12].to_words remove_zero: true } => ["one tenth", "thirty-one hundredths", "twelve hundredths"]
-
Russian
Change gender form: (gender: [:female || :male || :neuter])
I18n.with_locale(:ru) { 1001.to_words gender: :neuter } => "одна тысяча одно"
-
Ukranian
Change gender form: (gender: [:female || :male || :neuter])
I18n.with_locale(:ru) { 1001.to_words gender: :neuter } => "одна тисяча одне"
-
Hungarian
Ordinal form: (ordinal: [true || false])
I18n.with_locale(:hu) { 21.to_words ordinal: true } => "huszonegyedik"
Requirements / Требования / Configuration Requise
-
1.9.3 <= Ruby (compatible with/совместимость с/compatible avec Ruby 1.9, JRuby and/и/et Rubinius);
-
1.8.7 <= Ruby <= 1.9.2 (-v 0.9.0)
-
0.5.0 <= I18n (earlier versions not tested/ранние версии не тестировались/versions précédentes non testées);
Installation / Установка / Installation
gem install numbers_and_words
License / Лицензия / Licence
MIT License
Bugs and Language Support / Поправки и Новые Языки / Bugs et Support d’autres Langues
See CHANGELOG.md for last changes.
Fork the project. Make your feature addition or bug fix with tests.
Send a pull request. Bonus points for topic branches.
Contacts / Контакты / Contacts
-
Kirill Lazarev ([email protected])
-
Daniel Doubrovkine (http://github.com/dblock)
-
Sergey Shkirando ([email protected])
-
Ulrich Sossou (Github, Personal Page)
-
eLod (http://github.com/eLod)
-
Mārtiņš Spriņģis ([email protected])
-
Miks Miķelsons (http://github.com/miks)