twitter_cldr 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (180) hide show
  1. data/LICENSE +177 -0
  2. data/NOTICE +26 -0
  3. data/README.md +83 -0
  4. data/Rakefile +36 -0
  5. data/lib/ext/calendars/date.rb +20 -0
  6. data/lib/ext/calendars/datetime.rb +36 -0
  7. data/lib/ext/calendars/time.rb +20 -0
  8. data/lib/ext/localized_object.rb +15 -0
  9. data/lib/ext/numbers/bignum.rb +3 -0
  10. data/lib/ext/numbers/fixnum.rb +3 -0
  11. data/lib/ext/numbers/float.rb +3 -0
  12. data/lib/ext/numbers/localized_number.rb +53 -0
  13. data/lib/ext/strings/symbol.rb +17 -0
  14. data/lib/formatters/base.rb +36 -0
  15. data/lib/formatters/calendars/date_formatter.rb +9 -0
  16. data/lib/formatters/calendars/datetime_formatter.rb +217 -0
  17. data/lib/formatters/calendars/time_formatter.rb +9 -0
  18. data/lib/formatters/numbers/currency_formatter.rb +25 -0
  19. data/lib/formatters/numbers/decimal_formatter.rb +22 -0
  20. data/lib/formatters/numbers/helpers/base.rb +18 -0
  21. data/lib/formatters/numbers/helpers/fraction.rb +29 -0
  22. data/lib/formatters/numbers/helpers/integer.rb +46 -0
  23. data/lib/formatters/numbers/number_formatter.rb +48 -0
  24. data/lib/formatters/numbers/percent_formatter.rb +18 -0
  25. data/lib/formatters/plurals/rules.rb +34 -0
  26. data/lib/shared/currencies.rb +33 -0
  27. data/lib/shared/languages.rb +48 -0
  28. data/lib/shared/resources.rb +45 -0
  29. data/lib/shared/timezones.rb +1 -0
  30. data/lib/tokenizers/base.rb +112 -0
  31. data/lib/tokenizers/calendars/date_tokenizer.rb +24 -0
  32. data/lib/tokenizers/calendars/datetime_tokenizer.rb +46 -0
  33. data/lib/tokenizers/calendars/time_tokenizer.rb +24 -0
  34. data/lib/tokenizers/key_path.rb +30 -0
  35. data/lib/tokenizers/numbers/number_tokenizer.rb +50 -0
  36. data/lib/tokenizers/token.rb +17 -0
  37. data/lib/twitter_cldr.rb +104 -0
  38. data/lib/version.rb +3 -0
  39. data/resources/ar/calendars.yml +145 -0
  40. data/resources/ar/languages.yml +498 -0
  41. data/resources/ar/numbers.yml +35 -0
  42. data/resources/ar/plurals.yml +1 -0
  43. data/resources/da/calendars.yml +157 -0
  44. data/resources/da/languages.yml +508 -0
  45. data/resources/da/numbers.yml +31 -0
  46. data/resources/da/plurals.yml +1 -0
  47. data/resources/de/calendars.yml +152 -0
  48. data/resources/de/languages.yml +508 -0
  49. data/resources/de/numbers.yml +31 -0
  50. data/resources/de/plurals.yml +1 -0
  51. data/resources/en/calendars.yml +145 -0
  52. data/resources/en/languages.yml +510 -0
  53. data/resources/en/numbers.yml +31 -0
  54. data/resources/en/plurals.yml +1 -0
  55. data/resources/es/calendars.yml +145 -0
  56. data/resources/es/languages.yml +508 -0
  57. data/resources/es/numbers.yml +30 -0
  58. data/resources/es/plurals.yml +1 -0
  59. data/resources/fa/calendars.yml +150 -0
  60. data/resources/fa/languages.yml +484 -0
  61. data/resources/fa/numbers.yml +30 -0
  62. data/resources/fa/plurals.yml +1 -0
  63. data/resources/fi/calendars.yml +176 -0
  64. data/resources/fi/languages.yml +508 -0
  65. data/resources/fi/numbers.yml +31 -0
  66. data/resources/fi/plurals.yml +1 -0
  67. data/resources/fil/calendars.yml +159 -0
  68. data/resources/fil/languages.yml +115 -0
  69. data/resources/fil/numbers.yml +31 -0
  70. data/resources/fil/plurals.yml +1 -0
  71. data/resources/fr/calendars.yml +149 -0
  72. data/resources/fr/languages.yml +508 -0
  73. data/resources/fr/numbers.yml +31 -0
  74. data/resources/fr/plurals.yml +1 -0
  75. data/resources/he/calendars.yml +145 -0
  76. data/resources/he/languages.yml +266 -0
  77. data/resources/he/numbers.yml +31 -0
  78. data/resources/he/plurals.yml +1 -0
  79. data/resources/hi/calendars.yml +144 -0
  80. data/resources/hi/languages.yml +505 -0
  81. data/resources/hi/numbers.yml +31 -0
  82. data/resources/hi/plurals.yml +1 -0
  83. data/resources/hu/calendars.yml +145 -0
  84. data/resources/hu/languages.yml +508 -0
  85. data/resources/hu/numbers.yml +30 -0
  86. data/resources/hu/plurals.yml +1 -0
  87. data/resources/id/calendars.yml +145 -0
  88. data/resources/id/languages.yml +506 -0
  89. data/resources/id/numbers.yml +30 -0
  90. data/resources/id/plurals.yml +1 -0
  91. data/resources/it/calendars.yml +164 -0
  92. data/resources/it/languages.yml +503 -0
  93. data/resources/it/numbers.yml +30 -0
  94. data/resources/it/plurals.yml +1 -0
  95. data/resources/ja/calendars.yml +157 -0
  96. data/resources/ja/languages.yml +502 -0
  97. data/resources/ja/numbers.yml +30 -0
  98. data/resources/ja/plurals.yml +1 -0
  99. data/resources/ko/calendars.yml +133 -0
  100. data/resources/ko/languages.yml +505 -0
  101. data/resources/ko/numbers.yml +30 -0
  102. data/resources/ko/plurals.yml +1 -0
  103. data/resources/ms/calendars.yml +145 -0
  104. data/resources/ms/languages.yml +54 -0
  105. data/resources/ms/numbers.yml +30 -0
  106. data/resources/ms/plurals.yml +1 -0
  107. data/resources/nl/calendars.yml +145 -0
  108. data/resources/nl/languages.yml +508 -0
  109. data/resources/nl/numbers.yml +31 -0
  110. data/resources/nl/plurals.yml +1 -0
  111. data/resources/no/calendars.yml +122 -0
  112. data/resources/no/languages.yml +508 -0
  113. data/resources/no/numbers.yml +30 -0
  114. data/resources/no/plurals.yml +1 -0
  115. data/resources/pl/calendars.yml +161 -0
  116. data/resources/pl/languages.yml +504 -0
  117. data/resources/pl/numbers.yml +31 -0
  118. data/resources/pl/plurals.yml +1 -0
  119. data/resources/pt/calendars.yml +145 -0
  120. data/resources/pt/languages.yml +508 -0
  121. data/resources/pt/numbers.yml +31 -0
  122. data/resources/pt/plurals.yml +1 -0
  123. data/resources/ru/calendars.yml +176 -0
  124. data/resources/ru/languages.yml +508 -0
  125. data/resources/ru/numbers.yml +30 -0
  126. data/resources/ru/plurals.yml +1 -0
  127. data/resources/shared/currencies.yml +451 -0
  128. data/resources/sv/calendars.yml +145 -0
  129. data/resources/sv/languages.yml +508 -0
  130. data/resources/sv/numbers.yml +31 -0
  131. data/resources/sv/plurals.yml +1 -0
  132. data/resources/th/calendars.yml +145 -0
  133. data/resources/th/languages.yml +507 -0
  134. data/resources/th/numbers.yml +30 -0
  135. data/resources/th/plurals.yml +1 -0
  136. data/resources/tr/calendars.yml +145 -0
  137. data/resources/tr/languages.yml +508 -0
  138. data/resources/tr/numbers.yml +30 -0
  139. data/resources/tr/plurals.yml +1 -0
  140. data/resources/ur/calendars.yml +133 -0
  141. data/resources/ur/languages.yml +81 -0
  142. data/resources/ur/numbers.yml +31 -0
  143. data/resources/ur/plurals.yml +1 -0
  144. data/resources/zh/calendars.yml +169 -0
  145. data/resources/zh/languages.yml +506 -0
  146. data/resources/zh/numbers.yml +30 -0
  147. data/resources/zh/plurals.yml +1 -0
  148. data/resources/zh-Hant/calendars.yml +141 -0
  149. data/resources/zh-Hant/languages.yml +409 -0
  150. data/resources/zh-Hant/numbers.yml +30 -0
  151. data/spec/ext/calendars/date_spec.rb +45 -0
  152. data/spec/ext/calendars/datetime_spec.rb +43 -0
  153. data/spec/ext/calendars/time_spec.rb +45 -0
  154. data/spec/ext/numbers/bignum_spec.rb +19 -0
  155. data/spec/ext/numbers/fixnum_spec.rb +19 -0
  156. data/spec/ext/numbers/float_spec.rb +19 -0
  157. data/spec/ext/numbers/localized_number_spec.rb +53 -0
  158. data/spec/ext/strings/symbol_spec.rb +23 -0
  159. data/spec/formatters/base_spec.rb +12 -0
  160. data/spec/formatters/calendars/datetime_formatter_spec.rb +324 -0
  161. data/spec/formatters/numbers/currency_formatter_spec.rb +27 -0
  162. data/spec/formatters/numbers/decimal_formatter_spec.rb +30 -0
  163. data/spec/formatters/numbers/helpers/fraction_spec.rb +22 -0
  164. data/spec/formatters/numbers/helpers/integer_spec.rb +99 -0
  165. data/spec/formatters/numbers/number_formatter_spec.rb +79 -0
  166. data/spec/formatters/numbers/percent_formatter_spec.rb +12 -0
  167. data/spec/formatters/plurals/rules_spec.rb +73 -0
  168. data/spec/shared/currencies_spec.rb +55 -0
  169. data/spec/shared/languages_spec.rb +82 -0
  170. data/spec/shared/resources_spec.rb +44 -0
  171. data/spec/spec_helper.rb +31 -0
  172. data/spec/tokenizers/base_spec.rb +134 -0
  173. data/spec/tokenizers/calendars/date_tokenizer_spec.rb +36 -0
  174. data/spec/tokenizers/calendars/datetime_tokenizer_spec.rb +52 -0
  175. data/spec/tokenizers/calendars/time_tokenizer_spec.rb +34 -0
  176. data/spec/tokenizers/key_path_spec.rb +44 -0
  177. data/spec/tokenizers/numbers/number_tokenizer_spec.rb +60 -0
  178. data/spec/tokenizers/token_spec.rb +18 -0
  179. data/spec/twitter_cldr_spec.rb +53 -0
  180. metadata +293 -0
@@ -0,0 +1,409 @@
1
+ zh-Hant:
2
+ languages:
3
+ ab: 阿布哈茲文
4
+ ace: 亞齊文
5
+ ach: 阿僑利文
6
+ ada: 阿當莫文
7
+ ady: 阿迪各文
8
+ ae: 阿緯斯陀文
9
+ af: 南非荷蘭文
10
+ afa: 亞非諸語言
11
+ ain: 愛努文
12
+ ak: 阿坎文
13
+ ale: 阿留申文
14
+ alg: 阿爾岡昆諸語言
15
+ alt: 南阿爾泰文
16
+ an: 阿拉貢文
17
+ ang: 古英文
18
+ apa: 阿帕切諸語言
19
+ arn: 阿勞坎文
20
+ art: 人工語言
21
+ as: 阿薩姆文
22
+ ast: 阿斯圖里亞文
23
+ ath: 阿薩帕斯坎諸語言
24
+ aus: 澳洲諸語言
25
+ av: 阿瓦爾文
26
+ awa: 阿瓦文
27
+ ay: 艾馬拉文
28
+ az: 亞塞拜然文
29
+ ba: 巴什客爾文
30
+ bad: 班達文
31
+ bai: 巴米累克諸語言
32
+ ban: 峇里文
33
+ bas: 巴薩文
34
+ bat: 波羅的海諸語言
35
+ be: 白俄羅斯文
36
+ bej: 貝扎文
37
+ bem: 別姆巴文
38
+ ber: 柏柏爾文
39
+ bg: 保加利亞文
40
+ bh: 比哈爾文
41
+ bho: 博傑普爾文
42
+ bi: 比斯拉馬文
43
+ bik: 比科爾文
44
+ bla: 錫克錫卡文
45
+ bnt: 班圖諸語言
46
+ bo: 藏文
47
+ bs: 波士尼亞文
48
+ bua: 布里阿特文
49
+ bug: 布吉斯文
50
+ byn: 比林文
51
+ ca: 加泰羅尼亞文
52
+ cai: 中美印第安諸語言
53
+ car: 加勒比文
54
+ cau: 高加索諸語言
55
+ cch: 阿燦文
56
+ ce: 車臣文
57
+ ceb: 宿霧文
58
+ cel: 凱爾特諸語言
59
+ ch: 查莫洛文
60
+ chb: 奇布查文
61
+ chk: 處奇斯文
62
+ chm: 馬里文
63
+ chn: 契奴克文
64
+ cho: 喬克托文
65
+ chp: 奇佩瓦揚文
66
+ chr: 柴羅基文
67
+ chy: 沙伊安文
68
+ cmc: 佔語諸語言
69
+ cpe: 歐洲腔調和洋涇濱,源自英文的(其他)
70
+ cpf: 歐洲腔調和洋涇濱,源自法文的(其他)
71
+ cpp: 歐洲腔調和洋涇濱,源自葡萄牙文的(其他)
72
+ cr: 克裡文
73
+ crh: 克里米亞半島的土耳其文;克里米亞半島的塔塔爾文
74
+ crp: 克里奧爾文和皮欽文
75
+ csb: 卡舒布文
76
+ cus: 庫施特諸語言
77
+ cy: 威爾斯文
78
+ da: 丹麥文
79
+ dak: 達科他文
80
+ dar: 達爾格瓦文
81
+ day: 迪雅克文
82
+ de-AT: "德文 (奧地利)"
83
+ del: 德拉瓦文
84
+ den: 斯拉夫
85
+ dgr: 多格里布文
86
+ doi: 多格來文
87
+ dra: 德拉威諸語言
88
+ dsb: 下索布文
89
+ dua: 杜亞拉文
90
+ dum: 中古荷蘭文
91
+ dv: 迪維西文
92
+ ee: 埃維文
93
+ efi: 埃菲克文
94
+ egy: 古埃及文
95
+ eka: 艾卡朱克文
96
+ el: 希臘文
97
+ elx: 埃蘭文
98
+ en-AU: "英文 (澳洲)"
99
+ en-GB: "英文 (英國)"
100
+ en-US: "英文 (美國)"
101
+ eo: 世界語
102
+ es-419: "西班牙文 (拉丁美洲)"
103
+ es-ES: "西班牙文 (西班牙)"
104
+ et: 愛沙尼亞文
105
+ ewo: 依汪都文
106
+ fan: 芳族文
107
+ ff: 富拉文
108
+ fi: 芬蘭文
109
+ fil: 菲律賓文
110
+ fiu: 芬烏諸語言
111
+ fj: 斐濟文
112
+ fo: 法羅文
113
+ fon: 豐文
114
+ fr-CH: "法文 (瑞士)"
115
+ frr: 北弗里西亞文
116
+ frs: 東弗里西亞文
117
+ fy: 西弗里西亞文
118
+ ga: 愛爾蘭文
119
+ gaa: 加族文
120
+ gay: 加約文
121
+ gba: 葛巴亞文
122
+ gd: "蘇格蘭 - 蓋爾文"
123
+ gem: 日耳曼諸語言
124
+ gez: 吉茲文
125
+ gil: 吉爾伯特群島文
126
+ gl: 加里西亞文
127
+ gmh: 中古高地日耳曼文
128
+ goh: 古高地日耳曼文
129
+ gon: 岡德文
130
+ gor: 科隆達羅文
131
+ got: 哥德文
132
+ grc: 古希臘文
133
+ gu: 吉亞拉塔文
134
+ gv: 曼島文
135
+ gwi: 圭契文
136
+ hai: 海達文
137
+ he: 希伯來文
138
+ hi: 北印度文
139
+ hil: 希利蓋農文
140
+ him: 赫馬查利文
141
+ hit: 赫梯文
142
+ hmn: 孟文
143
+ ho: 西里莫圖土文
144
+ hr: 克羅埃西亞文
145
+ ht: 海地文
146
+ hy: 亞美尼亞文
147
+ hz: 赫雷羅文
148
+ ia: 國際文A
149
+ id: 印尼文
150
+ ie: 國際文E
151
+ ig: 伊布文
152
+ ii: 四川彝文
153
+ ijo: 伊喬文
154
+ ik: 依奴皮維克文
155
+ ilo: 伊洛闊文
156
+ inc: 印度諸語言
157
+ ine: 印歐諸語言
158
+ io: 伊朗文
159
+ ira: 伊朗諸語言
160
+ iro: 易洛魁文
161
+ is: 冰島文
162
+ it: 義大利文
163
+ iu: 因紐特文
164
+ jbo: 邏輯文
165
+ jpr: 猶太教-波斯文
166
+ jrb: 猶太阿拉伯文
167
+ ka: 喬治亞文
168
+ kaa: 卡拉卡爾帕克文
169
+ kab: 卡比爾文
170
+ kar: 克倫文
171
+ kbd: 卡巴爾達文
172
+ kfo: 科羅文
173
+ kg: 剛果文
174
+ khi: 科依桑諸語言
175
+ kho: 和闐文
176
+ ki: 吉庫尤文
177
+ kj: 廣亞馬文
178
+ kk: 哈薩克文
179
+ kl: 格陵蘭文
180
+ km: 高棉文
181
+ kn: 坎那達文
182
+ ko: 韓文
183
+ kok: 貢根文
184
+ kos: 科斯雷恩文
185
+ kr: 卡努裡文
186
+ krc: 卡拉柴-包爾卡爾文
187
+ kro: 克魯文
188
+ kru: 庫魯科文
189
+ ks: 克什米爾文
190
+ ku: 庫爾德文
191
+ kum: 庫密克文
192
+ kut: 庫特奈文
193
+ kw: 康瓦耳文
194
+ ky: 吉爾吉斯文
195
+ lad: 拉迪諾文
196
+ lah: 拉亨達文
197
+ lam: 蘭巴文
198
+ lb: 盧森堡文
199
+ lez: 列茲干文
200
+ lg: 干達文
201
+ li: 林堡文
202
+ lo: 寮國文
203
+ lol: 芒戈文
204
+ loz: 洛齊文
205
+ lt: 立陶宛語
206
+ lu: 魯巴加丹加文
207
+ lua: 魯巴魯魯亞文
208
+ lui: 路易塞諾文
209
+ lun: 盧恩達文
210
+ luo: 盧奧文
211
+ lus: 盧晒文
212
+ lv: 拉脫維亞文
213
+ mad: 馬都拉文
214
+ mag: 馬加伊文
215
+ mai: 邁蒂利文
216
+ mak: 望加錫文
217
+ map: 南島諸語言
218
+ mas: 馬賽文
219
+ mdr: 曼達文
220
+ men: 門德文
221
+ mg: 馬爾加什文
222
+ mga: 中古愛爾蘭文
223
+ mh: 馬紹爾文
224
+ mic: 米克馬克文
225
+ min: 米南卡堡文
226
+ mis: 混雜語諸語言
227
+ mk: 馬其頓文
228
+ mkh: 孟高棉諸語言
229
+ ml: 馬來亞拉姆文
230
+ mnc: 滿族文
231
+ mni: 曼尼普裡文
232
+ mno: 馬諾博諸語言
233
+ mo: 摩爾多瓦文
234
+ moh: 莫霍克文
235
+ mr: 馬拉地文
236
+ ms: 馬來文
237
+ mt: 馬爾他文
238
+ mul: 多種語言
239
+ mun: 蒙達諸語言
240
+ mus: 克里克文
241
+ mwl: 米蘭德斯文
242
+ mwr: 馬爾尼裡文
243
+ my: 緬甸文
244
+ myn: 馬雅諸語言
245
+ myv: 厄爾茲亞文
246
+ na: 諾魯文
247
+ nah: 納瓦特文
248
+ nai: 北美印第安諸語言
249
+ nb: 挪威波克默爾文
250
+ nd: 北地畢列文
251
+ nds: 低地日耳曼文;低地薩克遜文
252
+ ne: 尼泊爾文
253
+ new: 尼瓦爾文
254
+ ng: 恩東加文
255
+ nia: 尼亞斯文
256
+ nic: 尼日爾科爾多凡諸語言
257
+ niu: 紐埃文
258
+ nl: 荷蘭文
259
+ nl-BE: 法蘭德斯文
260
+ nn: 新挪威文
261
+ nog: 諾蓋文
262
+ non: 古諾爾斯文
263
+ nqo: 西非書面語言(N'ko)
264
+ nr: 南地畢列文
265
+ nub: 努比亞諸語言
266
+ nv: 納瓦約文
267
+ nwc: 古尼瓦爾文
268
+ ny: 尼揚賈文
269
+ nym: 尼揚韋齊文
270
+ nyn: 尼揚科萊文
271
+ nyo: 尼奧囉文
272
+ nzi: 尼茲馬文
273
+ oc: 奧克西坦文
274
+ oj: 奧杰布瓦文
275
+ om: 阿曼文
276
+ or: 歐里亞文
277
+ os: 奧塞提文
278
+ osa: 歐塞奇文
279
+ ota: "鄂圖曼土耳其文 (1500-1928)"
280
+ oto: 奧托米諸語言
281
+ paa: 巴布亞諸語言
282
+ pag: 潘加辛文
283
+ pal: 巴列維文
284
+ pam: 潘帕嘉文
285
+ pap: 帕皮阿門托文
286
+ pau: 帛琉文
287
+ peo: "古波斯文 (ca.600-400 B.C.)"
288
+ phi: 菲律賓諸語言
289
+ pl: 波蘭文
290
+ pon: 波那貝文
291
+ pra: 普拉克里特諸語言
292
+ pro: 古普羅旺斯文
293
+ ps: 普什圖文
294
+ pt-PT: "葡萄牙文 (葡萄牙)"
295
+ qu: 蓋丘亞文
296
+ raj: 拉賈斯坦諸文
297
+ rap: 復活島文
298
+ rar: 拉羅通加文
299
+ rm: 里托羅曼斯文
300
+ rn: 隆迪文
301
+ ro: 羅馬尼亞文
302
+ roa: 羅曼諸語言
303
+ rom: 吉普賽文
304
+ root: 根語言
305
+ rup: 羅馬尼亞語系
306
+ rw: 盧安達文
307
+ sad: 桑達韋文
308
+ sah: 雅庫特文
309
+ sai: 南美印第安諸語言
310
+ sal: 薩利什諸語言
311
+ sam: 薩瑪利亞阿拉姆文
312
+ sas: 撒撒克文
313
+ sat: 散塔利文
314
+ sc: 撒丁文
315
+ sco: 蘇格蘭文
316
+ sd: 印度語
317
+ se: 北方薩米文
318
+ sel: 瑟爾卡普文
319
+ sem: 閃語諸語言
320
+ sga: "古愛爾蘭文(至 900)"
321
+ sgn: 手語
322
+ sh: 塞爾維亞克羅埃西亞文
323
+ shn: 撣文
324
+ si: 僧伽羅文
325
+ sid: 希達摩文
326
+ sio: 蘇語諸語言
327
+ sit: 漢藏諸語言
328
+ sl: 斯洛維尼亞文
329
+ sla: 斯拉夫諸語言
330
+ sm: 薩摩亞文
331
+ sma: 南薩米文
332
+ smi: 薩米諸語言
333
+ smj: 魯勒薩米文
334
+ smn: 伊納裡薩米文
335
+ sms: 斯科特薩米文
336
+ sn: 塞內加爾文
337
+ so: 索馬利文
338
+ sog: 索格底亞納文
339
+ sq: 阿爾巴尼亞文
340
+ sr: 塞爾維亞文
341
+ srn: 蘇拉南東墎文
342
+ srr: 塞雷爾文
343
+ ssa: 尼羅撒哈拉諸語言
344
+ su: 巽他語
345
+ suk: 蘇庫馬文
346
+ sus: 蘇蘇文
347
+ sux: 蘇美文
348
+ sw: 史瓦希里文
349
+ syc: 古敘利亞文
350
+ syr: 敘利亞文
351
+ ta: 坦米爾文
352
+ tai: 傣語諸語言
353
+ te: 泰盧固文
354
+ tem: 提姆文
355
+ ter: 泰雷諾文
356
+ tet: 泰頓文
357
+ ti: 提格利尼亞文
358
+ tig: 蒂格雷文
359
+ tiv: 提夫文
360
+ tk: 土庫曼文
361
+ tkl: 托克勞文
362
+ tl: 塔加路族文
363
+ tlh: 克林貢文
364
+ tli: 特林基特文
365
+ tmh: 塔馬奇克文
366
+ tn: 突尼西亞文
367
+ to: 東加文
368
+ tog: 湯加文(尼亞薩文)
369
+ tpi: 托比辛文
370
+ ts: 特松加文
371
+ tsi: 欽西安文
372
+ tt: 韃靼文
373
+ tum: 圖姆布卡文
374
+ tup: 圖皮諸語言
375
+ tut: 阿爾泰諸語言(其他)
376
+ tvl: 吐瓦魯文
377
+ ty: 大溪地文
378
+ tyv: 土凡文
379
+ udm: 沃蒂艾克文
380
+ ug: 維吾爾文
381
+ uga: 烏加列文
382
+ uk: 烏克蘭文
383
+ umb: 姆本杜文
384
+ und: 未確定的
385
+ ur: 烏爾都文
386
+ uz: 烏茲別克文
387
+ vai: "越南文 Vai"
388
+ ve: 溫達文
389
+ wak: 瓦卡什諸語言
390
+ war: 瓦瑞文
391
+ was: 瓦紹文
392
+ wen: 索布諸語言
393
+ wo: 沃爾夫文
394
+ xal: 卡爾梅克文
395
+ xh: 科薩文
396
+ yao: 瑤文
397
+ yi: 意第緒文
398
+ yo: 約魯巴文
399
+ ypk: 尤皮克諸語言
400
+ za: 壯文
401
+ zap: 薩波特克文
402
+ zbl: 布列斯符號
403
+ zen: 澤納加文
404
+ zh-Hans: 簡體中文
405
+ zh-Hant: 繁體中文
406
+ znd: 贊德文
407
+ zu: 祖魯文
408
+ zun: 祖尼文
409
+ zxx: 無語言內容
@@ -0,0 +1,30 @@
1
+ zh-Hant:
2
+ numbers:
3
+ formats:
4
+ currency:
5
+ patterns:
6
+ default: {}
7
+ unit:
8
+ other: "{0} {1}"
9
+ decimal:
10
+ patterns:
11
+ default: {}
12
+ percent:
13
+ patterns:
14
+ default: {}
15
+ scientific:
16
+ patterns:
17
+ default: {}
18
+ symbols:
19
+ decimal: "."
20
+ exponential: E
21
+ group: ","
22
+ infinity: ∞
23
+ list: ;
24
+ minus_sign: "-"
25
+ nan: NaN
26
+ native_zero_digit: 0
27
+ pattern_digit: "#"
28
+ per_mille: ‰
29
+ percent_sign: "%"
30
+ plus_sign: +
@@ -0,0 +1,45 @@
1
+ require File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "spec_helper")
2
+ include TwitterCldr
3
+
4
+ describe Date do
5
+ describe "#localize" do
6
+ it "should localize with the given locale, English by default" do
7
+ date = Date.today
8
+ loc_date = date.localize
9
+ loc_date.should be_a(LocalizedDate)
10
+ loc_date.locale.should == :en
11
+ loc_date.base_obj.should == date
12
+
13
+ loc_date = Date.today.localize(:it)
14
+ loc_date.should be_a(LocalizedDate)
15
+ loc_date.locale.should == :it
16
+ end
17
+ end
18
+ end
19
+
20
+ describe LocalizedDate do
21
+ context "with an unsupported type" do
22
+ it "raise an error because 'albatross' is not a supported type" do
23
+ date = Date.today.localize(:it)
24
+ lambda { date.to_albatross_s }.should raise_error("Method not supported")
25
+ end
26
+ end
27
+
28
+ describe "#to_datetime" do
29
+ it "should combine a date and a time object into a datetime" do
30
+ date = Date.new(1987, 9, 20)
31
+ time = Time.local(2000, 5, 12, 22, 5)
32
+ datetime = date.localize.to_datetime(time)
33
+ datetime.should be_a(LocalizedDateTime)
34
+ datetime.base_obj.strftime("%Y-%m-%d %H:%M:%S").should == "1987-09-20 22:05:00"
35
+ end
36
+
37
+ it "should work with an instance of LocalizedTime too" do
38
+ date = Date.new(1987, 9, 20)
39
+ time = Time.local(2000, 5, 12, 22, 5).localize
40
+ datetime = date.localize.to_datetime(time)
41
+ datetime.should be_a(LocalizedDateTime)
42
+ datetime.base_obj.strftime("%Y-%m-%d %H:%M:%S").should == "1987-09-20 22:05:00"
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,43 @@
1
+ require File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "spec_helper")
2
+ include TwitterCldr
3
+
4
+ describe DateTime do
5
+ describe "#localize" do
6
+ it "should localize with the given locale, English by default" do
7
+ date = DateTime.now
8
+ loc_date = date.localize
9
+ loc_date.should be_a(LocalizedDateTime)
10
+ loc_date.locale.should == :en
11
+ loc_date.base_obj.should == date
12
+
13
+ loc_date = DateTime.now.localize(:it)
14
+ loc_date.should be_a(LocalizedDateTime)
15
+ loc_date.locale.should == :it
16
+ end
17
+ end
18
+ end
19
+
20
+ describe LocalizedDateTime do
21
+ context "with an unsupported type" do
22
+ it "raise an error because 'albatross' is not a supported type" do
23
+ date_time = DateTime.now.localize(:it)
24
+ lambda { date_time.to_albatross_s }.should raise_error("Method not supported")
25
+ end
26
+ end
27
+
28
+ describe "#to_date" do
29
+ it "should convert to a date" do
30
+ date = DateTime.new(1987, 9, 20, 22, 5).localize.to_date
31
+ date.should be_a(LocalizedDate)
32
+ date.base_obj.strftime("%Y-%m-%d").should == "1987-09-20"
33
+ end
34
+ end
35
+
36
+ describe "#to_time" do
37
+ it "should convert to a time" do
38
+ time = DateTime.new(1987, 9, 20, 22, 5).localize.to_time
39
+ time.should be_a(LocalizedTime)
40
+ time.base_obj.getgm.strftime("%H:%M:%S").should == "22:05:00"
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,45 @@
1
+ require File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "spec_helper")
2
+ include TwitterCldr
3
+
4
+ describe Time do
5
+ describe "#localize" do
6
+ it "should localize with the given locale, English by default" do
7
+ time = Time.now
8
+ loc_time = time.localize
9
+ loc_time.should be_a(LocalizedTime)
10
+ loc_time.locale.should == :en
11
+ loc_time.base_obj.should == time
12
+
13
+ loc_time = Time.now.localize(:it)
14
+ loc_time.should be_a(LocalizedTime)
15
+ loc_time.locale.should == :it
16
+ end
17
+ end
18
+ end
19
+
20
+ describe LocalizedTime do
21
+ context "with an unsupported type" do
22
+ it "raise an error because 'albatross' is not a supported type" do
23
+ time = Time.now.localize(:it)
24
+ lambda { time.to_albatross_s }.should raise_error("Method not supported")
25
+ end
26
+ end
27
+
28
+ describe "#to_datetime" do
29
+ it "should combine a date and a time object into a datetime" do
30
+ date = Date.new(1987, 9, 20)
31
+ time = Time.local(2000, 5, 12, 22, 5)
32
+ datetime = time.localize.to_datetime(date)
33
+ datetime.should be_a(LocalizedDateTime)
34
+ datetime.base_obj.strftime("%Y-%m-%d %H:%M:%S").should == "1987-09-20 22:05:00"
35
+ end
36
+
37
+ it "should work with an instance of LocalizedDate too" do
38
+ date = Date.new(1987, 9, 20).localize
39
+ time = Time.local(2000, 5, 12, 22, 5)
40
+ datetime = time.localize.to_datetime(date)
41
+ datetime.should be_a(LocalizedDateTime)
42
+ datetime.base_obj.strftime("%Y-%m-%d %H:%M:%S").should == "1987-09-20 22:05:00"
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,19 @@
1
+ require File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "spec_helper")
2
+ include TwitterCldr
3
+
4
+ describe Bignum do
5
+ describe "#localize" do
6
+ it "should localize with the given locale, English by default" do
7
+ num = 9719791287349172340823094829
8
+ num.should be_a(Bignum)
9
+ loc_num = num.localize
10
+ loc_num.should be_a(LocalizedNumber)
11
+ loc_num.locale.should == :en
12
+ loc_num.base_obj.should == num
13
+
14
+ loc_num = num.localize(:it)
15
+ loc_num.should be_a(LocalizedNumber)
16
+ loc_num.locale.should == :it
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ require File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "spec_helper")
2
+ include TwitterCldr
3
+
4
+ describe Fixnum do
5
+ describe "#localize" do
6
+ it "should localize with the given locale, English by default" do
7
+ num = 1337
8
+ num.should be_a(Fixnum)
9
+ loc_num = num.localize
10
+ loc_num.should be_a(LocalizedNumber)
11
+ loc_num.locale.should == :en
12
+ loc_num.base_obj.should == num
13
+
14
+ loc_num = num.localize(:it)
15
+ loc_num.should be_a(LocalizedNumber)
16
+ loc_num.locale.should == :it
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ require File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "spec_helper")
2
+ include TwitterCldr
3
+
4
+ describe Float do
5
+ describe "#localize" do
6
+ it "should localize with the given locale, English by default" do
7
+ num = 1337.8
8
+ num.should be_a(Float)
9
+ loc_num = num.localize
10
+ loc_num.should be_a(LocalizedNumber)
11
+ loc_num.locale.should == :en
12
+ loc_num.base_obj.should == num
13
+
14
+ loc_num = num.localize(:it)
15
+ loc_num.should be_a(LocalizedNumber)
16
+ loc_num.locale.should == :it
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,53 @@
1
+ require File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "spec_helper")
2
+ include TwitterCldr
3
+
4
+ describe LocalizedNumber do
5
+ before(:each) do
6
+ @number = 10.localize
7
+ end
8
+
9
+ describe "#to_decimal" do
10
+ it "should internally create a decimal formatter and return itself" do
11
+ mock.proxy(TwitterCldr::Formatters).const_get(:DecimalFormatter)
12
+ @number.to_decimal.should == @number
13
+ end
14
+ end
15
+
16
+ describe "#to_currency" do
17
+ it "should internally create a currency formatter and return itself" do
18
+ mock.proxy(TwitterCldr::Formatters).const_get(:CurrencyFormatter)
19
+ @number.to_currency.should == @number
20
+ end
21
+ end
22
+
23
+ describe "#to_percent" do
24
+ it "should internally create a percentage formatter and return itself" do
25
+ mock.proxy(TwitterCldr::Formatters).const_get(:PercentFormatter)
26
+ @number.to_percent.should == @number
27
+ end
28
+ end
29
+
30
+ describe "#to_s" do
31
+ it "should default precision to zero for fixnums" do
32
+ mock(@number.formatter).format(@number.base_obj, :precision => 0)
33
+ @number.to_s
34
+ end
35
+
36
+ it "should not overwrite precision when explicitly passed" do
37
+ mock(@number.formatter).format(@number.base_obj, :precision => 2)
38
+ @number.to_s(:precision => 2)
39
+ end
40
+ end
41
+
42
+ describe "#plural_rule" do
43
+ it "should return the appropriate plural rule for the number" do
44
+ 1.localize(:ru).plural_rule.should == :one
45
+ 2.localize(:ru).plural_rule.should == :few
46
+ 5.localize(:ru).plural_rule.should == :many
47
+ FastGettext.locale = :es
48
+ 1.localize.plural_rule.should == :one
49
+ 2.localize.plural_rule.should == :other
50
+ 5.localize.plural_rule.should == :other
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,23 @@
1
+ require File.join(File.dirname(File.dirname(File.dirname(__FILE__))), "spec_helper")
2
+ include TwitterCldr
3
+
4
+ describe LocalizedSymbol do
5
+ describe "#as_language_code" do
6
+ it "returns the correct localized language from the symbol" do
7
+ :es.localize.as_language_code.should == "Spanish"
8
+ FastGettext.locale = :es
9
+ :es.localize.as_language_code.should == "español"
10
+ end
11
+
12
+ it "returns nil if the symbol doesn't correspond to a language code" do
13
+ :blarg.localize.as_language_code.should == nil
14
+ end
15
+
16
+ it "returns the correct value for mapped as well as CLDR language codes" do
17
+ :'zh-cn'.localize.as_language_code.should == "Chinese"
18
+ :'zh-tw'.localize.as_language_code.should == "Traditional Chinese"
19
+ :'zh-Hant'.localize.as_language_code.should == "Traditional Chinese"
20
+ :'zh'.localize.as_language_code.should == "Chinese"
21
+ end
22
+ end
23
+ end