twitter_cldr 1.4.1 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. data/NOTICE +36 -2
  2. data/README.md +2 -2
  3. data/lib/twitter_cldr/collation/collator.rb +143 -0
  4. data/lib/twitter_cldr/collation/implicit_collation_elements.rb +188 -0
  5. data/lib/twitter_cldr/collation/sort_key.rb +199 -0
  6. data/lib/twitter_cldr/collation/trie.rb +73 -0
  7. data/lib/twitter_cldr/collation/trie_builder.rb +56 -0
  8. data/lib/twitter_cldr/collation.rb +14 -0
  9. data/lib/twitter_cldr/core_ext/localized_object.rb +3 -2
  10. data/lib/twitter_cldr/core_ext/string.rb +1 -1
  11. data/lib/twitter_cldr/formatters/calendars/datetime_formatter.rb +89 -72
  12. data/lib/twitter_cldr/normalization/base.rb +22 -0
  13. data/lib/twitter_cldr/normalization/hangul.rb +68 -0
  14. data/lib/twitter_cldr/{normalizers → normalization}/nfc.rb +2 -2
  15. data/lib/twitter_cldr/{normalizers → normalization}/nfd.rb +1 -1
  16. data/lib/twitter_cldr/{normalizers → normalization}/nfkc.rb +5 -17
  17. data/lib/twitter_cldr/{normalizers → normalization}/nfkd.rb +3 -18
  18. data/lib/twitter_cldr/normalization.rb +15 -0
  19. data/lib/twitter_cldr/shared/code_point.rb +5 -3
  20. data/lib/twitter_cldr/tokenizers/base.rb +15 -1
  21. data/lib/twitter_cldr/tokenizers/calendars/datetime_tokenizer.rb +6 -1
  22. data/lib/twitter_cldr/utils/code_points.rb +1 -1
  23. data/lib/twitter_cldr/version.rb +2 -2
  24. data/lib/twitter_cldr.rb +9 -8
  25. data/resources/collation/FractionalUCA_SHORT.txt +41593 -0
  26. data/resources/locales/af/calendars.yml +164 -0
  27. data/resources/locales/af/languages.yml +173 -0
  28. data/resources/locales/af/numbers.yml +42 -0
  29. data/resources/locales/af/plurals.yml +2 -0
  30. data/resources/locales/af/units.yml +88 -0
  31. data/resources/locales/ar/calendars.yml +9 -0
  32. data/resources/locales/ar/numbers.yml +15 -2
  33. data/resources/locales/ca/calendars.yml +228 -0
  34. data/resources/locales/ca/languages.yml +510 -0
  35. data/resources/locales/ca/numbers.yml +43 -0
  36. data/resources/locales/ca/plurals.yml +2 -0
  37. data/resources/locales/ca/units.yml +93 -0
  38. data/resources/locales/cs/calendars.yml +229 -0
  39. data/resources/locales/cs/languages.yml +471 -0
  40. data/resources/locales/cs/numbers.yml +44 -0
  41. data/resources/locales/cs/plurals.yml +2 -0
  42. data/resources/locales/cs/units.yml +114 -0
  43. data/resources/locales/da/calendars.yml +10 -0
  44. data/resources/locales/da/numbers.yml +13 -0
  45. data/resources/locales/de/calendars.yml +9 -0
  46. data/resources/locales/de/numbers.yml +13 -0
  47. data/resources/locales/el/calendars.yml +227 -0
  48. data/resources/locales/el/languages.yml +519 -0
  49. data/resources/locales/el/numbers.yml +42 -0
  50. data/resources/locales/el/plurals.yml +2 -0
  51. data/resources/locales/el/units.yml +107 -0
  52. data/resources/locales/en/calendars.yml +10 -0
  53. data/resources/locales/en/numbers.yml +13 -0
  54. data/resources/locales/es/calendars.yml +9 -0
  55. data/resources/locales/es/numbers.yml +13 -0
  56. data/resources/locales/eu/calendars.yml +173 -0
  57. data/resources/locales/eu/languages.yml +161 -0
  58. data/resources/locales/eu/numbers.yml +43 -0
  59. data/resources/locales/eu/plurals.yml +2 -0
  60. data/resources/locales/eu/units.yml +91 -0
  61. data/resources/locales/fa/calendars.yml +10 -0
  62. data/resources/locales/fa/numbers.yml +13 -0
  63. data/resources/locales/fi/calendars.yml +10 -0
  64. data/resources/locales/fi/numbers.yml +14 -1
  65. data/resources/locales/fil/calendars.yml +8 -0
  66. data/resources/locales/fil/numbers.yml +13 -0
  67. data/resources/locales/fr/calendars.yml +9 -0
  68. data/resources/locales/fr/numbers.yml +14 -1
  69. data/resources/locales/he/calendars.yml +9 -0
  70. data/resources/locales/he/numbers.yml +13 -0
  71. data/resources/locales/hi/calendars.yml +8 -0
  72. data/resources/locales/hi/numbers.yml +13 -0
  73. data/resources/locales/hu/calendars.yml +10 -0
  74. data/resources/locales/hu/numbers.yml +15 -2
  75. data/resources/locales/id/calendars.yml +8 -0
  76. data/resources/locales/id/numbers.yml +16 -3
  77. data/resources/locales/it/calendars.yml +9 -0
  78. data/resources/locales/it/numbers.yml +13 -0
  79. data/resources/locales/ja/calendars.yml +9 -0
  80. data/resources/locales/ja/numbers.yml +13 -0
  81. data/resources/locales/ko/calendars.yml +9 -0
  82. data/resources/locales/ko/numbers.yml +13 -0
  83. data/resources/locales/ms/calendars.yml +8 -0
  84. data/resources/locales/ms/numbers.yml +16 -3
  85. data/resources/locales/nb/calendars.yml +234 -0
  86. data/resources/locales/{no → nb}/languages.yml +25 -4
  87. data/resources/locales/nb/numbers.yml +43 -0
  88. data/resources/locales/nb/plurals.yml +2 -0
  89. data/resources/locales/nb/units.yml +87 -0
  90. data/resources/locales/nl/calendars.yml +10 -0
  91. data/resources/locales/nl/numbers.yml +13 -0
  92. data/resources/locales/pl/calendars.yml +9 -0
  93. data/resources/locales/pl/numbers.yml +14 -1
  94. data/resources/locales/pt/calendars.yml +9 -0
  95. data/resources/locales/pt/numbers.yml +13 -0
  96. data/resources/locales/ru/calendars.yml +10 -0
  97. data/resources/locales/ru/numbers.yml +14 -1
  98. data/resources/locales/sv/calendars.yml +10 -0
  99. data/resources/locales/sv/numbers.yml +14 -1
  100. data/resources/locales/th/calendars.yml +67 -57
  101. data/resources/locales/th/numbers.yml +13 -0
  102. data/resources/locales/tr/calendars.yml +9 -0
  103. data/resources/locales/tr/numbers.yml +13 -0
  104. data/resources/locales/uk/calendars.yml +199 -0
  105. data/resources/locales/uk/languages.yml +519 -0
  106. data/resources/locales/uk/numbers.yml +45 -0
  107. data/resources/locales/uk/plurals.yml +2 -0
  108. data/resources/locales/uk/units.yml +135 -0
  109. data/resources/locales/ur/calendars.yml +9 -0
  110. data/resources/locales/ur/numbers.yml +13 -0
  111. data/resources/locales/zh/calendars.yml +8 -0
  112. data/resources/locales/zh/numbers.yml +13 -0
  113. data/resources/locales/zh-Hant/calendars.yml +8 -0
  114. data/resources/locales/zh-Hant/numbers.yml +16 -3
  115. data/resources/locales/zh-Hant/plurals.yml +2 -0
  116. data/resources/unicode_data/hangul_blocks.yml +21 -0
  117. data/spec/collation/CollationTest_CLDR_NON_IGNORABLE_Short.txt +714 -0
  118. data/spec/collation/collation_spec.rb +93 -0
  119. data/spec/collation/collator_spec.rb +117 -0
  120. data/spec/collation/implicit_collation_elements_spec.rb +24 -0
  121. data/spec/collation/sort_key_spec.rb +56 -0
  122. data/spec/collation/trie_builder_spec.rb +114 -0
  123. data/spec/collation/trie_spec.rb +97 -0
  124. data/spec/core_ext/calendars/datetime_spec.rb +5 -0
  125. data/spec/core_ext/calendars_spec.rb +34 -0
  126. data/spec/core_ext/numbers_spec.rb +39 -0
  127. data/spec/core_ext/string_spec.rb +4 -4
  128. data/spec/formatters/calendars/datetime_formatter_spec.rb +92 -2
  129. data/spec/{normalizers → normalization}/NormalizationTestShort.txt +0 -0
  130. data/spec/{normalizers → normalization}/base_spec.rb +1 -1
  131. data/spec/normalization/hangul_spec.rb +42 -0
  132. data/spec/{normalizers → normalization}/normalization_spec.rb +15 -16
  133. data/spec/readme_spec.rb +2 -2
  134. data/spec/shared/code_point_spec.rb +42 -30
  135. data/spec/shared/resources_spec.rb +30 -6
  136. data/spec/tokenizers/base_spec.rb +17 -0
  137. data/spec/twitter_cldr_spec.rb +1 -1
  138. metadata +71 -83
  139. data/lib/twitter_cldr/normalizers/base.rb +0 -34
  140. data/lib/twitter_cldr/normalizers.rb +0 -14
  141. data/resources/locales/no/calendars.yml +0 -127
  142. data/resources/locales/no/numbers.yml +0 -29
  143. data/resources/locales/no/plurals.yml +0 -1
  144. data/resources/unicode_data/blocks_hangul.yml +0 -46
  145. data/spec/normalizers/NormalizationTest.txt +0 -18431
@@ -1,9 +1,21 @@
1
- th:
2
- calendars:
3
- gregorian:
4
- days:
5
- format:
6
- abbreviated:
1
+ th:
2
+ calendars:
3
+ buddhist:
4
+ formats:
5
+ date:
6
+ default: :"calendars.buddhist.formats.date.medium"
7
+ full:
8
+ pattern: "EEEEที่ d MMMM G y"
9
+ long:
10
+ pattern: "d MMMM พ.ศ. #{y + 543}"
11
+ medium:
12
+ pattern: "d MMM #{y + 543}"
13
+ short:
14
+ pattern: "d/M/#{y + 543}"
15
+ gregorian:
16
+ days:
17
+ format:
18
+ abbreviated:
7
19
  fri: ศ.
8
20
  mon: จ.
9
21
  sat: ส.
@@ -12,7 +24,7 @@ th:
12
24
  tue: อ.
13
25
  wed: พ.
14
26
  narrow: :"calendars.gregorian.days.stand-alone.narrow"
15
- wide:
27
+ wide:
16
28
  fri: วันศุกร์
17
29
  mon: วันจันทร์
18
30
  sat: วันเสาร์
@@ -20,9 +32,9 @@ th:
20
32
  thu: วันพฤหัสบดี
21
33
  tue: วันอังคาร
22
34
  wed: วันพุธ
23
- stand-alone:
35
+ stand-alone:
24
36
  abbreviated: :"calendars.gregorian.days.format.abbreviated"
25
- narrow:
37
+ narrow:
26
38
  fri: ศ
27
39
  mon: จ
28
40
  sat: ส
@@ -31,7 +43,17 @@ th:
31
43
  tue: อ
32
44
  wed: พ
33
45
  wide: :"calendars.gregorian.days.format.wide"
34
- fields:
46
+ eras:
47
+ abbr:
48
+ 0: "ปีก่อน ค.ศ."
49
+ 1: ค.ศ.
50
+ name:
51
+ 0: ปีก่อนคริสต์ศักราช
52
+ 1: คริสต์ศักราช
53
+ narrow:
54
+ 0: "ก่อน ค.ศ."
55
+ 1: ค.ศ.
56
+ fields:
35
57
  day: วัน
36
58
  dayperiod: ช่วงวัน
37
59
  era: สมัย
@@ -43,40 +65,40 @@ th:
43
65
  weekday: วันในสัปดาห์
44
66
  year: ปี
45
67
  zone: เขต
46
- formats:
47
- date:
68
+ formats:
69
+ date:
48
70
  default: :"calendars.gregorian.formats.date.medium"
49
- full:
71
+ full:
50
72
  pattern: "EEEEที่ d MMMM G y"
51
- long:
73
+ long:
52
74
  pattern: "d MMMM y"
53
- medium:
75
+ medium:
54
76
  pattern: "d MMM y"
55
- short:
77
+ short:
56
78
  pattern: d/M/yyyy
57
- datetime:
79
+ datetime:
58
80
  default: :"calendars.gregorian.formats.datetime.medium"
59
- full:
81
+ full:
60
82
  pattern: "{{date}}, {{time}}"
61
- long:
83
+ long:
62
84
  pattern: "{{date}}, {{time}}"
63
- medium:
85
+ medium:
64
86
  pattern: "{{date}}, {{time}}"
65
- short:
87
+ short:
66
88
  pattern: "{{date}}, {{time}}"
67
- time:
89
+ time:
68
90
  default: :"calendars.gregorian.formats.time.medium"
69
- full:
91
+ full:
70
92
  pattern: "H นาฬิกา m นาที ss วินาที zzzz"
71
- long:
93
+ long:
72
94
  pattern: "H นาฬิกา m นาที ss วินาที z"
73
- medium:
95
+ medium:
74
96
  pattern: "H:mm:ss"
75
- short:
97
+ short:
76
98
  pattern: "H:mm"
77
- months:
78
- format:
79
- abbreviated:
99
+ months:
100
+ format:
101
+ abbreviated:
80
102
  1: ม.ค.
81
103
  10: ต.ค.
82
104
  11: พ.ย.
@@ -89,7 +111,7 @@ th:
89
111
  7: ก.ค.
90
112
  8: ส.ค.
91
113
  9: ก.ย.
92
- narrow:
114
+ narrow:
93
115
  1: ม.ค.
94
116
  10: ต.ค.
95
117
  11: พ.ย.
@@ -102,7 +124,7 @@ th:
102
124
  7: ก.ค.
103
125
  8: ส.ค.
104
126
  9: ก.ย.
105
- wide:
127
+ wide:
106
128
  1: มกราคม
107
129
  10: ตุลาคม
108
130
  11: พฤศจิกายน
@@ -115,9 +137,9 @@ th:
115
137
  7: กรกฎาคม
116
138
  8: สิงหาคม
117
139
  9: กันยายน
118
- stand-alone:
140
+ stand-alone:
119
141
  abbreviated: :"calendars.gregorian.months.format.abbreviated"
120
- narrow:
142
+ narrow:
121
143
  1: ม.ค.
122
144
  10: ต.ค.
123
145
  11: พ.ย.
@@ -131,52 +153,40 @@ th:
131
153
  8: ส.ค.
132
154
  9: ก.ย.
133
155
  wide: :"calendars.gregorian.months.format.wide"
134
- periods:
135
- format:
156
+ periods:
157
+ format:
136
158
  abbreviated: :"calendars.gregorian.dayPeriods.format.wide"
137
159
  narrow: :"calendars.gregorian.dayPeriods.format.abbreviated"
138
- wide:
160
+ wide:
139
161
  am: ก่อนเที่ยง
140
162
  pm: หลังเที่ยง
141
163
  stand-alone: {}
142
- quarters:
143
- format:
144
- abbreviated:
164
+ quarters:
165
+ format:
166
+ abbreviated:
145
167
  1: Q1
146
168
  2: Q2
147
169
  3: Q3
148
170
  4: Q4
149
- narrow:
171
+ narrow:
150
172
  1: 1
151
173
  2: 2
152
174
  3: 3
153
175
  4: 4
154
- wide:
176
+ wide:
155
177
  1: "ไตรมาส 1"
156
178
  2: "ไตรมาส 2"
157
179
  3: "ไตรมาส 3"
158
180
  4: "ไตรมาส 4"
159
- stand-alone:
160
- abbreviated:
181
+ stand-alone:
182
+ abbreviated:
161
183
  1: Q1
162
184
  2: Q2
163
185
  3: Q3
164
186
  4: Q4
165
- narrow:
187
+ narrow:
166
188
  1: 1
167
189
  2: 2
168
190
  3: 3
169
191
  4: 4
170
- wide: :"calendars.gregorian.quarters.format.wide"
171
- buddhist:
172
- formats:
173
- date:
174
- default: :"calendars.buddhist.formats.date.medium"
175
- full:
176
- pattern: "EEEEที่ d MMMM G y"
177
- long:
178
- pattern: "d MMMM พ.ศ. #{y + 543}"
179
- medium:
180
- pattern: "d MMM #{y + 543}"
181
- short:
182
- pattern: "d/M/#{y + 543}"
192
+ wide: :"calendars.gregorian.quarters.format.wide"
@@ -9,6 +9,19 @@ th:
9
9
  decimal:
10
10
  patterns:
11
11
  default: "#,##0.###"
12
+ short:
13
+ 1000: "0.0 พัน"
14
+ 10000: 0.0หมื่น
15
+ 100000: 0.0แสน
16
+ 1000000: "0.0 ล้าน"
17
+ 10000000: "00 ล้าน"
18
+ 100000000: "000 ล'.'"
19
+ 1000000000: "0.0 พ'.'ล'.'"
20
+ 10000000000: "0.0 ม'.'ล'.'"
21
+ 100000000000: "0.0 ส'.'ล'.'"
22
+ 1000000000000: "0.0 ล'.'ล'.'"
23
+ 10000000000000: "00 ล'.'ล"
24
+ 100000000000000: "000 ล'.'ล'.'"
12
25
  percent:
13
26
  patterns:
14
27
  default: "#,##0%"
@@ -52,6 +52,15 @@ tr:
52
52
  thu: Perşembe
53
53
  tue: Salı
54
54
  wed: Çarşamba
55
+ eras:
56
+ abbr:
57
+ 0: MÖ
58
+ 1: MS
59
+ name:
60
+ 0: "Milattan Önce"
61
+ 1: "Milattan Sonra"
62
+ narrow:
63
+ 0: ""
55
64
  fields:
56
65
  day: Gün
57
66
  dayperiod: AM/PM
@@ -9,6 +9,19 @@ tr:
9
9
  decimal:
10
10
  patterns:
11
11
  default: "#,##0.###"
12
+ short:
13
+ 1000: 0000
14
+ 10000: "00 B"
15
+ 100000: "000 B"
16
+ 1000000: "0.0 Mn"
17
+ 10000000: "00 Mn"
18
+ 100000000: "000 Mn"
19
+ 1000000000: "0.0 Mr"
20
+ 10000000000: "00 Mr"
21
+ 100000000000: "000 Mr"
22
+ 1000000000000: "0.0 T"
23
+ 10000000000000: "00 T"
24
+ 100000000000000: "000 T"
12
25
  percent:
13
26
  patterns:
14
27
  default: "%#,##0"
@@ -0,0 +1,199 @@
1
+ uk:
2
+ calendars:
3
+ gregorian:
4
+ days:
5
+ format:
6
+ abbreviated:
7
+ fri: Пт
8
+ mon: Пн
9
+ sat: Сб
10
+ sun: Нд
11
+ thu: Чт
12
+ tue: Вт
13
+ wed: Ср
14
+ narrow: :"calendars.gregorian.days.stand-alone.narrow"
15
+ wide:
16
+ fri: Пʼятниця
17
+ mon: Понеділок
18
+ sat: Субота
19
+ sun: Неділя
20
+ thu: Четвер
21
+ tue: Вівторок
22
+ wed: Середа
23
+ stand-alone:
24
+ abbreviated: :"calendars.gregorian.days.format.abbreviated"
25
+ narrow:
26
+ fri: П
27
+ mon: П
28
+ sat: С
29
+ sun: Н
30
+ thu: Ч
31
+ tue: В
32
+ wed: С
33
+ wide: :"calendars.gregorian.days.format.wide"
34
+ eras:
35
+ abbr:
36
+ 0: "до н.е."
37
+ 1: н.е.
38
+ name:
39
+ 0: "до нашої ери"
40
+ 1: "нашої ери"
41
+ narrow:
42
+ 0: ""
43
+ fields:
44
+ day: День
45
+ dayperiod: "Частина доби"
46
+ era: Ера
47
+ hour: Година
48
+ minute: Хвилина
49
+ month: Місяць
50
+ second: Секунда
51
+ week: Тиждень
52
+ weekday: "День тижня"
53
+ year: Рік
54
+ zone: Зона
55
+ formats:
56
+ date:
57
+ default: :"calendars.gregorian.formats.date.medium"
58
+ full:
59
+ pattern: "EEEE, d MMMM y 'р'."
60
+ long:
61
+ pattern: "d MMMM y 'р'."
62
+ medium:
63
+ pattern: "d MMM y"
64
+ short:
65
+ pattern: dd.MM.yy
66
+ datetime:
67
+ default: :"calendars.gregorian.formats.datetime.medium"
68
+ full:
69
+ pattern: "{{date}} {{time}}"
70
+ long:
71
+ pattern: "{{date}} {{time}}"
72
+ medium:
73
+ pattern: "{{date}} {{time}}"
74
+ short:
75
+ pattern: "{{date}} {{time}}"
76
+ time:
77
+ default: :"calendars.gregorian.formats.time.medium"
78
+ full:
79
+ pattern: "HH:mm:ss zzzz"
80
+ long:
81
+ pattern: "HH:mm:ss z"
82
+ medium:
83
+ pattern: "HH:mm:ss"
84
+ short:
85
+ pattern: "HH:mm"
86
+ months:
87
+ format:
88
+ abbreviated:
89
+ 1: січ.
90
+ 10: жовт.
91
+ 11: лист.
92
+ 12: груд.
93
+ 2: лют.
94
+ 3: бер.
95
+ 4: квіт.
96
+ 5: трав.
97
+ 6: черв.
98
+ 7: лип.
99
+ 8: серп.
100
+ 9: вер.
101
+ narrow: :"calendars.gregorian.months.stand-alone.narrow"
102
+ wide:
103
+ 1: січня
104
+ 10: жовтня
105
+ 11: листопада
106
+ 12: грудня
107
+ 2: лютого
108
+ 3: березня
109
+ 4: квітня
110
+ 5: травня
111
+ 6: червня
112
+ 7: липня
113
+ 8: серпня
114
+ 9: вересня
115
+ stand-alone:
116
+ abbreviated:
117
+ 1: Січ
118
+ 10: Жов
119
+ 11: Лис
120
+ 12: Гру
121
+ 2: Лют
122
+ 3: Бер
123
+ 4: Кві
124
+ 5: Тра
125
+ 6: Чер
126
+ 7: Лип
127
+ 8: Сер
128
+ 9: Вер
129
+ narrow:
130
+ 1: С
131
+ 10: Ж
132
+ 11: Л
133
+ 12: Г
134
+ 2: Л
135
+ 3: Б
136
+ 4: К
137
+ 5: Т
138
+ 6: Ч
139
+ 7: Л
140
+ 8: С
141
+ 9: В
142
+ wide:
143
+ 1: Січень
144
+ 10: Жовтень
145
+ 11: Листопад
146
+ 12: Грудень
147
+ 2: Лютий
148
+ 3: Березень
149
+ 4: Квітень
150
+ 5: Травень
151
+ 6: Червень
152
+ 7: Липень
153
+ 8: Серпень
154
+ 9: Вересень
155
+ periods:
156
+ format:
157
+ abbreviated: :"calendars.gregorian.dayPeriods.format.wide"
158
+ narrow: :"calendars.gregorian.dayPeriods.format.abbreviated"
159
+ wide:
160
+ afternoon: дня
161
+ am: дп
162
+ evening: вечора
163
+ morning: ранку
164
+ night: ночі
165
+ pm: пп
166
+ stand-alone: {}
167
+ quarters:
168
+ format:
169
+ abbreviated:
170
+ 1: "I кв."
171
+ 2: "II кв."
172
+ 3: "III кв."
173
+ 4: "IV кв."
174
+ narrow:
175
+ 1: 1
176
+ 2: 2
177
+ 3: 3
178
+ 4: 4
179
+ wide:
180
+ 1: "I квартал"
181
+ 2: "II квартал"
182
+ 3: "III квартал"
183
+ 4: "IV квартал"
184
+ stand-alone:
185
+ abbreviated:
186
+ 1: "1-й кв."
187
+ 2: "2-й кв."
188
+ 3: "3-й кв."
189
+ 4: "4-й кв."
190
+ narrow:
191
+ 1: 1
192
+ 2: 2
193
+ 3: 3
194
+ 4: 4
195
+ wide:
196
+ 1: "1-й квартал"
197
+ 2: "2-й квартал"
198
+ 3: "3-й квартал"
199
+ 4: "4-й квартал"