From 77b9dda8ef0cf0bd6aa4c1fdc8fcff1efa4ac717 Mon Sep 17 00:00:00 2001 From: miks Date: Sun, 25 Aug 2013 14:44:06 +0300 Subject: [PATCH] Estonian translation --- README.rdoc | 13 ++++- .../i18n/locales/numbers.et.yml | 38 +++++++++++++ .../strategies/figures_converter/languages.rb | 1 + .../figures_converter/languages/et.rb | 16 ++++++ lib/numbers_and_words/translations.rb | 1 + lib/numbers_and_words/translations/et.rb | 20 +++++++ .../array/fixture_examples/et.yml | 19 +++++++ .../integer/fixture_examples/et.yml | 55 +++++++++++++++++++ 8 files changed, 162 insertions(+), 1 deletion(-) create mode 100644 lib/numbers_and_words/i18n/locales/numbers.et.yml create mode 100644 lib/numbers_and_words/strategies/figures_converter/languages/et.rb create mode 100644 lib/numbers_and_words/translations/et.rb create mode 100644 spec/numbers_and_words/array/fixture_examples/et.yml create mode 100644 spec/numbers_and_words/integer/fixture_examples/et.yml diff --git a/README.rdoc b/README.rdoc index 814edd84..c69793cb 100644 --- a/README.rdoc +++ b/README.rdoc @@ -24,6 +24,7 @@ Számok betűvel írva az I18n könyvtár segítségével. * Magyar [hu] * Latviešu [lv] * Lietuvių [lt] +* Eesti [et] * Türkçe** [tr] * Deutsch** [de] * Italiano** [it] @@ -64,6 +65,9 @@ Számok betűvel írva az I18n könyvtár segítségével. I18n.with_locale(:lt) { 42.to_words } => "keturiasdešimt du" + I18n.with_locale(:et) { 42.to_words } + => "nelikümmend kaks" + 21.to_words => "twenty-one" => "veintiuno" @@ -78,6 +82,7 @@ Számok betűvel írva az I18n könyvtár segítségével. => "tjugo-en" => "divdesmit viens" => "dvidešimt vienas" + => "kakskümmend üks" 231.to_words => "two hundred thirty-one" @@ -93,6 +98,7 @@ Számok betűvel írva az I18n könyvtár segítségével. => "två hundra trettio-en" => "divi simti trīsdesmit viens" => "du šimtai trisdešimt vienas" + => "kakssada kolmkümmend üks" 4030.to_words => "four thousand thirty" @@ -108,6 +114,7 @@ Számok betűvel írva az I18n könyvtár segítségével. => "fyra tusen trettio" => "četri tūkstoši simts trīsdesmit" => "keturi tūkstančiai trisdešimt" + => "neli tuhat kolmkümmend" 1000100.to_words => "one million one hundred" @@ -123,6 +130,7 @@ Számok betűvel írva az I18n könyvtár segítségével. => "en miljoner en hundra" => "viens miljons simts" => "milijonas šimtas" + => "üks miljon ükssada" 1000000000000000000000000000000000.to_words => "one decillion" @@ -138,6 +146,7 @@ Számok betűvel írva az I18n könyvtár segítségével. => "en decillion" => "viens deciljons" => "vienas decilijonas" + => "üks dekiljon" [1, 2, 3].to_words => ["one", "two", "three"] @@ -147,9 +156,10 @@ Számok betűvel írva az I18n könyvtár segítségével. => ["egy", "kettő", "három"] => ["viens", "divi", "trīs"] => ["vienas", "du", "trys"] + => ["üks", "kaks", "kolm"] [11, 22, 133].to_words - => ["eleven", "twenty-two", "one hundred thirty-three"] + => ["eleven", "twenty-two", "one hundred thirty-three"] => ["once", "veintidos", "ciento treinta y tres"] => ["одиннадцать", "двадцать два", "сто тридцать три"] => ["onze", "vingt-deux", "cent trente-trois"] @@ -162,6 +172,7 @@ Számok betűvel írva az I18n könyvtár segítségével. => ["elva", "tjugo-två", "en hundra trettio-tre"] => ["vienpadsmit", "divdesmit divi", "simts trīsdesmit trīs"] => ["vienuolika", "dvidešimt du", "šimtas trisdešimt trys"] + => ["üksteist", "kakskümmend kaks", "ükssada kolmkümmend kolm"] 21.77.to_words => "twenty-one and seventy-seven hundredths" diff --git a/lib/numbers_and_words/i18n/locales/numbers.et.yml b/lib/numbers_and_words/i18n/locales/numbers.et.yml new file mode 100644 index 00000000..76187f60 --- /dev/null +++ b/lib/numbers_and_words/i18n/locales/numbers.et.yml @@ -0,0 +1,38 @@ +et: + numbers: + ones: ["null", üks, kaks, kolm, neli, viis, kuus, seitse, kaheksa, üheksa] + teens: [kümme, üksteist, kaksteist, kolmteist, neliteist, viisteist, kuusteist, seitseteist, kaheksateist, üheksateist] + tens: ["null", kümme, kakskümmend, kolmkümmend, nelikümmend, viiskümmend, kuuskümmend, seitsekümmend, kaheksakümmend, üheksakümmend] + mega: [ones, thousands, millions, billions, trillions, quadrillions, quintillion, sextillions, septillions, octillions, nonillions, decillions] + hundreds: sada + thousands: tuhat + millions: + one: miljon + other: miljonit + billions: + one: miljard + other: miljardit + trillions: + one: triljon + other: triljonit + quadrillions: + one: kvadriljon + other: kvadriljonit + quintillions: + one: kvintiljon + other: kvintiljonit + sextillions: + one: sekstiljon + other: sekstiljonit + septillions: + one: septiljon + other: septiljonit + octillions: + one: oktiljon + other: oktiljonit + nonillions: + one: noniljon + other: noniljonit + decillions: + one: dekiljon + other: dekiljonit diff --git a/lib/numbers_and_words/strategies/figures_converter/languages.rb b/lib/numbers_and_words/strategies/figures_converter/languages.rb index 353b8446..5868e432 100644 --- a/lib/numbers_and_words/strategies/figures_converter/languages.rb +++ b/lib/numbers_and_words/strategies/figures_converter/languages.rb @@ -9,6 +9,7 @@ require 'numbers_and_words/strategies/figures_converter/languages/en_gb' require 'numbers_and_words/strategies/figures_converter/languages/fr' require 'numbers_and_words/strategies/figures_converter/languages/hu' +require 'numbers_and_words/strategies/figures_converter/languages/et' require 'numbers_and_words/strategies/figures_converter/languages/se' require 'numbers_and_words/strategies/figures_converter/languages/it' require 'numbers_and_words/strategies/figures_converter/languages/nl' diff --git a/lib/numbers_and_words/strategies/figures_converter/languages/et.rb b/lib/numbers_and_words/strategies/figures_converter/languages/et.rb new file mode 100644 index 00000000..fea27fa1 --- /dev/null +++ b/lib/numbers_and_words/strategies/figures_converter/languages/et.rb @@ -0,0 +1,16 @@ +module NumbersAndWords + module Strategies + module FiguresConverter + module Languages + class Et < Base + include Families::Latin + + def megs + super({:number => @figures.number_in_capacity(@current_capacity)}) + end + + end + end + end + end +end diff --git a/lib/numbers_and_words/translations.rb b/lib/numbers_and_words/translations.rb index 649e8b71..3c51f7d6 100644 --- a/lib/numbers_and_words/translations.rb +++ b/lib/numbers_and_words/translations.rb @@ -12,6 +12,7 @@ require 'numbers_and_words/translations/nl' require 'numbers_and_words/translations/it' require 'numbers_and_words/translations/hu' +require 'numbers_and_words/translations/et' require 'numbers_and_words/translations/se' require 'numbers_and_words/translations/es' require 'numbers_and_words/translations/lv' diff --git a/lib/numbers_and_words/translations/et.rb b/lib/numbers_and_words/translations/et.rb new file mode 100644 index 00000000..b7e213a8 --- /dev/null +++ b/lib/numbers_and_words/translations/et.rb @@ -0,0 +1,20 @@ +module NumbersAndWords + module Translations + class Et < Base + include NumbersAndWords::Translations::Families::Latin + + def tens_with_ones numbers, options = {} + if numbers[1] == 1 + [ones(numbers[0]), tens(numbers[1], :alone => false)].join '' + else + [tens(numbers[1], :alone => false), ones(numbers[0])].join ' ' + end + end + + def hundreds number, options = {} + options[:separator] = '' + super number, options + end + end + end +end diff --git a/spec/numbers_and_words/array/fixture_examples/et.yml b/spec/numbers_and_words/array/fixture_examples/et.yml new file mode 100644 index 00000000..0b437d99 --- /dev/null +++ b/spec/numbers_and_words/array/fixture_examples/et.yml @@ -0,0 +1,19 @@ +to_words: + simple_example: + ? + - 1 + - 2 + - 3 + : + - üks + - kaks + - kolm + complex_example: + ? + - 101 + - 21 + - 13 + : + - ükssada üks + - kakskümmend üks + - kolmteist diff --git a/spec/numbers_and_words/integer/fixture_examples/et.yml b/spec/numbers_and_words/integer/fixture_examples/et.yml new file mode 100644 index 00000000..c2336241 --- /dev/null +++ b/spec/numbers_and_words/integer/fixture_examples/et.yml @@ -0,0 +1,55 @@ +to_words: + ones: + 0: "null" + 1: üks + 9: üheksa + teens: + 10: kümme + 11: üksteist + 19: üheksateist + 20: kakskümmend + 21: kakskümmend üks + 80: kaheksakümmend + 90: üheksakümmend + 99: üheksakümmend üheksa + hundreds: + 100: ükssada + 101: ükssada üks + 111: ükssada üksteist + 120: ükssada kakskümmend + 121: ükssada kakskümmend üks + 900: üheksasada + 909: üheksasada üheksa + 919: üheksasada üheksateist + 990: üheksasada üheksakümmend + 999: üheksasada üheksakümmend üheksa + thousands: + 1000: üks tuhat + 1111: üks tuhat ükssada üksteist + 2000: kaks tuhat + 2001: kaks tuhat üks + 2111: kaks tuhat ükssada üksteist + 4000: neli tuhat + 5000: viis tuhat + 11000: üksteist tuhat + 21000: kakskümmend üks tuhat + 999000: üheksasada üheksakümmend üheksa tuhat + 999999: üheksasada üheksakümmend üheksa tuhat üheksasada üheksakümmend üheksa + millions: + 1000000: üks miljon + 2000000: kaks miljonit + 4000000: neli miljonit + 5000000: viis miljonit + 999000000: üheksasada üheksakümmend üheksa miljonit + 999000999: üheksasada üheksakümmend üheksa miljonit üheksasada üheksakümmend üheksa + 999999000: üheksasada üheksakümmend üheksa miljonit üheksasada üheksakümmend üheksa tuhat + 999999999: üheksasada üheksakümmend üheksa miljonit üheksasada üheksakümmend üheksa tuhat üheksasada üheksakümmend üheksa + billions: + 1174315110: üks miljard ükssada seitsekümmend neli miljonit kolmsada viisteist tuhat ükssada kümme + 1174315119: üks miljard ükssada seitsekümmend neli miljonit kolmsada viisteist tuhat ükssada üheksateist + 15174315119: viisteist miljardit ükssada seitsekümmend neli miljonit kolmsada viisteist tuhat ükssada üheksateist + 35174315119: kolmkümmend viis miljardit ükssada seitsekümmend neli miljonit kolmsada viisteist tuhat ükssada üheksateist + 935174315119: üheksasada kolmkümmend viis miljardit ükssada seitsekümmend neli miljonit kolmsada viisteist tuhat ükssada üheksateist + trillions: + 1135174313119: üks triljon ükssada kolmkümmend viis miljardit ükssada seitsekümmend neli miljonit kolmsada kolmteist tuhat ükssada üheksateist + 2935174315119: kaks triljonit üheksasada kolmkümmend viis miljardit ükssada seitsekümmend neli miljonit kolmsada viisteist tuhat ükssada üheksateist