twitter_cldr 1.9.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +7 -0
- data/History.txt +11 -0
- data/README.md +93 -13
- data/Rakefile +27 -6
- data/lib/twitter_cldr/formatters.rb +15 -12
- data/lib/twitter_cldr/formatters/base.rb +1 -1
- data/lib/twitter_cldr/formatters/calendars/datetime_formatter.rb +18 -3
- data/lib/twitter_cldr/formatters/calendars/timespan_formatter.rb +24 -26
- data/lib/twitter_cldr/formatters/numbers/abbreviated/abbreviated_number_formatter.rb +47 -0
- data/lib/twitter_cldr/formatters/numbers/abbreviated/long_decimal_formatter.rb +18 -0
- data/lib/twitter_cldr/formatters/numbers/abbreviated/short_decimal_formatter.rb +18 -0
- data/lib/twitter_cldr/formatters/numbers/currency_formatter.rb +22 -17
- data/lib/twitter_cldr/formatters/numbers/decimal_formatter.rb +0 -9
- data/lib/twitter_cldr/formatters/numbers/helpers/base.rb +1 -1
- data/lib/twitter_cldr/formatters/numbers/number_formatter.rb +25 -10
- data/lib/twitter_cldr/formatters/numbers/percent_formatter.rb +9 -6
- data/lib/twitter_cldr/localized/localized_datetime.rb +6 -2
- data/lib/twitter_cldr/localized/localized_number.rb +9 -3
- data/lib/twitter_cldr/localized/localized_timespan.rb +1 -1
- data/lib/twitter_cldr/resources.rb +13 -12
- data/lib/twitter_cldr/resources/custom_locales_resources_importer.rb +1 -1
- data/lib/twitter_cldr/resources/download.rb +1 -1
- data/lib/twitter_cldr/resources/locales_resources_importer.rb +10 -6
- data/lib/twitter_cldr/shared/bidi.rb +27 -27
- data/lib/twitter_cldr/shared/currencies.rb +20 -13
- data/lib/twitter_cldr/tokenizers.rb +10 -9
- data/lib/twitter_cldr/tokenizers/base.rb +33 -21
- data/lib/twitter_cldr/tokenizers/calendars/additional_date_format_selector.rb +86 -0
- data/lib/twitter_cldr/tokenizers/calendars/date_tokenizer.rb +20 -11
- data/lib/twitter_cldr/tokenizers/calendars/datetime_tokenizer.rb +50 -13
- data/lib/twitter_cldr/tokenizers/calendars/time_tokenizer.rb +19 -10
- data/lib/twitter_cldr/tokenizers/calendars/timespan_tokenizer.rb +32 -32
- data/lib/twitter_cldr/tokenizers/numbers/number_tokenizer.rb +45 -22
- data/lib/twitter_cldr/utils.rb +16 -1
- data/lib/twitter_cldr/version.rb +1 -1
- data/resources/collation/tailoring/af.yml +1 -0
- data/resources/collation/tailoring/ar.yml +3 -2
- data/resources/collation/tailoring/be.yml +7 -0
- data/resources/collation/tailoring/bg.yml +5 -0
- data/resources/collation/tailoring/bn.yml +9 -0
- data/resources/collation/tailoring/ca.yml +3 -2
- data/resources/collation/tailoring/cs.yml +3 -2
- data/resources/collation/tailoring/cy.yml +51 -0
- data/resources/collation/tailoring/da.yml +3 -2
- data/resources/collation/tailoring/de.yml +1 -0
- data/resources/collation/tailoring/el.yml +1 -0
- data/resources/collation/tailoring/en.yml +1 -0
- data/resources/collation/tailoring/es.yml +3 -2
- data/resources/collation/tailoring/eu.yml +1 -0
- data/resources/collation/tailoring/fa.yml +3 -2
- data/resources/collation/tailoring/fi.yml +3 -2
- data/resources/collation/tailoring/fil.yml +3 -2
- data/resources/collation/tailoring/fr.yml +1 -0
- data/resources/collation/tailoring/ga.yml +5 -0
- data/resources/collation/tailoring/gl.yml +5 -0
- data/resources/collation/tailoring/he.yml +1 -0
- data/resources/collation/tailoring/hi.yml +3 -2
- data/resources/collation/tailoring/hu.yml +3 -2
- data/resources/collation/tailoring/id.yml +1 -0
- data/resources/collation/tailoring/it.yml +1 -0
- data/resources/collation/tailoring/ja.yml +107 -54
- data/resources/collation/tailoring/ko.yml +3 -2
- data/resources/collation/tailoring/lv.yml +35 -0
- data/resources/collation/tailoring/ms.yml +1 -0
- data/resources/collation/tailoring/nb.yml +3 -2
- data/resources/collation/tailoring/nl.yml +1 -0
- data/resources/collation/tailoring/pl.yml +3 -2
- data/resources/collation/tailoring/pt.yml +1 -0
- data/resources/collation/tailoring/ro.yml +31 -0
- data/resources/collation/tailoring/ru.yml +1 -0
- data/resources/collation/tailoring/sk.yml +35 -0
- data/resources/collation/tailoring/sq.yml +65 -0
- data/resources/collation/tailoring/sr.yml +5 -0
- data/resources/collation/tailoring/sv.yml +3 -2
- data/resources/collation/tailoring/ta.yml +57 -0
- data/resources/collation/tailoring/th.yml +3 -2
- data/resources/collation/tailoring/tr.yml +3 -2
- data/resources/collation/tailoring/uk.yml +3 -2
- data/resources/collation/tailoring/ur.yml +3 -2
- data/resources/collation/tailoring/zh-Hant.yml +3 -2
- data/resources/collation/tailoring/zh.yml +3 -2
- data/resources/collation/tries/be.dump +0 -0
- data/resources/collation/tries/bg.dump +0 -0
- data/resources/collation/tries/bn.dump +0 -0
- data/resources/collation/tries/cy.dump +0 -0
- data/resources/collation/tries/ga.dump +0 -0
- data/resources/collation/tries/gl.dump +0 -0
- data/resources/collation/tries/lv.dump +0 -0
- data/resources/collation/tries/ro.dump +0 -0
- data/resources/collation/tries/sk.dump +0 -0
- data/resources/collation/tries/sq.dump +0 -0
- data/resources/collation/tries/sr.dump +0 -0
- data/resources/collation/tries/ta.dump +0 -0
- data/resources/custom/locales/ar/units.yml +6 -6
- data/resources/custom/locales/be/units.yml +27 -0
- data/resources/custom/locales/bg/units.yml +19 -0
- data/resources/custom/locales/bn/units.yml +7 -0
- data/resources/custom/locales/cs/units.yml +3 -3
- data/resources/custom/locales/cy/units.yml +35 -0
- data/resources/custom/locales/fil/units.yml +2 -2
- data/resources/custom/locales/ga/units.yml +24 -0
- data/resources/custom/locales/gl/units.yml +19 -0
- data/resources/custom/locales/hu/plurals.yml +3 -0
- data/resources/custom/locales/hu/units.yml +4 -0
- data/resources/custom/locales/lv/units.yml +23 -0
- data/resources/custom/locales/ms/units.yml +1 -1
- data/resources/custom/locales/ro/units.yml +23 -0
- data/resources/custom/locales/sk/units.yml +23 -0
- data/resources/custom/locales/sr/units.yml +27 -0
- data/resources/custom/locales/ta/units.yml +11 -0
- data/resources/custom/locales/th/calendars.yml +14 -0
- data/resources/locales/af/calendars.yml +56 -0
- data/resources/locales/af/currencies.yml +358 -0
- data/resources/locales/af/languages.yml +23 -3
- data/resources/locales/af/numbers.yml +22 -8
- data/resources/locales/af/units.yml +26 -54
- data/resources/locales/ar/calendars.yml +99 -6
- data/resources/locales/ar/currencies.yml +1491 -0
- data/resources/locales/ar/languages.yml +33 -6
- data/resources/locales/ar/numbers.yml +27 -14
- data/resources/locales/ar/units.yml +31 -31
- data/resources/locales/be/calendars.yml +229 -0
- data/resources/locales/be/currencies.yml +66 -0
- data/resources/locales/be/languages.yml +149 -0
- data/resources/locales/be/layout.yml +4 -0
- data/resources/locales/be/lists.yml +7 -0
- data/resources/locales/be/numbers.yml +43 -0
- data/resources/locales/be/plurals.yml +5 -0
- data/resources/locales/be/units.yml +87 -0
- data/resources/locales/bg/calendars.yml +220 -0
- data/resources/locales/bg/currencies.yml +773 -0
- data/resources/locales/bg/languages.yml +513 -0
- data/resources/locales/bg/layout.yml +4 -0
- data/resources/locales/bg/lists.yml +7 -0
- data/resources/locales/bg/numbers.yml +57 -0
- data/resources/locales/bg/plurals.yml +3 -0
- data/resources/locales/bg/units.yml +108 -0
- data/resources/locales/bn/calendars.yml +205 -0
- data/resources/locales/bn/currencies.yml +564 -0
- data/resources/locales/bn/languages.yml +513 -0
- data/resources/locales/bn/layout.yml +4 -0
- data/resources/locales/bn/lists.yml +7 -0
- data/resources/locales/bn/numbers.yml +57 -0
- data/resources/locales/bn/plurals.yml +3 -0
- data/resources/locales/bn/units.yml +108 -0
- data/resources/locales/ca/calendars.yml +70 -21
- data/resources/locales/ca/currencies.yml +904 -0
- data/resources/locales/ca/languages.yml +70 -5
- data/resources/locales/ca/numbers.yml +19 -6
- data/resources/locales/ca/units.yml +0 -28
- data/resources/locales/cs/calendars.yml +73 -27
- data/resources/locales/cs/currencies.yml +1063 -0
- data/resources/locales/cs/languages.yml +113 -31
- data/resources/locales/cs/numbers.yml +17 -4
- data/resources/locales/cs/units.yml +0 -28
- data/resources/locales/cy/calendars.yml +266 -0
- data/resources/locales/cy/currencies.yml +54 -0
- data/resources/locales/cy/languages.yml +92 -0
- data/resources/locales/cy/layout.yml +4 -0
- data/resources/locales/cy/lists.yml +7 -0
- data/resources/locales/cy/numbers.yml +49 -0
- data/resources/locales/cy/plurals.yml +4 -0
- data/resources/locales/cy/units.yml +73 -0
- data/resources/locales/da/calendars.yml +117 -16
- data/resources/locales/da/currencies.yml +814 -0
- data/resources/locales/da/languages.yml +66 -5
- data/resources/locales/da/numbers.yml +16 -3
- data/resources/locales/da/units.yml +21 -35
- data/resources/locales/de/calendars.yml +115 -17
- data/resources/locales/de/currencies.yml +843 -0
- data/resources/locales/de/languages.yml +5 -3
- data/resources/locales/de/numbers.yml +18 -5
- data/resources/locales/de/units.yml +0 -28
- data/resources/locales/el/calendars.yml +61 -8
- data/resources/locales/el/currencies.yml +866 -0
- data/resources/locales/el/languages.yml +61 -5
- data/resources/locales/el/numbers.yml +18 -5
- data/resources/locales/el/units.yml +7 -42
- data/resources/locales/en/calendars.yml +43 -4
- data/resources/locales/en/currencies.yml +912 -0
- data/resources/locales/en/languages.yml +26 -6
- data/resources/locales/en/numbers.yml +17 -4
- data/resources/locales/es/calendars.yml +60 -0
- data/resources/locales/es/currencies.yml +820 -0
- data/resources/locales/es/languages.yml +66 -1
- data/resources/locales/es/numbers.yml +20 -7
- data/resources/locales/es/units.yml +0 -28
- data/resources/locales/eu/calendars.yml +43 -2
- data/resources/locales/eu/currencies.yml +378 -0
- data/resources/locales/eu/languages.yml +29 -13
- data/resources/locales/eu/numbers.yml +17 -4
- data/resources/locales/eu/units.yml +22 -43
- data/resources/locales/fa/calendars.yml +57 -0
- data/resources/locales/fa/currencies.yml +449 -0
- data/resources/locales/fa/languages.yml +8 -3
- data/resources/locales/fa/numbers.yml +20 -7
- data/resources/locales/fa/units.yml +0 -42
- data/resources/locales/fi/calendars.yml +49 -1
- data/resources/locales/fi/currencies.yml +903 -0
- data/resources/locales/fi/languages.yml +58 -2
- data/resources/locales/fi/numbers.yml +25 -12
- data/resources/locales/fi/units.yml +0 -28
- data/resources/locales/fil/calendars.yml +51 -0
- data/resources/locales/fil/currencies.yml +357 -0
- data/resources/locales/fil/languages.yml +25 -8
- data/resources/locales/fil/numbers.yml +18 -5
- data/resources/locales/fil/units.yml +14 -28
- data/resources/locales/fr/calendars.yml +114 -12
- data/resources/locales/fr/currencies.yml +884 -0
- data/resources/locales/fr/languages.yml +43 -9
- data/resources/locales/fr/numbers.yml +22 -9
- data/resources/locales/fr/units.yml +2 -30
- data/resources/locales/ga/calendars.yml +187 -0
- data/resources/locales/ga/currencies.yml +513 -0
- data/resources/locales/ga/languages.yml +147 -0
- data/resources/locales/ga/layout.yml +4 -0
- data/resources/locales/ga/lists.yml +7 -0
- data/resources/locales/ga/numbers.yml +43 -0
- data/resources/locales/ga/plurals.yml +4 -0
- data/resources/locales/ga/units.yml +66 -0
- data/resources/locales/gl/calendars.yml +216 -0
- data/resources/locales/gl/currencies.yml +476 -0
- data/resources/locales/gl/languages.yml +213 -0
- data/resources/locales/gl/layout.yml +4 -0
- data/resources/locales/gl/lists.yml +7 -0
- data/resources/locales/gl/numbers.yml +57 -0
- data/resources/locales/gl/plurals.yml +3 -0
- data/resources/locales/gl/units.yml +108 -0
- data/resources/locales/he/calendars.yml +70 -18
- data/resources/locales/he/currencies.yml +497 -0
- data/resources/locales/he/languages.yml +301 -7
- data/resources/locales/he/lists.yml +2 -2
- data/resources/locales/he/numbers.yml +23 -8
- data/resources/locales/he/plurals.yml +3 -2
- data/resources/locales/he/units.yml +72 -30
- data/resources/locales/hi/calendars.yml +54 -1
- data/resources/locales/hi/currencies.yml +388 -0
- data/resources/locales/hi/languages.yml +2 -0
- data/resources/locales/hi/numbers.yml +21 -8
- data/resources/locales/hi/units.yml +15 -29
- data/resources/locales/hu/calendars.yml +52 -5
- data/resources/locales/hu/currencies.yml +640 -0
- data/resources/locales/hu/languages.yml +60 -4
- data/resources/locales/hu/numbers.yml +25 -12
- data/resources/locales/hu/units.yml +1 -29
- data/resources/locales/id/calendars.yml +125 -21
- data/resources/locales/id/currencies.yml +603 -0
- data/resources/locales/id/languages.yml +113 -51
- data/resources/locales/id/numbers.yml +16 -3
- data/resources/locales/id/units.yml +0 -28
- data/resources/locales/it/calendars.yml +59 -6
- data/resources/locales/it/currencies.yml +722 -0
- data/resources/locales/it/languages.yml +77 -5
- data/resources/locales/it/numbers.yml +22 -9
- data/resources/locales/it/units.yml +0 -14
- data/resources/locales/ja/calendars.yml +55 -5
- data/resources/locales/ja/currencies.yml +602 -0
- data/resources/locales/ja/languages.yml +103 -43
- data/resources/locales/ja/numbers.yml +18 -5
- data/resources/locales/ja/units.yml +6 -34
- data/resources/locales/ko/calendars.yml +50 -0
- data/resources/locales/ko/currencies.yml +596 -0
- data/resources/locales/ko/languages.yml +75 -8
- data/resources/locales/ko/numbers.yml +17 -4
- data/resources/locales/ko/units.yml +0 -28
- data/resources/locales/lv/calendars.yml +275 -0
- data/resources/locales/lv/currencies.yml +765 -0
- data/resources/locales/lv/languages.yml +576 -0
- data/resources/locales/lv/layout.yml +4 -0
- data/resources/locales/lv/lists.yml +7 -0
- data/resources/locales/lv/numbers.yml +58 -0
- data/resources/locales/lv/plurals.yml +4 -0
- data/resources/locales/lv/units.yml +136 -0
- data/resources/locales/ms/calendars.yml +86 -4
- data/resources/locales/ms/currencies.yml +341 -0
- data/resources/locales/ms/languages.yml +25 -3
- data/resources/locales/ms/numbers.yml +19 -6
- data/resources/locales/ms/units.yml +0 -56
- data/resources/locales/nb/calendars.yml +48 -1
- data/resources/locales/nb/currencies.yml +846 -0
- data/resources/locales/nb/languages.yml +44 -2
- data/resources/locales/nb/numbers.yml +16 -3
- data/resources/locales/nb/units.yml +6 -28
- data/resources/locales/nl/calendars.yml +110 -9
- data/resources/locales/nl/currencies.yml +640 -0
- data/resources/locales/nl/languages.yml +68 -8
- data/resources/locales/nl/numbers.yml +25 -12
- data/resources/locales/nl/units.yml +14 -28
- data/resources/locales/pl/calendars.yml +53 -6
- data/resources/locales/pl/currencies.yml +1100 -0
- data/resources/locales/pl/languages.yml +13 -6
- data/resources/locales/pl/lists.yml +2 -2
- data/resources/locales/pl/numbers.yml +18 -5
- data/resources/locales/pl/units.yml +51 -92
- data/resources/locales/pt/calendars.yml +121 -9
- data/resources/locales/pt/currencies.yml +904 -0
- data/resources/locales/pt/languages.yml +5 -3
- data/resources/locales/pt/numbers.yml +17 -4
- data/resources/locales/pt/units.yml +0 -28
- data/resources/locales/ro/calendars.yml +278 -0
- data/resources/locales/ro/currencies.yml +946 -0
- data/resources/locales/ro/languages.yml +576 -0
- data/resources/locales/ro/layout.yml +4 -0
- data/resources/locales/ro/lists.yml +7 -0
- data/resources/locales/ro/numbers.yml +58 -0
- data/resources/locales/ro/plurals.yml +3 -0
- data/resources/locales/ro/units.yml +136 -0
- data/resources/locales/ru/calendars.yml +72 -12
- data/resources/locales/ru/currencies.yml +1061 -0
- data/resources/locales/ru/languages.yml +51 -6
- data/resources/locales/ru/numbers.yml +21 -5
- data/resources/locales/ru/units.yml +0 -28
- data/resources/locales/sk/calendars.yml +275 -0
- data/resources/locales/sk/currencies.yml +713 -0
- data/resources/locales/sk/languages.yml +576 -0
- data/resources/locales/sk/layout.yml +4 -0
- data/resources/locales/sk/lists.yml +7 -0
- data/resources/locales/sk/numbers.yml +58 -0
- data/resources/locales/sk/plurals.yml +3 -0
- data/resources/locales/sk/units.yml +136 -0
- data/resources/locales/sq/calendars.yml +188 -0
- data/resources/locales/sq/currencies.yml +56 -0
- data/resources/locales/sq/languages.yml +17 -0
- data/resources/locales/sq/layout.yml +4 -0
- data/resources/locales/sq/lists.yml +7 -0
- data/resources/locales/sq/numbers.yml +43 -0
- data/resources/locales/sq/plurals.yml +3 -0
- data/resources/locales/sq/units.yml +73 -0
- data/resources/locales/sr/calendars.yml +285 -0
- data/resources/locales/sr/currencies.yml +1494 -0
- data/resources/locales/sr/languages.yml +513 -0
- data/resources/locales/sr/layout.yml +4 -0
- data/resources/locales/sr/lists.yml +7 -0
- data/resources/locales/sr/numbers.yml +59 -0
- data/resources/locales/sr/plurals.yml +5 -0
- data/resources/locales/sr/units.yml +164 -0
- data/resources/locales/sv/calendars.yml +59 -1
- data/resources/locales/sv/currencies.yml +919 -0
- data/resources/locales/sv/languages.yml +47 -2
- data/resources/locales/sv/numbers.yml +27 -12
- data/resources/locales/sv/units.yml +4 -32
- data/resources/locales/ta/calendars.yml +264 -0
- data/resources/locales/ta/currencies.yml +346 -0
- data/resources/locales/ta/languages.yml +512 -0
- data/resources/locales/ta/layout.yml +4 -0
- data/resources/locales/ta/lists.yml +7 -0
- data/resources/locales/ta/numbers.yml +57 -0
- data/resources/locales/ta/plurals.yml +3 -0
- data/resources/locales/ta/units.yml +108 -0
- data/resources/locales/th/calendars.yml +125 -27
- data/resources/locales/th/currencies.yml +602 -0
- data/resources/locales/th/languages.yml +70 -5
- data/resources/locales/th/numbers.yml +24 -11
- data/resources/locales/th/units.yml +0 -28
- data/resources/locales/tr/calendars.yml +62 -12
- data/resources/locales/tr/currencies.yml +571 -0
- data/resources/locales/tr/languages.yml +94 -29
- data/resources/locales/tr/numbers.yml +19 -6
- data/resources/locales/tr/units.yml +1 -29
- data/resources/locales/uk/calendars.yml +52 -0
- data/resources/locales/uk/currencies.yml +799 -0
- data/resources/locales/uk/languages.yml +57 -2
- data/resources/locales/uk/numbers.yml +18 -5
- data/resources/locales/uk/units.yml +0 -28
- data/resources/locales/ur/calendars.yml +96 -32
- data/resources/locales/ur/currencies.yml +360 -0
- data/resources/locales/ur/languages.yml +49 -32
- data/resources/locales/ur/numbers.yml +13 -13
- data/resources/locales/ur/units.yml +28 -56
- data/resources/locales/zh-Hant/calendars.yml +59 -1
- data/resources/locales/zh-Hant/currencies.yml +602 -0
- data/resources/locales/zh-Hant/languages.yml +74 -8
- data/resources/locales/zh-Hant/numbers.yml +17 -4
- data/resources/locales/zh-Hant/units.yml +0 -28
- data/resources/locales/zh/calendars.yml +95 -35
- data/resources/locales/zh/currencies.yml +602 -0
- data/resources/locales/zh/languages.yml +116 -46
- data/resources/locales/zh/numbers.yml +20 -7
- data/resources/locales/zh/units.yml +6 -34
- data/resources/shared/currency_digits_and_rounding.yml +187 -0
- data/spec/bidi/bidi_spec.rb +1 -1
- data/spec/collation/tailoring_spec.rb +29 -25
- data/spec/formatters/calendars/datetime_formatter_spec.rb +50 -2
- data/spec/formatters/calendars/timespan_formatter_spec.rb +52 -8
- data/spec/formatters/numbers/abbreviated/abbreviated_number_formatter_spec.rb +81 -0
- data/spec/formatters/numbers/abbreviated/long_decimal_formatter_spec.rb +37 -0
- data/spec/formatters/numbers/abbreviated/short_decimal_formatter_spec.rb +37 -0
- data/spec/formatters/numbers/currency_formatter_spec.rb +10 -1
- data/spec/localized/localized_date_spec.rb +11 -11
- data/spec/localized/localized_datetime_spec.rb +27 -3
- data/spec/localized/localized_number_spec.rb +34 -6
- data/spec/localized/localized_time_spec.rb +1 -1
- data/spec/readme_spec.rb +24 -3
- data/spec/shared/currencies_spec.rb +7 -9
- data/spec/spec_helper.rb +7 -0
- data/spec/tokenizers/base_spec.rb +71 -21
- data/spec/tokenizers/calendars/additional_date_format_selector_spec.rb +131 -0
- data/spec/tokenizers/calendars/datetime_tokenizer_spec.rb +54 -27
- data/spec/tokenizers/calendars/time_tokenizer_spec.rb +16 -16
- data/spec/tokenizers/numbers/number_tokenizer_spec.rb +9 -21
- data/spec/utils/yaml/yaml_spec.rb +21 -16
- data/spec/utils_spec.rb +6 -2
- metadata +218 -37
@@ -4,25 +4,38 @@
|
|
4
4
|
:formats:
|
5
5
|
:currency:
|
6
6
|
:patterns:
|
7
|
-
:default: ¤#,##0.00
|
7
|
+
:default: ¤#,##0.00;(¤#,##0.00)
|
8
8
|
:unit:
|
9
|
-
:other: ! '{0}
|
9
|
+
:other: ! '{0}{1}'
|
10
10
|
:decimal:
|
11
11
|
:patterns:
|
12
12
|
:default: ! '#,##0.###'
|
13
|
+
:long:
|
14
|
+
1000: 0
|
15
|
+
10000: 0万
|
16
|
+
100000: 00万
|
17
|
+
1000000: 000万
|
18
|
+
10000000: 0000万
|
19
|
+
100000000: 0亿
|
20
|
+
1000000000: 00亿
|
21
|
+
10000000000: 000亿
|
22
|
+
100000000000: 0000亿
|
23
|
+
1000000000000: 0万亿
|
24
|
+
10000000000000: 00万亿
|
25
|
+
100000000000000: 000万亿
|
13
26
|
:short:
|
14
27
|
1000: 0
|
15
|
-
10000: 0
|
28
|
+
10000: 0万
|
16
29
|
100000: 00万
|
17
30
|
1000000: 000万
|
18
31
|
10000000: 0000万
|
19
|
-
100000000: 0
|
32
|
+
100000000: 0亿
|
20
33
|
1000000000: 00亿
|
21
34
|
10000000000: 000亿
|
22
35
|
100000000000: 0000亿
|
23
|
-
1000000000000: 0
|
24
|
-
10000000000000: 00
|
25
|
-
100000000000000: 000
|
36
|
+
1000000000000: 0万亿
|
37
|
+
10000000000000: 00万亿
|
38
|
+
100000000000000: 000万亿
|
26
39
|
:percent:
|
27
40
|
:patterns:
|
28
41
|
:default: ! '#,##0%'
|
@@ -3,18 +3,14 @@
|
|
3
3
|
:units:
|
4
4
|
:day:
|
5
5
|
:default:
|
6
|
-
:other: ! '{0}
|
6
|
+
:other: ! '{0}天'
|
7
7
|
:short:
|
8
|
-
:other: ! '{0}
|
8
|
+
:other: ! '{0}天'
|
9
9
|
:day-future:
|
10
10
|
:default:
|
11
|
-
0: 0天后
|
12
|
-
1: 1天后
|
13
11
|
:other: ! '{0}天后'
|
14
12
|
:day-past:
|
15
13
|
:default:
|
16
|
-
0: 0天前
|
17
|
-
1: 1天前
|
18
14
|
:other: ! '{0}天前'
|
19
15
|
:hour:
|
20
16
|
:default:
|
@@ -23,58 +19,42 @@
|
|
23
19
|
:other: ! '{0}小时'
|
24
20
|
:hour-future:
|
25
21
|
:default:
|
26
|
-
0: 0小时后
|
27
|
-
1: 1小时后
|
28
22
|
:other: ! '{0}小时后'
|
29
23
|
:hour-past:
|
30
24
|
:default:
|
31
|
-
0: 0小时前
|
32
|
-
1: 1小时前
|
33
25
|
:other: ! '{0}小时前'
|
34
26
|
:minute:
|
35
27
|
:default:
|
36
|
-
:other: ! '{0}
|
28
|
+
:other: ! '{0}分钟'
|
37
29
|
:short:
|
38
30
|
:other: ! '{0}分'
|
39
31
|
:minute-future:
|
40
32
|
:default:
|
41
|
-
0: 0分钟后
|
42
|
-
1: 1分钟后
|
43
33
|
:other: ! '{0}分钟后'
|
44
34
|
:minute-past:
|
45
35
|
:default:
|
46
|
-
0: 0分钟前
|
47
|
-
1: 1分钟前
|
48
36
|
:other: ! '{0}分钟前'
|
49
37
|
:month:
|
50
38
|
:default:
|
51
|
-
:other: ! '{0}
|
39
|
+
:other: ! '{0}个月'
|
52
40
|
:short:
|
53
|
-
:other: ! '{0}
|
41
|
+
:other: ! '{0}个月'
|
54
42
|
:month-future:
|
55
43
|
:default:
|
56
|
-
0: 0个月后
|
57
|
-
1: 1个月后
|
58
44
|
:other: ! '{0}个月后'
|
59
45
|
:month-past:
|
60
46
|
:default:
|
61
|
-
0: 0个月前
|
62
|
-
1: 1个月前
|
63
47
|
:other: ! '{0}个月前'
|
64
48
|
:second:
|
65
49
|
:default:
|
66
|
-
:other: ! '{0}
|
50
|
+
:other: ! '{0}秒钟'
|
67
51
|
:short:
|
68
52
|
:other: ! '{0}秒'
|
69
53
|
:second-future:
|
70
54
|
:default:
|
71
|
-
0: 0秒钟后
|
72
|
-
1: 1秒钟后
|
73
55
|
:other: ! '{0}秒钟后'
|
74
56
|
:second-past:
|
75
57
|
:default:
|
76
|
-
0: 0秒钟前
|
77
|
-
1: 1秒钟前
|
78
58
|
:other: ! '{0}秒钟前'
|
79
59
|
:week:
|
80
60
|
:default:
|
@@ -83,13 +63,9 @@
|
|
83
63
|
:other: ! '{0}周'
|
84
64
|
:week-future:
|
85
65
|
:default:
|
86
|
-
0: 0周后
|
87
|
-
1: 1周后
|
88
66
|
:other: ! '{0}周后'
|
89
67
|
:week-past:
|
90
68
|
:default:
|
91
|
-
0: 0周前
|
92
|
-
1: 1周前
|
93
69
|
:other: ! '{0}周前'
|
94
70
|
:year:
|
95
71
|
:default:
|
@@ -98,11 +74,7 @@
|
|
98
74
|
:other: ! '{0}年'
|
99
75
|
:year-future:
|
100
76
|
:default:
|
101
|
-
0: 0年后
|
102
|
-
1: 1年后
|
103
77
|
:other: ! '{0}年后'
|
104
78
|
:year-past:
|
105
79
|
:default:
|
106
|
-
0: 0年前
|
107
|
-
1: 1年前
|
108
80
|
:other: ! '{0}年前'
|
@@ -0,0 +1,187 @@
|
|
1
|
+
---
|
2
|
+
:ADP:
|
3
|
+
:digits: 0
|
4
|
+
:rounding: 0
|
5
|
+
:AFN:
|
6
|
+
:digits: 0
|
7
|
+
:rounding: 0
|
8
|
+
:ALL:
|
9
|
+
:digits: 0
|
10
|
+
:rounding: 0
|
11
|
+
:AMD:
|
12
|
+
:digits: 0
|
13
|
+
:rounding: 0
|
14
|
+
:BHD:
|
15
|
+
:digits: 3
|
16
|
+
:rounding: 0
|
17
|
+
:BIF:
|
18
|
+
:digits: 0
|
19
|
+
:rounding: 0
|
20
|
+
:BYR:
|
21
|
+
:digits: 0
|
22
|
+
:rounding: 0
|
23
|
+
:CHF:
|
24
|
+
:digits: 2
|
25
|
+
:rounding: 5
|
26
|
+
:CLF:
|
27
|
+
:digits: 0
|
28
|
+
:rounding: 0
|
29
|
+
:CLP:
|
30
|
+
:digits: 0
|
31
|
+
:rounding: 0
|
32
|
+
:COP:
|
33
|
+
:digits: 0
|
34
|
+
:rounding: 0
|
35
|
+
:CRC:
|
36
|
+
:digits: 0
|
37
|
+
:rounding: 0
|
38
|
+
:DEFAULT:
|
39
|
+
:digits: 2
|
40
|
+
:rounding: 0
|
41
|
+
:DJF:
|
42
|
+
:digits: 0
|
43
|
+
:rounding: 0
|
44
|
+
:ESP:
|
45
|
+
:digits: 0
|
46
|
+
:rounding: 0
|
47
|
+
:GNF:
|
48
|
+
:digits: 0
|
49
|
+
:rounding: 0
|
50
|
+
:GYD:
|
51
|
+
:digits: 0
|
52
|
+
:rounding: 0
|
53
|
+
:HUF:
|
54
|
+
:digits: 0
|
55
|
+
:rounding: 0
|
56
|
+
:IDR:
|
57
|
+
:digits: 0
|
58
|
+
:rounding: 0
|
59
|
+
:IQD:
|
60
|
+
:digits: 0
|
61
|
+
:rounding: 0
|
62
|
+
:IRR:
|
63
|
+
:digits: 0
|
64
|
+
:rounding: 0
|
65
|
+
:ISK:
|
66
|
+
:digits: 0
|
67
|
+
:rounding: 0
|
68
|
+
:ITL:
|
69
|
+
:digits: 0
|
70
|
+
:rounding: 0
|
71
|
+
:JOD:
|
72
|
+
:digits: 3
|
73
|
+
:rounding: 0
|
74
|
+
:JPY:
|
75
|
+
:digits: 0
|
76
|
+
:rounding: 0
|
77
|
+
:KMF:
|
78
|
+
:digits: 0
|
79
|
+
:rounding: 0
|
80
|
+
:KPW:
|
81
|
+
:digits: 0
|
82
|
+
:rounding: 0
|
83
|
+
:KRW:
|
84
|
+
:digits: 0
|
85
|
+
:rounding: 0
|
86
|
+
:KWD:
|
87
|
+
:digits: 3
|
88
|
+
:rounding: 0
|
89
|
+
:LAK:
|
90
|
+
:digits: 0
|
91
|
+
:rounding: 0
|
92
|
+
:LBP:
|
93
|
+
:digits: 0
|
94
|
+
:rounding: 0
|
95
|
+
:LUF:
|
96
|
+
:digits: 0
|
97
|
+
:rounding: 0
|
98
|
+
:LYD:
|
99
|
+
:digits: 3
|
100
|
+
:rounding: 0
|
101
|
+
:MGA:
|
102
|
+
:digits: 0
|
103
|
+
:rounding: 0
|
104
|
+
:MGF:
|
105
|
+
:digits: 0
|
106
|
+
:rounding: 0
|
107
|
+
:MMK:
|
108
|
+
:digits: 0
|
109
|
+
:rounding: 0
|
110
|
+
:MNT:
|
111
|
+
:digits: 0
|
112
|
+
:rounding: 0
|
113
|
+
:MRO:
|
114
|
+
:digits: 0
|
115
|
+
:rounding: 0
|
116
|
+
:MUR:
|
117
|
+
:digits: 0
|
118
|
+
:rounding: 0
|
119
|
+
:OMR:
|
120
|
+
:digits: 3
|
121
|
+
:rounding: 0
|
122
|
+
:PKR:
|
123
|
+
:digits: 0
|
124
|
+
:rounding: 0
|
125
|
+
:PYG:
|
126
|
+
:digits: 0
|
127
|
+
:rounding: 0
|
128
|
+
:RSD:
|
129
|
+
:digits: 0
|
130
|
+
:rounding: 0
|
131
|
+
:RWF:
|
132
|
+
:digits: 0
|
133
|
+
:rounding: 0
|
134
|
+
:SLL:
|
135
|
+
:digits: 0
|
136
|
+
:rounding: 0
|
137
|
+
:SOS:
|
138
|
+
:digits: 0
|
139
|
+
:rounding: 0
|
140
|
+
:STD:
|
141
|
+
:digits: 0
|
142
|
+
:rounding: 0
|
143
|
+
:SYP:
|
144
|
+
:digits: 0
|
145
|
+
:rounding: 0
|
146
|
+
:TMM:
|
147
|
+
:digits: 0
|
148
|
+
:rounding: 0
|
149
|
+
:TND:
|
150
|
+
:digits: 3
|
151
|
+
:rounding: 0
|
152
|
+
:TRL:
|
153
|
+
:digits: 0
|
154
|
+
:rounding: 0
|
155
|
+
:TZS:
|
156
|
+
:digits: 0
|
157
|
+
:rounding: 0
|
158
|
+
:UGX:
|
159
|
+
:digits: 0
|
160
|
+
:rounding: 0
|
161
|
+
:UZS:
|
162
|
+
:digits: 0
|
163
|
+
:rounding: 0
|
164
|
+
:VND:
|
165
|
+
:digits: 0
|
166
|
+
:rounding: 0
|
167
|
+
:VUV:
|
168
|
+
:digits: 0
|
169
|
+
:rounding: 0
|
170
|
+
:XAF:
|
171
|
+
:digits: 0
|
172
|
+
:rounding: 0
|
173
|
+
:XOF:
|
174
|
+
:digits: 0
|
175
|
+
:rounding: 0
|
176
|
+
:XPF:
|
177
|
+
:digits: 0
|
178
|
+
:rounding: 0
|
179
|
+
:YER:
|
180
|
+
:digits: 0
|
181
|
+
:rounding: 0
|
182
|
+
:ZMK:
|
183
|
+
:digits: 0
|
184
|
+
:rounding: 0
|
185
|
+
:ZWD:
|
186
|
+
:digits: 0
|
187
|
+
:rounding: 0
|
data/spec/bidi/bidi_spec.rb
CHANGED
@@ -20,7 +20,7 @@ def expand_bitset_str(bitset)
|
|
20
20
|
end
|
21
21
|
|
22
22
|
describe Bidi do
|
23
|
-
it "should pass the derived tests in classpath_bidi_test.txt" do
|
23
|
+
it "should pass the derived tests in classpath_bidi_test.txt", :slow => true do
|
24
24
|
expected_level_data = []
|
25
25
|
expected_reorder_data = []
|
26
26
|
num_failed = 0
|
@@ -14,40 +14,44 @@ describe 'Unicode collation tailoring' do
|
|
14
14
|
#
|
15
15
|
it 'passes tailoring test for each supported locale', :slow => true do
|
16
16
|
TwitterCldr.supported_locales.each do |locale|
|
17
|
-
|
17
|
+
tailor_file = File.join(File.dirname(__FILE__), 'tailoring_tests', "#{locale}.txt")
|
18
18
|
|
19
|
-
|
19
|
+
if File.exist?(tailor_file)
|
20
|
+
collator = Collator.new(locale)
|
20
21
|
|
21
|
-
|
22
|
-
file.lines.map(&:strip)
|
23
|
-
end
|
22
|
+
print "#{locale}\t-\t"
|
24
23
|
|
25
|
-
|
26
|
-
|
27
|
-
|
24
|
+
lines = File.open(File.join(File.dirname(__FILE__), 'tailoring_tests', "#{locale}.txt")) do |file|
|
25
|
+
file.lines.map(&:strip)
|
26
|
+
end
|
28
27
|
|
29
|
-
|
28
|
+
active_tests = lines.count(&method(:tailoring_test?))
|
29
|
+
pending_tests = lines.count(&method(:pending_tailoring_test?))
|
30
|
+
print "tests: %-4d active, %5.1f%% %5s pending\t-\t" % [active_tests, (100.0 * pending_tests / (pending_tests + active_tests)), "(#{pending_tests})"]
|
30
31
|
|
31
|
-
|
32
|
-
if tailoring_test?(current)
|
33
|
-
memo << [last_number + 1, last, current] if tailoring_test?(last) && collator.compare(last, current) == 1
|
32
|
+
last_number = last = nil
|
34
33
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
last_number = last = nil
|
39
|
-
end
|
34
|
+
failures = lines.each_with_index.inject([]) do |memo, (current, number)|
|
35
|
+
if tailoring_test?(current)
|
36
|
+
memo << [last_number + 1, last, current] if tailoring_test?(last) && collator.compare(last, current) == 1
|
40
37
|
|
41
|
-
|
42
|
-
|
38
|
+
last = current
|
39
|
+
last_number = number
|
40
|
+
elsif pending_tailoring_test?(current)
|
41
|
+
last_number = last = nil
|
42
|
+
end
|
43
43
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
44
|
+
memo
|
45
|
+
end
|
46
|
+
|
47
|
+
if failures.empty?
|
48
|
+
puts "OK"
|
49
|
+
else
|
50
|
+
failures_info = "#{failures.size} failures: #{failures.inspect}"
|
48
51
|
|
49
|
-
|
50
|
-
|
52
|
+
puts failures_info
|
53
|
+
failures.should(be_empty, "#{locale} - #{failures_info}")
|
54
|
+
end
|
51
55
|
end
|
52
56
|
end
|
53
57
|
end
|
@@ -194,8 +194,8 @@ describe DateTimeFormatter do
|
|
194
194
|
end
|
195
195
|
|
196
196
|
it "test: pattern MMM" do
|
197
|
-
@formatter.send(:month, Date.new(2010, 1, 1), 'MMM', 3).should == 'Jan'
|
198
|
-
@formatter.send(:month, Date.new(2010, 10, 1), 'MMM', 3).should == 'Okt'
|
197
|
+
@formatter.send(:month, Date.new(2010, 1, 1), 'MMM', 3).should == 'Jan.'
|
198
|
+
@formatter.send(:month, Date.new(2010, 10, 1), 'MMM', 3).should == 'Okt.'
|
199
199
|
end
|
200
200
|
|
201
201
|
it "test: pattern MMMM" do
|
@@ -416,5 +416,53 @@ describe DateTimeFormatter do
|
|
416
416
|
@formatter.send(:era, Date.new(2012, 1, 1), 'GGGG', 4).should == "Anno Domini"
|
417
417
|
@formatter.send(:era, Date.new(-1, 1, 1), 'GGGG', 4).should == "Before Christ"
|
418
418
|
end
|
419
|
+
|
420
|
+
it "should fall back if the calendar doesn't contain the appropriate era data" do
|
421
|
+
stub(@formatter.tokenizer).calendar do
|
422
|
+
{
|
423
|
+
:eras => {
|
424
|
+
:abbr => {
|
425
|
+
0 => "abbr0",
|
426
|
+
1 => "abbr1"
|
427
|
+
},
|
428
|
+
:name => {
|
429
|
+
0 => "name0"
|
430
|
+
}
|
431
|
+
}
|
432
|
+
}
|
433
|
+
end
|
434
|
+
|
435
|
+
date = Date.new(2012, 1, 1)
|
436
|
+
mock.proxy(@formatter).era(date, "GGGG", 4) # first attempts to find full name era
|
437
|
+
mock.proxy(@formatter).era(date, "GGG", 3) # falls back to abbreviated era
|
438
|
+
@formatter.send(:era, date, 'GGGG', 4).should == "abbr1"
|
439
|
+
end
|
440
|
+
end
|
441
|
+
|
442
|
+
describe "#month_stand_alone" do
|
443
|
+
it "pattern L" do
|
444
|
+
@formatter.send(:month_stand_alone, Date.new(2010, 1, 1), 'L', 1).should == "1"
|
445
|
+
@formatter.send(:month_stand_alone, Date.new(2010, 10, 1), 'L', 1).should == "10"
|
446
|
+
end
|
447
|
+
|
448
|
+
it "pattern LL" do
|
449
|
+
@formatter.send(:month_stand_alone, Date.new(2010, 1, 1), 'LL', 2).should == "01"
|
450
|
+
@formatter.send(:month_stand_alone, Date.new(2010, 10, 1), 'LL', 2).should == "10"
|
451
|
+
end
|
452
|
+
|
453
|
+
it "pattern LLL" do
|
454
|
+
@formatter.send(:month_stand_alone, Date.new(2010, 1, 1), 'LLL', 3).should == "Jan"
|
455
|
+
@formatter.send(:month_stand_alone, Date.new(2010, 10, 1), 'LLL', 3).should == "Okt"
|
456
|
+
end
|
457
|
+
|
458
|
+
it "pattern LLLL" do
|
459
|
+
@formatter.send(:month_stand_alone, Date.new(2010, 1, 1), 'LLLL', 4).should == "Januar"
|
460
|
+
@formatter.send(:month_stand_alone, Date.new(2010, 10, 1), 'LLLL', 4).should == "Oktober"
|
461
|
+
end
|
462
|
+
|
463
|
+
it "pattern LLLLL" do
|
464
|
+
@formatter.send(:month_stand_alone, Date.new(2010, 1, 1), 'LLLLL', 5).should == "J"
|
465
|
+
@formatter.send(:month_stand_alone, Date.new(2010, 10, 1), 'LLLLL', 5).should == "O"
|
466
|
+
end
|
419
467
|
end
|
420
468
|
end
|