<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.
-
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-AU], [en-CA], [en-IN], [en-US]}*** => [en]
-
{[es-419], [es-AR], [es-CL], [es-CO], [es-MX], [es-PE], [es-VE]}*** => [es]
-
{[fr-CA], [fr-CH]}*** => [fr]
-
{[de], [de-AT], [de-CH]}*** => [de]
-
{[it-CH]}*** => [it]
*** Aliases
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 et un" => "дв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"
-
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"
-
precision
You may pass argument :precision that added zeros to the end of float number:
I18n.with_locale(:ru) { 0.1.to_words precision: 3 } => ноль целых и десять сотых
You may optionally set locales you want to work with in your application.
First, add to your Gemfile (“require: false” needed for config to take effect)
gem 'numbers_and_words', require: false
Then create your configuration in config/initializers/numbers_and_words.rb
module NumbersAndWords module I18n APP_LOCALES = [:en, :ru] end end require "numbers_and_words"
-
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);
gem install numbers_and_words
MIT License
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.
-
Kirill Lazarev ([email protected])
-
Daniel Doubrovkine (http://github.com/dblock)
-
Sergey Shkirando ([email protected])
-
Ulrich Sossou (Github, Personal Page)
-
Mārtiņš Spriņģis ([email protected])
-
Miks Miķelsons (http://github.com/miks)