From f22f9e54f2b183ec3d1db25f771da92f2968e5e9 Mon Sep 17 00:00:00 2001 From: Gernot Date: Sat, 16 Mar 2013 09:49:21 -0300 Subject: [PATCH 1/2] added German locale and fixture examples --- README.rdoc | 5 +- .../i18n/locales/numbers.de.yml | 42 ++++++++++++++++ .../array/fixture_examples/de.yml | 19 +++++++ .../integer/fixture_examples/de.yml | 50 +++++++++++++++++++ 4 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 lib/numbers_and_words/i18n/locales/numbers.de.yml create mode 100644 spec/numbers_and_words/array/fixture_examples/de.yml create mode 100644 spec/numbers_and_words/integer/fixture_examples/de.yml diff --git a/README.rdoc b/README.rdoc index 09b0c68f..d1d67354 100644 --- a/README.rdoc +++ b/README.rdoc @@ -15,11 +15,12 @@ Számok betűvel írva az I18n könyvtár segítségével. * Français * Українська * Magyar -* Spanish** -* Türkçe** +* German** * Italiano** * Nederlands** +* Spanish** * Swedish** +* Türkçe** ** Experimental diff --git a/lib/numbers_and_words/i18n/locales/numbers.de.yml b/lib/numbers_and_words/i18n/locales/numbers.de.yml new file mode 100644 index 00000000..f89c48d2 --- /dev/null +++ b/lib/numbers_and_words/i18n/locales/numbers.de.yml @@ -0,0 +1,42 @@ +de: + numbers: + ones: [null, eins, zwei, drei, vier, fünf, sechs, sieben, acht, neun] + teens: [zehn, elf, zwölf, dreizehn, vierzehn, fünfzehn, sechzehn, siebzehn, achtzehn, neunzehn] + tens: [null, zehn, zwanzig, dreißig, vierzig, fünfzig, sechzig, siebzig, achtzig, neunzig] + mega: [ones, thousands, millions, billions, trillions, quadrillions, quintillion, sextillions, septillions, octillions, nonillions, decillions] + hundreds: + one: hundert + many: hunderte + thousands: + one: tausend + many: tausende + millions: + one: Millon + many: Millonen + billions: + one: Milliarde + many: Milliarden + trillions: + one: Billion + many: Billionen + quadrillions: + one: Billiarde + many: Billiaden + quintillions: + one: Trillion + many: Trillionen + sextillions: + one: Trilliarde + many: Trilliarden + septillions: + one: Quadrillion + many: Quadrillionen + octillions: + one: Quadrilliarde + many: Quadrilliarden + nonillions: + one: Quintillion + many: Quintillionen + decillions: + one: Quintilliarde + many: Quintilliarden diff --git a/spec/numbers_and_words/array/fixture_examples/de.yml b/spec/numbers_and_words/array/fixture_examples/de.yml new file mode 100644 index 00000000..d5d77479 --- /dev/null +++ b/spec/numbers_and_words/array/fixture_examples/de.yml @@ -0,0 +1,19 @@ +to_words: + simple_example: + ? + - 1 + - 2 + - 3 + : + - eins + - zwei + - drei + complex_example: + ? + - 101 + - 21 + - 13 + : + - einhunderteins + - einundzwanzig + - dreizehn diff --git a/spec/numbers_and_words/integer/fixture_examples/de.yml b/spec/numbers_and_words/integer/fixture_examples/de.yml new file mode 100644 index 00000000..a8829c8b --- /dev/null +++ b/spec/numbers_and_words/integer/fixture_examples/de.yml @@ -0,0 +1,50 @@ +to_words: + ones: + 0: null + 1: eins + 9: neun + teens: + 10: zehn + 11: elf + 19: neunzehn + 20: zwanzig + 21: einundzwanzig + 80: achtzig + 90: neunzig + 99: neunundneunzig + hunderts: + 100: einhundert + 101: einhunderteins + 111: einhundertelf + 120: einhundertzwanzig + 121: einhunderteinundzwanzig + 900: neunhundert + 909: neunhundertneun + 919: neunhundertneunzehn + 990: neunhundertneunzig + 999: neunhundertneunundneunzig + tausends: + 1000: eintausend + 2000: zweitausend + 4000: viertausend + 5000: fünftausend + 11000: elftausend + 21000: einundzwanzigtausend + 999000: neunhundertneunundneunzigtausend + 999999: neunhundertneunundneunzigtausendneunhundertneunundneunzig + millionens: + 1000000: eine Million + 2000000: zwei Millionen + 4000000: vier Millionen + 5000000: fünf Millionen + 999000000: neunhundertneunundneunzig Millionen + 999000999: neunhundertneunundneunzig Millionen neunhundertneunundneunzig + 999999000: neunhundertneunundneunzig millionen neunhundertneunundneunzigtausend + 999999999: neunhundertneunundneunzig millionen neunhundertneunundneunzigtausend neunhundertneunundneunzig + billions: + 1174315110: eine Milliarde einhundertvierundsiebzig Millionen dreihundertfünfzehntausendeinhundertzehn + 1174315119: eine Milliarde einhundertvierundsiebzig Millionen dreihundertfünfzehntausendeinhundertneunzehn + 15174315119: fünfzehn Milliarden einhundertvierundsiebzig Millionen dreihundertfünfzehntausendeinhundertneunzehn + 35174315119: fünfunddreißig Milliarden einhundertvierundsiebzig Millionen dreihundertfünfzehntausendeinhundertneunzehn + 935174315119: neunhundertfünfunddreißig Milliarden einhundertvierundsiebzig Millionen dreihundertfünfzehntausendeinhundertneunzehn + 2935174315119: zwei Billionen neunhundertfünfunddreißig Milliarden einhundertvierundsiebzig Millionen dreihundertfünfzehntausendeinhundertneunzehn From 8f2e3bb3c339be0f31dff25df29bba899e71a36c Mon Sep 17 00:00:00 2001 From: Gernot Date: Sat, 16 Mar 2013 10:10:08 -0300 Subject: [PATCH 2/2] sorted requires alphabetically and included strategy and translation helper for 'de' (German) --- lib/numbers_and_words/strategies.rb | 13 ++++++------ lib/numbers_and_words/strategies/de.rb | 8 ++++++++ lib/numbers_and_words/translations_helpers.rb | 13 ++++++------ .../translations_helpers/de.rb | 20 +++++++++++++++++++ 4 files changed, 42 insertions(+), 12 deletions(-) create mode 100644 lib/numbers_and_words/strategies/de.rb create mode 100644 lib/numbers_and_words/translations_helpers/de.rb diff --git a/lib/numbers_and_words/strategies.rb b/lib/numbers_and_words/strategies.rb index d00e613d..82d6d79b 100644 --- a/lib/numbers_and_words/strategies.rb +++ b/lib/numbers_and_words/strategies.rb @@ -2,13 +2,14 @@ require 'numbers_and_words/strategies/families/base' require 'numbers_and_words/strategies/families/cyrillic' require 'numbers_and_words/strategies/families/latin' -require 'numbers_and_words/strategies/ru' +require 'numbers_and_words/strategies/de' require 'numbers_and_words/strategies/en' -require 'numbers_and_words/strategies/ua' -require 'numbers_and_words/strategies/tr' +require 'numbers_and_words/strategies/es' require 'numbers_and_words/strategies/fr' -require 'numbers_and_words/strategies/nl' -require 'numbers_and_words/strategies/it' require 'numbers_and_words/strategies/hu' +require 'numbers_and_words/strategies/it' +require 'numbers_and_words/strategies/nl' +require 'numbers_and_words/strategies/ru' require 'numbers_and_words/strategies/se' -require 'numbers_and_words/strategies/es' +require 'numbers_and_words/strategies/tr' +require 'numbers_and_words/strategies/ua' diff --git a/lib/numbers_and_words/strategies/de.rb b/lib/numbers_and_words/strategies/de.rb new file mode 100644 index 00000000..b3005b2f --- /dev/null +++ b/lib/numbers_and_words/strategies/de.rb @@ -0,0 +1,8 @@ +module NumbersAndWords + module Strategies + class De < Base + include Families::Latin + include NumbersAndWords::TranslationsHelpers::De + end + end +end diff --git a/lib/numbers_and_words/translations_helpers.rb b/lib/numbers_and_words/translations_helpers.rb index 3a1bd9dd..4369c462 100644 --- a/lib/numbers_and_words/translations_helpers.rb +++ b/lib/numbers_and_words/translations_helpers.rb @@ -2,13 +2,14 @@ require 'numbers_and_words/translations_helpers/families/base' require 'numbers_and_words/translations_helpers/families/cyrillic' require 'numbers_and_words/translations_helpers/families/latin' -require 'numbers_and_words/translations_helpers/ru' +require 'numbers_and_words/translations_helpers/de' require 'numbers_and_words/translations_helpers/en' -require 'numbers_and_words/translations_helpers/ua' -require 'numbers_and_words/translations_helpers/tr' +require 'numbers_and_words/translations_helpers/es' require 'numbers_and_words/translations_helpers/fr' -require 'numbers_and_words/translations_helpers/nl' -require 'numbers_and_words/translations_helpers/it' require 'numbers_and_words/translations_helpers/hu' +require 'numbers_and_words/translations_helpers/it' +require 'numbers_and_words/translations_helpers/nl' +require 'numbers_and_words/translations_helpers/ru' require 'numbers_and_words/translations_helpers/se' -require 'numbers_and_words/translations_helpers/es' +require 'numbers_and_words/translations_helpers/tr' +require 'numbers_and_words/translations_helpers/ua' diff --git a/lib/numbers_and_words/translations_helpers/de.rb b/lib/numbers_and_words/translations_helpers/de.rb new file mode 100644 index 00000000..d954ee66 --- /dev/null +++ b/lib/numbers_and_words/translations_helpers/de.rb @@ -0,0 +1,20 @@ +module NumbersAndWords + module TranslationsHelpers + module De + include NumbersAndWords::TranslationsHelpers::Base + include NumbersAndWords::TranslationsHelpers::Families::Latin + + def translation_tens_with_ones numbers + super numbers, ' und ' + end + + def translation_hundreds number + [t(:ones)[number], t(:hundreds, :count => number)] + end + + def translation_megs capacity + super(capacity, figures.number_in_capacity(capacity)) + end + end + end +end