twitter_cldr 4.0.0 → 4.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +3 -2
- data/README.md +18 -2
- data/Rakefile +39 -122
- data/lib/twitter_cldr.rb +3 -0
- data/lib/twitter_cldr/formatters/numbers/rbnf.rb +5 -1
- data/lib/twitter_cldr/resources.rb +86 -5
- data/lib/twitter_cldr/resources/bidi_test_importer.rb +50 -44
- data/lib/twitter_cldr/resources/casefolder_class_generator.rb +22 -13
- data/lib/twitter_cldr/resources/collation_tries_importer.rb +44 -0
- data/lib/twitter_cldr/resources/hyphenation_importer.rb +16 -42
- data/lib/twitter_cldr/resources/import_resolver.rb +71 -0
- data/lib/twitter_cldr/resources/importer.rb +107 -0
- data/lib/twitter_cldr/resources/language_codes_importer.rb +35 -38
- data/lib/twitter_cldr/resources/loader.rb +3 -3
- data/lib/twitter_cldr/resources/locales_resources_importer.rb +48 -35
- data/lib/twitter_cldr/resources/phone_codes_importer.rb +24 -23
- data/lib/twitter_cldr/resources/postal_codes_importer.rb +10 -11
- data/lib/twitter_cldr/resources/properties.rb +0 -4
- data/lib/twitter_cldr/resources/properties/age_property_importer.rb +13 -9
- data/lib/twitter_cldr/resources/properties/arabic_shaping_property_importer.rb +9 -11
- data/lib/twitter_cldr/resources/properties/bidi_brackets_property_importer.rb +11 -9
- data/lib/twitter_cldr/resources/properties/blocks_property_importer.rb +13 -9
- data/lib/twitter_cldr/resources/properties/derived_core_properties_importer.rb +9 -11
- data/lib/twitter_cldr/resources/properties/east_asian_width_property_importer.rb +13 -9
- data/lib/twitter_cldr/resources/properties/grapheme_break_property_importer.rb +13 -9
- data/lib/twitter_cldr/resources/properties/hangul_syllable_type_property_importer.rb +13 -9
- data/lib/twitter_cldr/resources/properties/indic_positional_category_property_importer.rb +13 -9
- data/lib/twitter_cldr/resources/properties/indic_syllabic_category_property_importer.rb +13 -9
- data/lib/twitter_cldr/resources/properties/jamo_property_importer.rb +13 -9
- data/lib/twitter_cldr/resources/properties/line_break_property_importer.rb +13 -9
- data/lib/twitter_cldr/resources/properties/prop_list_importer.rb +9 -11
- data/lib/twitter_cldr/resources/properties/property_importer.rb +13 -22
- data/lib/twitter_cldr/resources/properties/script_extensions_property_importer.rb +12 -10
- data/lib/twitter_cldr/resources/properties/script_property_importer.rb +13 -9
- data/lib/twitter_cldr/resources/properties/sentence_break_property_importer.rb +13 -9
- data/lib/twitter_cldr/resources/properties/unicode_data_properties_importer.rb +11 -9
- data/lib/twitter_cldr/resources/properties/word_break_property_importer.rb +13 -9
- data/lib/twitter_cldr/resources/rbnf_test_importer.rb +41 -38
- data/lib/twitter_cldr/resources/readme_renderer.rb +1 -2
- data/lib/twitter_cldr/resources/requirements.rb +18 -0
- data/lib/twitter_cldr/resources/requirements/cldr_requirement.rb +66 -0
- data/lib/twitter_cldr/resources/requirements/dependency_requirement.rb +23 -0
- data/lib/twitter_cldr/resources/requirements/git_requirement.rb +66 -0
- data/lib/twitter_cldr/resources/requirements/icu_requirement.rb +111 -0
- data/lib/twitter_cldr/resources/requirements/unicode_requirement.rb +51 -0
- data/lib/twitter_cldr/resources/segment_tests_importer.rb +15 -30
- data/lib/twitter_cldr/resources/tailoring_importer.rb +33 -26
- data/lib/twitter_cldr/resources/transform_test_importer.rb +15 -17
- data/lib/twitter_cldr/resources/uli/segment_exceptions_importer.rb +29 -17
- data/lib/twitter_cldr/resources/unicode_data_importer.rb +38 -31
- data/lib/twitter_cldr/resources/unicode_file_parser.rb +37 -0
- data/lib/twitter_cldr/resources/unicode_property_aliases_importer.rb +23 -27
- data/lib/twitter_cldr/shared/casefolder.rb +139 -115
- data/lib/twitter_cldr/version.rb +1 -1
- data/lib/twitter_cldr/versions.rb +0 -4
- data/resources/collation/tailoring/bo.yml +4 -0
- data/resources/collation/tries/bo.dump +0 -0
- data/resources/locales/bo/calendars.yml +247 -0
- data/resources/locales/bo/currencies.yml +208 -0
- data/resources/locales/bo/fields.yml +31 -0
- data/resources/locales/bo/languages.yml +24 -0
- data/resources/locales/bo/layout.yml +5 -0
- data/resources/locales/bo/lists.yml +12 -0
- data/resources/locales/bo/numbers.yml +111 -0
- data/resources/locales/bo/plural_rules.yml +6 -0
- data/resources/locales/bo/plurals.yml +12 -0
- data/resources/locales/bo/territories.yml +14 -0
- data/resources/locales/bo/units.yml +283 -0
- data/resources/shared/transforms/Arab-Latn.yml +109 -0
- data/resources/shared/transforms/Beng-Deva.yml +13 -0
- data/resources/shared/transforms/Beng-Gujr.yml +13 -0
- data/resources/shared/transforms/Beng-Guru.yml +13 -0
- data/resources/shared/transforms/Beng-Knda.yml +13 -0
- data/resources/shared/transforms/Beng-Latn.yml +13 -0
- data/resources/shared/transforms/Beng-Mlym.yml +13 -0
- data/resources/shared/transforms/Beng-Orya.yml +13 -0
- data/resources/shared/transforms/Beng-Taml.yml +13 -0
- data/resources/shared/transforms/Beng-Telu.yml +13 -0
- data/resources/shared/transforms/Cyrl-Latn.yml +128 -0
- data/resources/shared/transforms/Deva-Beng.yml +13 -0
- data/resources/shared/transforms/Deva-Gujr.yml +13 -0
- data/resources/shared/transforms/Deva-Guru.yml +13 -0
- data/resources/shared/transforms/Deva-Knda.yml +13 -0
- data/resources/shared/transforms/Deva-Latn.yml +13 -0
- data/resources/shared/transforms/Deva-Mlym.yml +13 -0
- data/resources/shared/transforms/Deva-Orya.yml +13 -0
- data/resources/shared/transforms/Deva-Taml.yml +13 -0
- data/resources/shared/transforms/Deva-Telu.yml +13 -0
- data/resources/shared/transforms/Geor-Latn.yml +43 -0
- data/resources/shared/transforms/Grek-Latn-UNGEGN.yml +160 -0
- data/resources/shared/transforms/Grek-Latn.yml +206 -0
- data/resources/shared/transforms/Gujr-Beng.yml +13 -0
- data/resources/shared/transforms/Gujr-Deva.yml +13 -0
- data/resources/shared/transforms/Gujr-Guru.yml +13 -0
- data/resources/shared/transforms/Gujr-Knda.yml +13 -0
- data/resources/shared/transforms/Gujr-Latn.yml +13 -0
- data/resources/shared/transforms/Gujr-Mlym.yml +13 -0
- data/resources/shared/transforms/Gujr-Orya.yml +13 -0
- data/resources/shared/transforms/Gujr-Taml.yml +13 -0
- data/resources/shared/transforms/Gujr-Telu.yml +13 -0
- data/resources/shared/transforms/Guru-Beng.yml +13 -0
- data/resources/shared/transforms/Guru-Deva.yml +13 -0
- data/resources/shared/transforms/Guru-Gujr.yml +13 -0
- data/resources/shared/transforms/Guru-Knda.yml +13 -0
- data/resources/shared/transforms/Guru-Latn.yml +13 -0
- data/resources/shared/transforms/Guru-Mlym.yml +13 -0
- data/resources/shared/transforms/Guru-Orya.yml +13 -0
- data/resources/shared/transforms/Guru-Taml.yml +13 -0
- data/resources/shared/transforms/Guru-Telu.yml +13 -0
- data/resources/shared/transforms/Han-Spacedhan.yml +1 -1
- data/resources/shared/transforms/Hang-Latn.yml +12 -0
- data/resources/shared/transforms/Hani-Latn.yml +1605 -0
- data/resources/shared/transforms/Hans-Hant.yml +3982 -0
- data/resources/shared/transforms/Hebr-Latn.yml +72 -0
- data/resources/shared/transforms/Hira-Kana.yml +114 -0
- data/resources/shared/transforms/Hira-Latn.yml +15 -0
- data/resources/shared/transforms/InterIndic-Latin.yml +2 -2
- data/resources/shared/transforms/Jamo-Latn.yml +12 -0
- data/resources/shared/transforms/Knda-Beng.yml +13 -0
- data/resources/shared/transforms/Knda-Deva.yml +13 -0
- data/resources/shared/transforms/Knda-Gujr.yml +13 -0
- data/resources/shared/transforms/Knda-Guru.yml +13 -0
- data/resources/shared/transforms/Knda-Latn.yml +13 -0
- data/resources/shared/transforms/Knda-Mlym.yml +13 -0
- data/resources/shared/transforms/Knda-Orya.yml +13 -0
- data/resources/shared/transforms/Knda-Taml.yml +13 -0
- data/resources/shared/transforms/Knda-Telu.yml +13 -0
- data/resources/shared/transforms/Latin-ASCII.yml +16 -1
- data/resources/shared/transforms/Latin-InterIndic.yml +2 -2
- data/resources/shared/transforms/Latn-Armn.yml +90 -0
- data/resources/shared/transforms/Latn-Beng.yml +14 -0
- data/resources/shared/transforms/Latn-Bopo.yml +1336 -0
- data/resources/shared/transforms/Latn-Cans.yml +190 -0
- data/resources/shared/transforms/Latn-Deva.yml +14 -0
- data/resources/shared/transforms/Latn-Ethi.yml +278 -0
- data/resources/shared/transforms/Latn-Gujr.yml +14 -0
- data/resources/shared/transforms/Latn-Guru.yml +14 -0
- data/resources/shared/transforms/Latn-Hang.yml +13 -0
- data/resources/shared/transforms/Latn-Jamo.yml +13 -0
- data/resources/shared/transforms/Latn-Kana.yml +274 -0
- data/resources/shared/transforms/Latn-Knda.yml +14 -0
- data/resources/shared/transforms/Latn-Mlym.yml +14 -0
- data/resources/shared/transforms/Latn-Orya.yml +14 -0
- data/resources/shared/transforms/Latn-Taml.yml +14 -0
- data/resources/shared/transforms/Latn-Telu.yml +14 -0
- data/resources/shared/transforms/Latn-Thaa.yml +439 -0
- data/resources/shared/transforms/Latn-Thai.yml +13 -0
- data/resources/shared/transforms/Mlym-Beng.yml +13 -0
- data/resources/shared/transforms/Mlym-Deva.yml +13 -0
- data/resources/shared/transforms/Mlym-Gujr.yml +13 -0
- data/resources/shared/transforms/Mlym-Guru.yml +13 -0
- data/resources/shared/transforms/Mlym-Knda.yml +13 -0
- data/resources/shared/transforms/Mlym-Latn.yml +13 -0
- data/resources/shared/transforms/Mlym-Orya.yml +13 -0
- data/resources/shared/transforms/Mlym-Taml.yml +13 -0
- data/resources/shared/transforms/Mlym-Telu.yml +13 -0
- data/resources/shared/transforms/Orya-Beng.yml +13 -0
- data/resources/shared/transforms/Orya-Deva.yml +13 -0
- data/resources/shared/transforms/Orya-Gujr.yml +13 -0
- data/resources/shared/transforms/Orya-Guru.yml +13 -0
- data/resources/shared/transforms/Orya-Knda.yml +13 -0
- data/resources/shared/transforms/Orya-Latn.yml +13 -0
- data/resources/shared/transforms/Orya-Mlym.yml +13 -0
- data/resources/shared/transforms/Orya-Taml.yml +13 -0
- data/resources/shared/transforms/Orya-Telu.yml +13 -0
- data/resources/shared/transforms/Syrc-Latn.yml +55 -0
- data/resources/shared/transforms/Taml-Beng.yml +13 -0
- data/resources/shared/transforms/Taml-Deva.yml +13 -0
- data/resources/shared/transforms/Taml-Gujr.yml +13 -0
- data/resources/shared/transforms/Taml-Guru.yml +13 -0
- data/resources/shared/transforms/Taml-Knda.yml +13 -0
- data/resources/shared/transforms/Taml-Latn.yml +13 -0
- data/resources/shared/transforms/Taml-Mlym.yml +13 -0
- data/resources/shared/transforms/Taml-Orya.yml +13 -0
- data/resources/shared/transforms/Taml-Telu.yml +13 -0
- data/resources/shared/transforms/Telu-Beng.yml +13 -0
- data/resources/shared/transforms/Telu-Deva.yml +13 -0
- data/resources/shared/transforms/Telu-Gujr.yml +13 -0
- data/resources/shared/transforms/Telu-Guru.yml +13 -0
- data/resources/shared/transforms/Telu-Knda.yml +13 -0
- data/resources/shared/transforms/Telu-Latn.yml +13 -0
- data/resources/shared/transforms/Telu-Mlym.yml +13 -0
- data/resources/shared/transforms/Telu-Orya.yml +13 -0
- data/resources/shared/transforms/Telu-Taml.yml +13 -0
- data/resources/shared/transforms/Thai-Latn.yml +15 -0
- data/resources/shared/transforms/am-am_FONIPA.yml +609 -0
- data/resources/shared/transforms/am-am_Latn-BGN.yml +336 -0
- data/resources/shared/transforms/am-ar.yml +11 -0
- data/resources/shared/transforms/am-fa.yml +10 -0
- data/resources/shared/transforms/ar-ar_Latn-BGN.yml +122 -0
- data/resources/shared/transforms/az_Cyrl-az-BGN.yml +93 -0
- data/resources/shared/transforms/be-be_Latn-BGN.yml +108 -0
- data/resources/shared/transforms/bg-bg_Latn-BGN.yml +99 -0
- data/resources/shared/transforms/ch-am.yml +10 -0
- data/resources/shared/transforms/ch-ar.yml +10 -0
- data/resources/shared/transforms/ch-ch_FONIPA.yml +0 -8
- data/resources/shared/transforms/ch-fa.yml +10 -0
- data/resources/shared/transforms/cs-am.yml +10 -0
- data/resources/shared/transforms/cs-ar.yml +10 -0
- data/resources/shared/transforms/cs-fa.yml +10 -0
- data/resources/shared/transforms/dsb-dsb_FONIPA.yml +0 -5
- data/resources/shared/transforms/dv-dv_Latn-BGN.yml +112 -0
- data/resources/shared/transforms/el-el_Latn-BGN.yml +208 -0
- data/resources/shared/transforms/eo-am.yml +10 -0
- data/resources/shared/transforms/eo-ar.yml +10 -0
- data/resources/shared/transforms/eo-eo_FONIPA.yml +52 -0
- data/resources/shared/transforms/eo-fa.yml +10 -0
- data/resources/shared/transforms/es-ar.yml +13 -0
- data/resources/shared/transforms/es-fa.yml +13 -0
- data/resources/shared/transforms/es_419-am.yml +11 -0
- data/resources/shared/transforms/es_419-ar.yml +14 -0
- data/resources/shared/transforms/es_419-fa.yml +14 -0
- data/resources/shared/transforms/fa-fa_Latn-BGN.yml +123 -0
- data/resources/shared/transforms/he-he_Latn-BGN.yml +62 -0
- data/resources/shared/transforms/hy-am.yml +10 -0
- data/resources/shared/transforms/hy-ar.yml +10 -0
- data/resources/shared/transforms/hy-fa.yml +10 -0
- data/resources/shared/transforms/hy-hy_FONIPA.yml +56 -0
- data/resources/shared/transforms/hy-hy_Latn-BGN.yml +133 -0
- data/resources/shared/transforms/hy_AREVMDA-am.yml +10 -0
- data/resources/shared/transforms/hy_AREVMDA-ar.yml +10 -0
- data/resources/shared/transforms/hy_AREVMDA-fa.yml +10 -0
- data/resources/shared/transforms/hy_AREVMDA-hy_AREVMDA_FONIPA.yml +82 -0
- data/resources/shared/transforms/ia-am.yml +10 -0
- data/resources/shared/transforms/ia-ar.yml +10 -0
- data/resources/shared/transforms/ia-fa.yml +10 -0
- data/resources/shared/transforms/ia-ia_FONIPA.yml +69 -0
- data/resources/shared/transforms/ja_Hrkt-ja_Latn-BGN.yml +310 -0
- data/resources/shared/transforms/ka-ka_Latn-BGN.yml +44 -0
- data/resources/shared/transforms/kk-am.yml +10 -0
- data/resources/shared/transforms/kk-ar.yml +10 -0
- data/resources/shared/transforms/kk-fa.yml +10 -0
- data/resources/shared/transforms/kk-kk_FONIPA.yml +53 -0
- data/resources/shared/transforms/kk-kk_Latn-BGN.yml +136 -0
- data/resources/shared/transforms/ko-ko_Latn-BGN.yml +282 -0
- data/resources/shared/transforms/ky-am.yml +10 -0
- data/resources/shared/transforms/ky-ar.yml +10 -0
- data/resources/shared/transforms/ky-fa.yml +10 -0
- data/resources/shared/transforms/ky-ky_FONIPA.yml +73 -0
- data/resources/shared/transforms/ky-ky_Latn-BGN.yml +107 -0
- data/resources/shared/transforms/la-la_FONIPA.yml +0 -8
- data/resources/shared/transforms/mk-mk_Latn-BGN.yml +89 -0
- data/resources/shared/transforms/mn-mn_Latn-BGN.yml +101 -0
- data/resources/shared/transforms/mn-mn_Latn-MNS.yml +89 -0
- data/resources/shared/transforms/my-am.yml +10 -0
- data/resources/shared/transforms/my-ar.yml +10 -0
- data/resources/shared/transforms/my-fa.yml +10 -0
- data/resources/shared/transforms/my-my_FONIPA.yml +260 -0
- data/resources/shared/transforms/pl-am.yml +10 -0
- data/resources/shared/transforms/pl-ar.yml +10 -0
- data/resources/shared/transforms/pl-fa.yml +10 -0
- data/resources/shared/transforms/ps-ps_Latn-BGN.yml +151 -0
- data/resources/shared/transforms/rm_SURSILV-am.yml +10 -0
- data/resources/shared/transforms/rm_SURSILV-ar.yml +10 -0
- data/resources/shared/transforms/rm_SURSILV-fa.yml +10 -0
- data/resources/shared/transforms/rm_SURSILV-rm_FONIPA_SURSILV.yml +84 -0
- data/resources/shared/transforms/ro-am.yml +10 -0
- data/resources/shared/transforms/ro-ar.yml +10 -0
- data/resources/shared/transforms/ro-fa.yml +10 -0
- data/resources/shared/transforms/ro-ro_FONIPA.yml +38 -6
- data/resources/shared/transforms/ro_FONIPA-ja.yml +1 -0
- data/resources/shared/transforms/ru-ru_Latn-BGN.yml +121 -0
- data/resources/shared/transforms/ru_Latn-ru-BGN.yml +101 -0
- data/resources/shared/transforms/sat-am.yml +10 -0
- data/resources/shared/transforms/sat-ar.yml +10 -0
- data/resources/shared/transforms/sat-fa.yml +10 -0
- data/resources/shared/transforms/sat_Olck-sat_FONIPA.yml +132 -0
- data/resources/shared/transforms/si-am.yml +10 -0
- data/resources/shared/transforms/si-ar.yml +10 -0
- data/resources/shared/transforms/si-fa.yml +10 -0
- data/resources/shared/transforms/si-si_FONIPA.yml +128 -0
- data/resources/shared/transforms/si-si_Latn.yml +96 -0
- data/resources/shared/transforms/sk-am.yml +10 -0
- data/resources/shared/transforms/sk-ar.yml +10 -0
- data/resources/shared/transforms/sk-fa.yml +10 -0
- data/resources/shared/transforms/sk-sk_FONIPA.yml +18 -2
- data/resources/shared/transforms/sk_FONIPA-ja.yml +2 -0
- data/resources/shared/transforms/sr-sr_Latn-BGN.yml +81 -0
- data/resources/shared/transforms/tk_Cyrl-tk-BGN.yml +122 -0
- data/resources/shared/transforms/tlh-am.yml +10 -0
- data/resources/shared/transforms/tlh-ar.yml +10 -0
- data/resources/shared/transforms/tlh-fa.yml +10 -0
- data/resources/shared/transforms/tlh-tlh_FONIPA.yml +0 -8
- data/resources/shared/transforms/uk-uk_Latn-BGN.yml +115 -0
- data/resources/shared/transforms/und_FONIPA-ar.yml +96 -0
- data/resources/shared/transforms/und_FONIPA-fa.yml +88 -0
- data/resources/shared/transforms/und_FONIPA-und_FONXSAMP.yml +198 -0
- data/resources/shared/transforms/uz_Cyrl-uz-BGN.yml +117 -0
- data/resources/shared/transforms/xh-am.yml +10 -0
- data/resources/shared/transforms/xh-ar.yml +10 -0
- data/resources/shared/transforms/xh-fa.yml +10 -0
- data/resources/shared/transforms/xh-xh_FONIPA.yml +71 -0
- data/resources/shared/transforms/zu-am.yml +10 -0
- data/resources/shared/transforms/zu-ar.yml +10 -0
- data/resources/shared/transforms/zu-fa.yml +10 -0
- data/resources/shared/transforms/zu-zu_FONIPA.yml +58 -0
- data/spec/formatters/numbers/rbnf/rbnf_spec.rb +3 -1
- data/spec/resources/loader_spec.rb +12 -5
- data/spec/spec_helper.rb +1 -1
- metadata +242 -10
- data/History.txt +0 -282
- data/lib/twitter_cldr/resources/collation_tries_dumper.rb +0 -43
- data/lib/twitter_cldr/resources/custom_locales_resources_importer.rb +0 -80
- data/lib/twitter_cldr/resources/download.rb +0 -64
- data/lib/twitter_cldr/resources/icu_based_importer.rb +0 -18
- data/lib/twitter_cldr/resources/properties/properties_importer.rb +0 -59
- data/lib/twitter_cldr/resources/unicode_importer.rb +0 -37
data/History.txt
DELETED
@@ -1,282 +0,0 @@
|
|
1
|
-
== 4.0.0
|
2
|
-
* Upgrade to Unicode v8.0.0, CLDR v29, and ICU 57.1.
|
3
|
-
* Add support for fields.
|
4
|
-
* Update plural rules with several bug fixes.
|
5
|
-
* Add support for hyphenation (uses LibreOffice/Hunspell data).
|
6
|
-
* Add support for transliteration.
|
7
|
-
|
8
|
-
== 3.6.0
|
9
|
-
* Override South Korean postal code format, which changed recently.
|
10
|
-
|
11
|
-
== 3.5.0
|
12
|
-
* Only add JSON as a dependency if running under Ruby < 2 (#191).
|
13
|
-
|
14
|
-
== 3.4.0
|
15
|
-
* Add units support, eg. "12 degrees Celsius", etc.
|
16
|
-
|
17
|
-
== 3.3.0
|
18
|
-
* Added `#as_territory` convenience method to LocalizedSymbol (@Anthony-Gaudino).
|
19
|
-
* Improved documentation for world territories (@Anthony-Gaudino).
|
20
|
-
* Fixed issues with Unicode regular expressions
|
21
|
-
- Unicode properties not recognized correctly
|
22
|
-
- Unicode properties not unioned correctly when placed side-by-side
|
23
|
-
- Inverted unicode properties not unioned correctly
|
24
|
-
- Leading dashes in character classes now treated as literals instead of as
|
25
|
-
denoting a range
|
26
|
-
|
27
|
-
== 3.2.1
|
28
|
-
* Fix units for Gujarati, Kannada, Marathi
|
29
|
-
|
30
|
-
== 3.2.0
|
31
|
-
* Add Gujarati, Kannada, Marathi
|
32
|
-
|
33
|
-
== 3.1.2
|
34
|
-
* Add 'short' as a valid weekday names form in Shared::Calendar.
|
35
|
-
|
36
|
-
== 3.1.1
|
37
|
-
* Fixed an issue with single quotes appearing in dates formatting.
|
38
|
-
* Added support for locale codes that have region code in lower case.
|
39
|
-
* Fixed time zone formatting for DateTime objects.
|
40
|
-
|
41
|
-
== 3.1.0
|
42
|
-
|
43
|
-
* Updated resources from CLDR v26 (except the collation data).
|
44
|
-
* Added support for ordinal plurals.
|
45
|
-
* Added PostalCodes#find_all method.
|
46
|
-
* Added negative numbers abbreviation.
|
47
|
-
* Fixed pluralization for abbreviated numbers.
|
48
|
-
* Fixed pluralization rules by not merging 'en' rules into every locale.
|
49
|
-
|
50
|
-
== 3.0.10
|
51
|
-
|
52
|
-
* Adding Date back in as a localizable object.
|
53
|
-
|
54
|
-
== 3.0.9
|
55
|
-
|
56
|
-
* Fixing date and time formatting issue where calling `to_additional_s` on an instance of `LocalizedDate` could raise an error.
|
57
|
-
|
58
|
-
== 3.0.8
|
59
|
-
|
60
|
-
* Fixing issue causing extraneous single quotes to appear in formatted dates and times.
|
61
|
-
|
62
|
-
== 3.0.7
|
63
|
-
|
64
|
-
* Territories containment support.
|
65
|
-
|
66
|
-
== 3.0.6
|
67
|
-
|
68
|
-
* Add en-150 and es-419 locales.
|
69
|
-
|
70
|
-
== 3.0.5
|
71
|
-
|
72
|
-
* Fixed short numbers formatting for ru and other locales that use patterns
|
73
|
-
with literal periods.
|
74
|
-
|
75
|
-
== 3.0.4
|
76
|
-
|
77
|
-
* Fixed short numbers formatting for ja, ko, af, and a few other locales.
|
78
|
-
* Added more locales: de-CH, en-AU, en-CA, en-GB, en-IE, en-SG, en-ZA,
|
79
|
-
es-CO, es-MX, es-US, fr-BE, fr-CA, fr-CH, it-CH.
|
80
|
-
|
81
|
-
== 3.0.3
|
82
|
-
|
83
|
-
* Rubinius support.
|
84
|
-
|
85
|
-
== 3.0.2
|
86
|
-
|
87
|
-
* Adding ability to generate sample postal codes from their regexes.
|
88
|
-
|
89
|
-
== 3.0.1
|
90
|
-
|
91
|
-
* Fixing abbreviated timespan formats for en-GB (backport from 2.4.3).
|
92
|
-
|
93
|
-
== 3.0.0
|
94
|
-
|
95
|
-
* Adding maximum_level option to SortKeyBuilder to limit the size of collation sort keys (@jrochkind).
|
96
|
-
* Significant performance enhancements for normalization via the eprun gem.
|
97
|
-
* Adding the rule-based number formatters (123 becomes "one hundred twenty-three").
|
98
|
-
* Major overhaul of most formatters, now using data readers to encapsulate format options and read pattern data.
|
99
|
-
* Adding support for different numbering systems (eg. arab, latn, etc), number formatter updated accordingly.
|
100
|
-
* Partial upgrade to CLDR v24 (missing units).
|
101
|
-
* Support for simple/full/Turkic casefolding. Upper/lowercasing support still needed.
|
102
|
-
* Support for Unicode regular expressions. Requires oniguruma for use in Ruby 1.8.
|
103
|
-
* Text segmentation by sentence (word and line support coming soon).
|
104
|
-
* Executable README.
|
105
|
-
|
106
|
-
== 2.4.3
|
107
|
-
|
108
|
-
* Fixing abbreviated timespan formats for en-GB.
|
109
|
-
|
110
|
-
== 2.4.2
|
111
|
-
|
112
|
-
* Fixing non-quoted symbol error in en-GB plural resource file.
|
113
|
-
|
114
|
-
== 2.4.1
|
115
|
-
|
116
|
-
* Upgrade to CLDR v23.1, ICU4J 51.2.
|
117
|
-
* Adding en-GB locale (British English).
|
118
|
-
* Partial support for Ruby 2.0 (yaml no longer breaks, may not dump correctly).
|
119
|
-
|
120
|
-
== 2.4.0
|
121
|
-
|
122
|
-
* Upgrade to CLDR v23.
|
123
|
-
* Ability to disable loading of any custom locale resources.
|
124
|
-
* Long and short decimal formatters now respect the :precision option.
|
125
|
-
|
126
|
-
== 2.3.0
|
127
|
-
|
128
|
-
* Adding timezone support to date/time formatting.
|
129
|
-
* Removing the localize method from Date objects. Call to_date on a LocalizedDateTime or LocalizedTime object instead.
|
130
|
-
|
131
|
-
== 2.2.0
|
132
|
-
|
133
|
-
* Relaxing JSON dependency to give users more version flexibility. JSON gem now has no version number in twitter-cldr-rb.
|
134
|
-
|
135
|
-
== 2.1.1
|
136
|
-
|
137
|
-
* Modified AdditionalDateFormatSelector to return the correct format on exact format match.
|
138
|
-
|
139
|
-
== 2.1.0
|
140
|
-
|
141
|
-
* Significant performance improvements (memoization, resource preloading).
|
142
|
-
* Number parsing.
|
143
|
-
* Custom Hebrew units (thanks @yarons!)
|
144
|
-
* Icelandic and Croatian support.
|
145
|
-
* Global locale setter and fallbacks.
|
146
|
-
* Support for territories from CLDR.
|
147
|
-
|
148
|
-
== 2.0.2
|
149
|
-
|
150
|
-
* Added support for Vietnamese.
|
151
|
-
|
152
|
-
== 2.0.1
|
153
|
-
|
154
|
-
* Fixed bug for additional date formats that was causing the wrong format to be returned.
|
155
|
-
|
156
|
-
== 2.0.0
|
157
|
-
|
158
|
-
* Added locales ga, ta, gl, cy, sr, bg, ku, ro, lv, be, sq, sk, and bn.
|
159
|
-
* Added additional date formats.
|
160
|
-
* Upgraded to CLDR 22.1.
|
161
|
-
* Imported currency symbols and formatting rules from CLDR.
|
162
|
-
* Added support for short/long numbers (eg. 1M for 1,000,000).
|
163
|
-
* Improved RCov/Simplecov support.
|
164
|
-
* Added custom Hungarian plurals rule.
|
165
|
-
* Added support for approximate timespans (relative times).
|
166
|
-
|
167
|
-
=== 1.9.1
|
168
|
-
|
169
|
-
* Locale resources now exported without Unicode escape sequences.
|
170
|
-
|
171
|
-
=== 1.9.0
|
172
|
-
|
173
|
-
* Included Unicode-safe YAML dumping support via an adaptation of the ya2yaml gem.
|
174
|
-
* Implemented the Unicode Bidirectional Algorithm to help reorder mixed right-to-left and left-to-right text.
|
175
|
-
* Added list formatting support.
|
176
|
-
|
177
|
-
=== 1.8.1
|
178
|
-
|
179
|
-
* Improved, more accurate Finnish and Chinese collation support.
|
180
|
-
* Moved JavaScript build environment to twitter-cldr-js.
|
181
|
-
|
182
|
-
=== 1.8.0
|
183
|
-
|
184
|
-
* Added support for language code conversion.
|
185
|
-
* `#localize` methods (eg. for Hash, String, etc) now dynamically generated, part of the `TwitterCldr::Localized` namespace.
|
186
|
-
* New convenience method `TwitterCldr::Normalization#normalize`.
|
187
|
-
|
188
|
-
=== 1.7.0
|
189
|
-
|
190
|
-
* Wrote rake tasks to update CLDR and ICU resources.
|
191
|
-
* All resource files now written with symbolized keys so the gem doesn't have to recursively symbolize them on load.
|
192
|
-
* Unicode code points now represented internally with integers instead of strings for better performance.
|
193
|
-
* Added number formatting in JavaScript.
|
194
|
-
* Added telephone code lookup functionality (per country) and postal code validation.
|
195
|
-
|
196
|
-
=== 1.6.2
|
197
|
-
|
198
|
-
* Collation tries now loaded from marshal dumps, collation running time improved by ~80%.
|
199
|
-
|
200
|
-
=== 1.6.1
|
201
|
-
|
202
|
-
* Added case-first collation element tailoring support for languages like Danish.
|
203
|
-
* Included a missing development dependency (ruby_parser).
|
204
|
-
|
205
|
-
=== 1.6.0
|
206
|
-
|
207
|
-
* Added locale-aware collation via fractional collation element tailoring.
|
208
|
-
* Added #sort and #sort! methods to LocalizedArray.
|
209
|
-
* Added JavaScript relative time functionality, eg. "2 seconds ago".
|
210
|
-
|
211
|
-
=== 1.5.0
|
212
|
-
|
213
|
-
* Added collation (sorting) support via the Unicode Collation Algorithm.
|
214
|
-
* Added Catalan, Basque, Greek, Afrikaans, Ukrainian, and Czech support along with calendar fixes for existing locales.
|
215
|
-
* DateTimeTokenizer now falls back on English if the given locale isn't supported.
|
216
|
-
|
217
|
-
=== 1.4.1
|
218
|
-
|
219
|
-
* Added ability to use NFC and NFKC in core_ext/string
|
220
|
-
|
221
|
-
=== 1.4.0
|
222
|
-
|
223
|
-
* Added NFC and NFKC algorithms.
|
224
|
-
* Refactored Shared::UnicodeData::Attributes into Shared::CodePoint.
|
225
|
-
|
226
|
-
=== 1.3.6
|
227
|
-
|
228
|
-
* Added relative time functionality, eg. "2 seconds ago".
|
229
|
-
|
230
|
-
=== 1.3.0
|
231
|
-
|
232
|
-
* Reorganized locale resources.
|
233
|
-
* Added explicit specs for examples in the README.
|
234
|
-
* ArgumentError now raised if a resource can't be found.
|
235
|
-
* Fixed behavior of the :precision option for number formatting.
|
236
|
-
* Updated CLDR data to v21 (http://cldr.unicode.org/index/downloads/cldr-21).
|
237
|
-
* Added support for localized arrays (i.e. arrays of Unicode code points).
|
238
|
-
|
239
|
-
=== 1.2.0
|
240
|
-
|
241
|
-
* Added NFKD normalization algorithm.
|
242
|
-
* Formatter tokens now cached for better performance.
|
243
|
-
* Improvements to core extensions (Symbol, Date, etc).
|
244
|
-
* Added full normalization test from unicode.org.
|
245
|
-
* Autoload classes to improve performance.
|
246
|
-
|
247
|
-
=== 1.1.0
|
248
|
-
|
249
|
-
* Plural support [@KL-7]
|
250
|
-
* Unicode data, decomposition [@timothyandrew]
|
251
|
-
|
252
|
-
=== 1.0.1
|
253
|
-
|
254
|
-
* Fixed a US-ASCII bug that caused rake errors. This fix applies to both Ruby 1.8 and 1.9.
|
255
|
-
* Fixed a regexp error in a test function, as well as a tokenizer bug. All tests now pass.
|
256
|
-
* Added support for Travis, a distributed build platform.
|
257
|
-
|
258
|
-
=== 1.0.0
|
259
|
-
|
260
|
-
* Look ma, I'm open source!
|
261
|
-
|
262
|
-
=== 0.1.4
|
263
|
-
|
264
|
-
* Added functionality to gracefully fall back on default locale if chosen locale is unsupported.
|
265
|
-
|
266
|
-
=== 0.1.3
|
267
|
-
|
268
|
-
* Added support for Arabic, Hebrew, Farsi, Thai, and Urdu.
|
269
|
-
|
270
|
-
=== 0.1.2
|
271
|
-
|
272
|
-
* Added world language support.
|
273
|
-
|
274
|
-
=== 0.1.1
|
275
|
-
|
276
|
-
* Localized dates, times, and datetimes can now be interchangeably converted to each other.
|
277
|
-
* Fixed a bug that would not allow lookup of resource data by string (only symbol).
|
278
|
-
* Added really basic plural support.
|
279
|
-
|
280
|
-
=== 0.1.0
|
281
|
-
|
282
|
-
* Birthday!
|
@@ -1,43 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
# Copyright 2012 Twitter, Inc
|
4
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
5
|
-
|
6
|
-
module TwitterCldr
|
7
|
-
module Resources
|
8
|
-
|
9
|
-
module CollationTriesDumper
|
10
|
-
|
11
|
-
class << self
|
12
|
-
|
13
|
-
def update_dumps
|
14
|
-
update_default_trie_dump
|
15
|
-
TwitterCldr.supported_locales.each { |locale| update_tailoring_trie_dump(locale) }
|
16
|
-
end
|
17
|
-
|
18
|
-
private
|
19
|
-
|
20
|
-
def update_default_trie_dump
|
21
|
-
save_trie_dump(TwitterCldr::Collation::TrieLoader::DEFAULT_TRIE_LOCALE, default_trie)
|
22
|
-
end
|
23
|
-
|
24
|
-
def update_tailoring_trie_dump(locale)
|
25
|
-
save_trie_dump(locale, TwitterCldr::Collation::TrieBuilder.load_tailored_trie(locale, @default_trie))
|
26
|
-
end
|
27
|
-
|
28
|
-
def save_trie_dump(locale, trie)
|
29
|
-
path = TwitterCldr::Collation::TrieLoader.dump_path(locale)
|
30
|
-
FileUtils.mkdir_p(File.dirname(path))
|
31
|
-
|
32
|
-
File.open(path, 'w') { |f| f.write(Marshal.dump(trie)) }
|
33
|
-
end
|
34
|
-
|
35
|
-
def default_trie
|
36
|
-
@default_trie ||= TwitterCldr::Collation::TrieBuilder.load_default_trie
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
end
|
41
|
-
|
42
|
-
end
|
43
|
-
end
|
@@ -1,80 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
# Copyright 2012 Twitter, Inc
|
4
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
5
|
-
|
6
|
-
require 'json'
|
7
|
-
require 'open-uri'
|
8
|
-
|
9
|
-
module TwitterCldr
|
10
|
-
module Resources
|
11
|
-
|
12
|
-
class CustomLocalesResourcesImporter
|
13
|
-
|
14
|
-
API_ENDPOINT = "http://translate.twitter.com/api/2/twitter/phrase/%s/translations.json"
|
15
|
-
|
16
|
-
TIME_PERIODS = {
|
17
|
-
day: 19636,
|
18
|
-
hour: 19638,
|
19
|
-
minute: 19634,
|
20
|
-
second: 19639
|
21
|
-
}
|
22
|
-
|
23
|
-
# Arguments:
|
24
|
-
#
|
25
|
-
# output_path - output directory for imported YAML files
|
26
|
-
#
|
27
|
-
def initialize(output_path)
|
28
|
-
@output_path = output_path
|
29
|
-
end
|
30
|
-
|
31
|
-
def import
|
32
|
-
import_units
|
33
|
-
end
|
34
|
-
|
35
|
-
private
|
36
|
-
|
37
|
-
def import_units
|
38
|
-
fetch_units_data.each do |locale, data|
|
39
|
-
dir_path = File.join(@output_path, locale.to_s)
|
40
|
-
|
41
|
-
FileUtils.mkpath(dir_path)
|
42
|
-
|
43
|
-
File.open(File.join(dir_path, 'units.yml'), 'w:utf-8') do |output|
|
44
|
-
output.write(YAML.dump({ locale => data }))
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
def fetch_units_data
|
50
|
-
TIME_PERIODS.inject({}) do |result, (label, id)|
|
51
|
-
api_response = JSON.parse(open(API_ENDPOINT % id).read)
|
52
|
-
|
53
|
-
TwitterCldr.supported_locales.each do |locale|
|
54
|
-
twitter_locale = TwitterCldr.twitter_locale(locale).to_s
|
55
|
-
|
56
|
-
next unless api_response[twitter_locale]
|
57
|
-
|
58
|
-
patterns = TwitterCldr::Formatters::Plurals::Rules.all_for(locale).inject({}) do |memo, rule|
|
59
|
-
memo[rule] = api_response[twitter_locale].gsub("%{number}", "{0}"); memo
|
60
|
-
end
|
61
|
-
|
62
|
-
set_value(result, patterns, locale, :units, label, :abbreviated)
|
63
|
-
end
|
64
|
-
|
65
|
-
result
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
def set_value(hash, value, *path)
|
70
|
-
last = path[0..-2].inject(hash) do |current, level|
|
71
|
-
current[level] ||= {}
|
72
|
-
end
|
73
|
-
|
74
|
-
last[path.last] = value
|
75
|
-
end
|
76
|
-
|
77
|
-
end
|
78
|
-
|
79
|
-
end
|
80
|
-
end
|
@@ -1,64 +0,0 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
# Copyright 2012 Twitter, Inc
|
4
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
5
|
-
|
6
|
-
module TwitterCldr
|
7
|
-
module Resources
|
8
|
-
|
9
|
-
CLDR_URL = "http://unicode.org/Public/cldr/#{Versions.cldr_version}/core.zip"
|
10
|
-
ICU4J_URL = "http://download.icu-project.org/files/icu4j/#{Versions.icu_version}/icu4j-#{Versions.icu_version.gsub('.', '_')}.jar"
|
11
|
-
UNICODE_URL = "ftp://ftp.unicode.org/Public/#{Versions.unicode_version}"
|
12
|
-
|
13
|
-
class << self
|
14
|
-
|
15
|
-
def download_if_necessary(path, url)
|
16
|
-
if File.file?(path)
|
17
|
-
puts "Using '#{path}'."
|
18
|
-
else
|
19
|
-
puts "Downloading '#{url}' to '#{path}'."
|
20
|
-
FileUtils.mkdir_p(File.dirname(path))
|
21
|
-
system("curl #{url} -o #{path}")
|
22
|
-
end
|
23
|
-
|
24
|
-
path
|
25
|
-
end
|
26
|
-
|
27
|
-
def download_cldr_if_necessary(path, url = CLDR_URL)
|
28
|
-
if File.directory?(path)
|
29
|
-
puts "Using CLDR data from '#{path}'."
|
30
|
-
else
|
31
|
-
begin
|
32
|
-
require 'zip'
|
33
|
-
rescue LoadError
|
34
|
-
raise StandardError.new("Unable to require 'zip'. Please switch to at least Ruby 1.9, then rebundle and try again.")
|
35
|
-
end
|
36
|
-
|
37
|
-
require 'cldr/download'
|
38
|
-
|
39
|
-
puts "Downloading CLDR data from '#{url}' to '#{path}'."
|
40
|
-
Cldr.download(url, path)
|
41
|
-
end
|
42
|
-
|
43
|
-
path
|
44
|
-
end
|
45
|
-
|
46
|
-
def download_icu4j_if_necessary(path, url = ICU4J_URL)
|
47
|
-
download_if_necessary(path, url)
|
48
|
-
path
|
49
|
-
end
|
50
|
-
|
51
|
-
def download_unicode_data_if_necessary(path, url)
|
52
|
-
download_if_necessary(path, join_urls(UNICODE_URL, url))
|
53
|
-
end
|
54
|
-
|
55
|
-
private
|
56
|
-
|
57
|
-
def join_urls(*urls)
|
58
|
-
urls.map { |u| u.chomp('/') }.join('/')
|
59
|
-
end
|
60
|
-
|
61
|
-
end
|
62
|
-
|
63
|
-
end
|
64
|
-
end
|