twitter_cldr 2.2.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (387) hide show
  1. data/Gemfile +2 -2
  2. data/History.txt +11 -0
  3. data/README.md +2 -2
  4. data/Rakefile +1 -1
  5. data/lib/twitter_cldr.rb +1 -0
  6. data/lib/twitter_cldr/core_ext.rb +1 -1
  7. data/lib/twitter_cldr/formatters/base.rb +3 -3
  8. data/lib/twitter_cldr/formatters/calendars/datetime_formatter.rb +32 -23
  9. data/lib/twitter_cldr/formatters/numbers/abbreviated/abbreviated_number_formatter.rb +3 -2
  10. data/lib/twitter_cldr/localized/localized_date.rb +32 -13
  11. data/lib/twitter_cldr/localized/localized_datetime.rb +24 -6
  12. data/lib/twitter_cldr/localized/localized_time.rb +12 -3
  13. data/lib/twitter_cldr/resources/download.rb +7 -1
  14. data/lib/twitter_cldr/resources/language_codes_importer.rb +8 -8
  15. data/lib/twitter_cldr/resources/loader.rb +1 -1
  16. data/lib/twitter_cldr/resources/tailoring_importer.rb +1 -3
  17. data/lib/twitter_cldr/shared/languages.rb +1 -1
  18. data/lib/twitter_cldr/tokenizers/calendars/datetime_tokenizer.rb +2 -1
  19. data/lib/twitter_cldr/version.rb +1 -1
  20. data/resources/collation/tailoring/af.yml +0 -1
  21. data/resources/collation/tailoring/ar.yml +3 -12
  22. data/resources/collation/tailoring/be.yml +4 -5
  23. data/resources/collation/tailoring/bg.yml +1 -2
  24. data/resources/collation/tailoring/bn.yml +3 -5
  25. data/resources/collation/tailoring/ca.yml +3 -6
  26. data/resources/collation/tailoring/cs.yml +3 -14
  27. data/resources/collation/tailoring/cy.yml +3 -26
  28. data/resources/collation/tailoring/da.yml +3 -31
  29. data/resources/collation/tailoring/de.yml +0 -1
  30. data/resources/collation/tailoring/el.yml +0 -1
  31. data/resources/collation/tailoring/en.yml +0 -1
  32. data/resources/collation/tailoring/es.yml +3 -4
  33. data/resources/collation/tailoring/eu.yml +0 -1
  34. data/resources/collation/tailoring/fa.yml +3 -38
  35. data/resources/collation/tailoring/fi.yml +3 -24
  36. data/resources/collation/tailoring/fil.yml +3 -7
  37. data/resources/collation/tailoring/fr.yml +0 -1
  38. data/resources/collation/tailoring/ga.yml +0 -1
  39. data/resources/collation/tailoring/gl.yml +0 -1
  40. data/resources/collation/tailoring/he.yml +3 -2
  41. data/resources/collation/tailoring/hi.yml +3 -5
  42. data/resources/collation/tailoring/hu.yml +3 -64
  43. data/resources/collation/tailoring/id.yml +0 -1
  44. data/resources/collation/tailoring/it.yml +0 -1
  45. data/resources/collation/tailoring/ja.yml +55 -7429
  46. data/resources/collation/tailoring/ko.yml +3 -7478
  47. data/resources/collation/tailoring/lv.yml +3 -18
  48. data/resources/collation/tailoring/ms.yml +0 -1
  49. data/resources/collation/tailoring/nb.yml +3 -31
  50. data/resources/collation/tailoring/nl.yml +0 -1
  51. data/resources/collation/tailoring/pl.yml +3 -20
  52. data/resources/collation/tailoring/pt.yml +0 -1
  53. data/resources/collation/tailoring/ro.yml +3 -16
  54. data/resources/collation/tailoring/ru.yml +1 -2
  55. data/resources/collation/tailoring/sk.yml +3 -18
  56. data/resources/collation/tailoring/sq.yml +3 -33
  57. data/resources/collation/tailoring/sr.yml +1 -2
  58. data/resources/collation/tailoring/sv.yml +3 -30
  59. data/resources/collation/tailoring/ta.yml +3 -29
  60. data/resources/collation/tailoring/th.yml +3 -11
  61. data/resources/collation/tailoring/tr.yml +3 -15
  62. data/resources/collation/tailoring/uk.yml +4 -5
  63. data/resources/collation/tailoring/ur.yml +3 -83
  64. data/resources/collation/tailoring/vi.yml +3 -20
  65. data/resources/collation/tailoring/zh-Hant.yml +14 -75240
  66. data/resources/collation/tailoring/zh.yml +44 -41897
  67. data/resources/collation/tries/af.dump +0 -0
  68. data/resources/collation/tries/ar.dump +0 -0
  69. data/resources/collation/tries/be.dump +0 -0
  70. data/resources/collation/tries/bg.dump +0 -0
  71. data/resources/collation/tries/bn.dump +0 -0
  72. data/resources/collation/tries/ca.dump +0 -0
  73. data/resources/collation/tries/cs.dump +0 -0
  74. data/resources/collation/tries/cy.dump +0 -0
  75. data/resources/collation/tries/da.dump +0 -0
  76. data/resources/collation/tries/de.dump +0 -0
  77. data/resources/collation/tries/default.dump +0 -0
  78. data/resources/collation/tries/el.dump +0 -0
  79. data/resources/collation/tries/en.dump +0 -0
  80. data/resources/collation/tries/es.dump +0 -0
  81. data/resources/collation/tries/eu.dump +0 -0
  82. data/resources/collation/tries/fa.dump +0 -0
  83. data/resources/collation/tries/fi.dump +0 -0
  84. data/resources/collation/tries/fil.dump +0 -0
  85. data/resources/collation/tries/fr.dump +0 -0
  86. data/resources/collation/tries/ga.dump +0 -0
  87. data/resources/collation/tries/gl.dump +0 -0
  88. data/resources/collation/tries/he.dump +0 -0
  89. data/resources/collation/tries/hi.dump +0 -0
  90. data/resources/collation/tries/hu.dump +0 -0
  91. data/resources/collation/tries/id.dump +0 -0
  92. data/resources/collation/tries/it.dump +0 -0
  93. data/resources/collation/tries/ja.dump +0 -0
  94. data/resources/collation/tries/ko.dump +0 -0
  95. data/resources/collation/tries/lv.dump +0 -0
  96. data/resources/collation/tries/ms.dump +0 -0
  97. data/resources/collation/tries/nb.dump +0 -0
  98. data/resources/collation/tries/nl.dump +0 -0
  99. data/resources/collation/tries/pl.dump +0 -0
  100. data/resources/collation/tries/pt.dump +0 -0
  101. data/resources/collation/tries/ro.dump +0 -0
  102. data/resources/collation/tries/ru.dump +0 -0
  103. data/resources/collation/tries/sk.dump +0 -0
  104. data/resources/collation/tries/sq.dump +0 -0
  105. data/resources/collation/tries/sr.dump +0 -0
  106. data/resources/collation/tries/sv.dump +0 -0
  107. data/resources/collation/tries/ta.dump +0 -0
  108. data/resources/collation/tries/th.dump +0 -0
  109. data/resources/collation/tries/tr.dump +0 -0
  110. data/resources/collation/tries/uk.dump +0 -0
  111. data/resources/collation/tries/ur.dump +0 -0
  112. data/resources/collation/tries/vi.dump +0 -0
  113. data/resources/collation/tries/zh-Hant.dump +0 -0
  114. data/resources/collation/tries/zh.dump +0 -0
  115. data/resources/locales/af/calendars.yml +5 -4
  116. data/resources/locales/af/currencies.yml +2 -0
  117. data/resources/locales/af/layout.yml +2 -1
  118. data/resources/locales/ar/calendars.yml +10 -10
  119. data/resources/locales/ar/currencies.yml +7 -0
  120. data/resources/locales/ar/layout.yml +1 -1
  121. data/resources/locales/be/calendars.yml +9 -9
  122. data/resources/locales/be/currencies.yml +1 -2
  123. data/resources/locales/be/layout.yml +2 -1
  124. data/resources/locales/bg/calendars.yml +8 -11
  125. data/resources/locales/bg/currencies.yml +3 -0
  126. data/resources/locales/bg/layout.yml +2 -1
  127. data/resources/locales/bg/territories.yml +1 -1
  128. data/resources/locales/bn/calendars.yml +6 -7
  129. data/resources/locales/bn/currencies.yml +2 -0
  130. data/resources/locales/bn/layout.yml +2 -1
  131. data/resources/locales/bn/territories.yml +1 -1
  132. data/resources/locales/ca/calendars.yml +8 -7
  133. data/resources/locales/ca/currencies.yml +3 -0
  134. data/resources/locales/ca/layout.yml +2 -1
  135. data/resources/locales/cs/calendars.yml +10 -11
  136. data/resources/locales/cs/currencies.yml +4 -0
  137. data/resources/locales/cs/layout.yml +2 -1
  138. data/resources/locales/cs/territories.yml +1 -1
  139. data/resources/locales/cy/calendars.yml +22 -12
  140. data/resources/locales/cy/currencies.yml +1080 -3
  141. data/resources/locales/cy/languages.yml +107 -23
  142. data/resources/locales/cy/layout.yml +2 -1
  143. data/resources/locales/cy/lists.yml +1 -1
  144. data/resources/locales/cy/numbers.yml +16 -4
  145. data/resources/locales/cy/territories.yml +257 -1
  146. data/resources/locales/cy/units.yml +175 -28
  147. data/resources/locales/da/calendars.yml +6 -9
  148. data/resources/locales/da/currencies.yml +3 -0
  149. data/resources/locales/da/layout.yml +2 -1
  150. data/resources/locales/da/territories.yml +1 -1
  151. data/resources/locales/de/calendars.yml +8 -11
  152. data/resources/locales/de/currencies.yml +3 -0
  153. data/resources/locales/de/layout.yml +2 -1
  154. data/resources/locales/de/territories.yml +1 -1
  155. data/resources/locales/el/calendars.yml +9 -11
  156. data/resources/locales/el/currencies.yml +3 -0
  157. data/resources/locales/el/layout.yml +2 -1
  158. data/resources/locales/el/numbers.yml +1 -0
  159. data/resources/locales/el/territories.yml +1 -1
  160. data/resources/locales/en/calendars.yml +8 -5
  161. data/resources/locales/en/currencies.yml +3 -0
  162. data/resources/locales/en/languages.yml +2 -1
  163. data/resources/locales/en/layout.yml +2 -1
  164. data/resources/locales/en/territories.yml +3 -3
  165. data/resources/locales/es/calendars.yml +6 -7
  166. data/resources/locales/es/currencies.yml +3 -0
  167. data/resources/locales/es/layout.yml +2 -1
  168. data/resources/locales/es/territories.yml +2 -2
  169. data/resources/locales/eu/calendars.yml +5 -4
  170. data/resources/locales/eu/currencies.yml +2 -0
  171. data/resources/locales/eu/layout.yml +2 -1
  172. data/resources/locales/eu/territories.yml +1 -1
  173. data/resources/locales/fa/calendars.yml +6 -8
  174. data/resources/locales/fa/currencies.yml +2 -0
  175. data/resources/locales/fa/layout.yml +1 -1
  176. data/resources/locales/fa/territories.yml +1 -1
  177. data/resources/locales/fi/calendars.yml +11 -14
  178. data/resources/locales/fi/currencies.yml +3 -0
  179. data/resources/locales/fi/layout.yml +2 -1
  180. data/resources/locales/fil/calendars.yml +5 -5
  181. data/resources/locales/fil/currencies.yml +2 -0
  182. data/resources/locales/fil/layout.yml +2 -1
  183. data/resources/locales/fil/territories.yml +1 -1
  184. data/resources/locales/fr/calendars.yml +9 -16
  185. data/resources/locales/fr/currencies.yml +3 -1
  186. data/resources/locales/fr/layout.yml +2 -1
  187. data/resources/locales/fr/territories.yml +2 -2
  188. data/resources/locales/ga/calendars.yml +13 -12
  189. data/resources/locales/ga/currencies.yml +2 -0
  190. data/resources/locales/ga/layout.yml +2 -1
  191. data/resources/locales/gl/calendars.yml +6 -6
  192. data/resources/locales/gl/currencies.yml +2 -0
  193. data/resources/locales/gl/layout.yml +2 -1
  194. data/resources/locales/gl/territories.yml +1 -1
  195. data/resources/locales/he/calendars.yml +8 -16
  196. data/resources/locales/he/currencies.yml +2 -0
  197. data/resources/locales/he/layout.yml +1 -1
  198. data/resources/locales/he/territories.yml +1 -1
  199. data/resources/locales/hi/calendars.yml +8 -10
  200. data/resources/locales/hi/currencies.yml +2 -0
  201. data/resources/locales/hi/languages.yml +64 -74
  202. data/resources/locales/hi/layout.yml +2 -1
  203. data/resources/locales/hi/territories.yml +32 -32
  204. data/resources/locales/hr/calendars.yml +6 -7
  205. data/resources/locales/hr/currencies.yml +5 -0
  206. data/resources/locales/hr/layout.yml +2 -1
  207. data/resources/locales/hr/territories.yml +1 -1
  208. data/resources/locales/hu/calendars.yml +9 -11
  209. data/resources/locales/hu/currencies.yml +2 -0
  210. data/resources/locales/hu/layout.yml +2 -1
  211. data/resources/locales/hu/territories.yml +1 -1
  212. data/resources/locales/id/calendars.yml +7 -6
  213. data/resources/locales/id/currencies.yml +2 -0
  214. data/resources/locales/id/languages.yml +9 -9
  215. data/resources/locales/id/layout.yml +2 -1
  216. data/resources/locales/id/territories.yml +1 -1
  217. data/resources/locales/is/calendars.yml +7 -8
  218. data/resources/locales/is/currencies.yml +2 -0
  219. data/resources/locales/is/layout.yml +2 -1
  220. data/resources/locales/is/territories.yml +1 -1
  221. data/resources/locales/it/calendars.yml +5 -8
  222. data/resources/locales/it/currencies.yml +3 -0
  223. data/resources/locales/it/layout.yml +2 -1
  224. data/resources/locales/it/territories.yml +1 -1
  225. data/resources/locales/ja/calendars.yml +12 -12
  226. data/resources/locales/ja/currencies.yml +2 -0
  227. data/resources/locales/ja/layout.yml +2 -1
  228. data/resources/locales/ko/calendars.yml +12 -11
  229. data/resources/locales/ko/currencies.yml +2 -0
  230. data/resources/locales/ko/layout.yml +2 -1
  231. data/resources/locales/ko/territories.yml +1 -1
  232. data/resources/locales/lv/calendars.yml +6 -6
  233. data/resources/locales/lv/currencies.yml +4 -0
  234. data/resources/locales/lv/layout.yml +2 -1
  235. data/resources/locales/ms/calendars.yml +5 -4
  236. data/resources/locales/ms/currencies.yml +2 -0
  237. data/resources/locales/ms/layout.yml +2 -1
  238. data/resources/locales/ms/territories.yml +1 -1
  239. data/resources/locales/nb/calendars.yml +7 -7
  240. data/resources/locales/nb/currencies.yml +3 -0
  241. data/resources/locales/nb/layout.yml +2 -1
  242. data/resources/locales/nb/territories.yml +1 -1
  243. data/resources/locales/nl/calendars.yml +5 -8
  244. data/resources/locales/nl/currencies.yml +3 -0
  245. data/resources/locales/nl/layout.yml +2 -1
  246. data/resources/locales/nl/territories.yml +1 -1
  247. data/resources/locales/pl/calendars.yml +9 -10
  248. data/resources/locales/pl/currencies.yml +5 -0
  249. data/resources/locales/pl/layout.yml +2 -1
  250. data/resources/locales/pl/territories.yml +1 -1
  251. data/resources/locales/pt/calendars.yml +9 -14
  252. data/resources/locales/pt/currencies.yml +3 -0
  253. data/resources/locales/pt/layout.yml +2 -1
  254. data/resources/locales/pt/territories.yml +1 -1
  255. data/resources/locales/ro/calendars.yml +10 -12
  256. data/resources/locales/ro/currencies.yml +4 -0
  257. data/resources/locales/ro/layout.yml +2 -1
  258. data/resources/locales/ro/territories.yml +1 -1
  259. data/resources/locales/ru/calendars.yml +8 -13
  260. data/resources/locales/ru/currencies.yml +5 -0
  261. data/resources/locales/ru/languages.yml +1 -1
  262. data/resources/locales/ru/layout.yml +2 -1
  263. data/resources/locales/ru/territories.yml +15 -15
  264. data/resources/locales/sk/calendars.yml +23 -48
  265. data/resources/locales/sk/currencies.yml +5 -1
  266. data/resources/locales/sk/layout.yml +2 -1
  267. data/resources/locales/sk/territories.yml +1 -1
  268. data/resources/locales/sq/calendars.yml +9 -9
  269. data/resources/locales/sq/layout.yml +2 -1
  270. data/resources/locales/sr/calendars.yml +7 -12
  271. data/resources/locales/sr/currencies.yml +5 -0
  272. data/resources/locales/sr/languages.yml +4 -4
  273. data/resources/locales/sr/layout.yml +2 -1
  274. data/resources/locales/sr/territories.yml +1 -1
  275. data/resources/locales/sv/calendars.yml +53 -57
  276. data/resources/locales/sv/currencies.yml +4 -2
  277. data/resources/locales/sv/layout.yml +2 -1
  278. data/resources/locales/sv/numbers.yml +0 -1
  279. data/resources/locales/sv/territories.yml +1 -1
  280. data/resources/locales/ta/calendars.yml +6 -5
  281. data/resources/locales/ta/currencies.yml +2 -0
  282. data/resources/locales/ta/layout.yml +2 -1
  283. data/resources/locales/ta/territories.yml +1 -1
  284. data/resources/locales/th/calendars.yml +7 -8
  285. data/resources/locales/th/currencies.yml +2 -0
  286. data/resources/locales/th/layout.yml +2 -1
  287. data/resources/locales/tr/calendars.yml +8 -11
  288. data/resources/locales/tr/currencies.yml +3 -1
  289. data/resources/locales/tr/layout.yml +2 -1
  290. data/resources/locales/tr/territories.yml +1 -1
  291. data/resources/locales/uk/calendars.yml +8 -10
  292. data/resources/locales/uk/currencies.yml +5 -0
  293. data/resources/locales/uk/layout.yml +2 -1
  294. data/resources/locales/ur/calendars.yml +8 -7
  295. data/resources/locales/ur/currencies.yml +3 -1
  296. data/resources/locales/ur/layout.yml +1 -1
  297. data/resources/locales/ur/territories.yml +1 -1
  298. data/resources/locales/vi/calendars.yml +19 -19
  299. data/resources/locales/vi/currencies.yml +2 -0
  300. data/resources/locales/vi/layout.yml +2 -1
  301. data/resources/locales/vi/territories.yml +1 -1
  302. data/resources/locales/zh-Hant/calendars.yml +7 -10
  303. data/resources/locales/zh-Hant/currencies.yml +2 -0
  304. data/resources/locales/zh-Hant/layout.yml +2 -1
  305. data/resources/locales/zh/calendars.yml +7 -10
  306. data/resources/locales/zh/currencies.yml +2 -0
  307. data/resources/locales/zh/layout.yml +2 -1
  308. data/resources/locales/zh/territories.yml +4 -4
  309. data/resources/shared/currency_digits_and_rounding.yml +4 -1
  310. data/resources/shared/language_codes_table.dump +0 -0
  311. data/resources/shared/phone_codes.yml +1 -0
  312. data/resources/shared/postal_codes.yml +159 -159
  313. data/resources/unicode_data/blocks/alphabetic_presentation_forms.yml +23 -23
  314. data/resources/unicode_data/blocks/arabic.yml +4 -4
  315. data/resources/unicode_data/blocks/arabic_mathematical_alphabetic_symbols.yml +141 -141
  316. data/resources/unicode_data/blocks/arabic_presentation_forms_a.yml +593 -593
  317. data/resources/unicode_data/blocks/arabic_presentation_forms_b.yml +139 -139
  318. data/resources/unicode_data/blocks/armenian.yml +1 -1
  319. data/resources/unicode_data/blocks/basic_latin.yml +33 -33
  320. data/resources/unicode_data/blocks/cjk_compatibility.yml +256 -256
  321. data/resources/unicode_data/blocks/cjk_compatibility_forms.yml +30 -30
  322. data/resources/unicode_data/blocks/cjk_radicals_supplement.yml +2 -2
  323. data/resources/unicode_data/blocks/cjk_symbols_and_punctuation.yml +5 -5
  324. data/resources/unicode_data/blocks/cjk_unified_ideographs.yml +2 -2
  325. data/resources/unicode_data/blocks/cjk_unified_ideographs_extension_a.yml +2 -2
  326. data/resources/unicode_data/blocks/cjk_unified_ideographs_extension_b.yml +2 -2
  327. data/resources/unicode_data/blocks/cjk_unified_ideographs_extension_c.yml +2 -2
  328. data/resources/unicode_data/blocks/cjk_unified_ideographs_extension_d.yml +2 -2
  329. data/resources/unicode_data/blocks/cuneiform_numbers_and_punctuation.yml +4 -4
  330. data/resources/unicode_data/blocks/currency_symbols.yml +17 -1
  331. data/resources/unicode_data/blocks/enclosed_alphanumeric_supplement.yml +77 -77
  332. data/resources/unicode_data/blocks/enclosed_alphanumerics.yml +139 -139
  333. data/resources/unicode_data/blocks/enclosed_cjk_letters_and_months.yml +245 -245
  334. data/resources/unicode_data/blocks/enclosed_ideographic_supplement.yml +57 -57
  335. data/resources/unicode_data/blocks/general_punctuation.yml +26 -26
  336. data/resources/unicode_data/blocks/georgian.yml +1 -1
  337. data/resources/unicode_data/blocks/greek_and_coptic.yml +13 -13
  338. data/resources/unicode_data/blocks/greek_extended.yml +4 -4
  339. data/resources/unicode_data/blocks/halfwidth_and_fullwidth_forms.yml +225 -225
  340. data/resources/unicode_data/blocks/hangul_compatibility_jamo.yml +94 -94
  341. data/resources/unicode_data/blocks/hangul_syllables.yml +2 -2
  342. data/resources/unicode_data/blocks/high_private_use_surrogates.yml +2 -2
  343. data/resources/unicode_data/blocks/high_surrogates.yml +2 -2
  344. data/resources/unicode_data/blocks/hiragana.yml +3 -3
  345. data/resources/unicode_data/blocks/kanbun.yml +14 -14
  346. data/resources/unicode_data/blocks/kangxi_radicals.yml +214 -214
  347. data/resources/unicode_data/blocks/katakana.yml +1 -1
  348. data/resources/unicode_data/blocks/lao.yml +3 -3
  349. data/resources/unicode_data/blocks/latin_1_supplement.yml +46 -46
  350. data/resources/unicode_data/blocks/latin_extended_a.yml +6 -6
  351. data/resources/unicode_data/blocks/latin_extended_additional.yml +1 -1
  352. data/resources/unicode_data/blocks/latin_extended_b.yml +12 -12
  353. data/resources/unicode_data/blocks/latin_extended_c.yml +2 -2
  354. data/resources/unicode_data/blocks/latin_extended_d.yml +3 -3
  355. data/resources/unicode_data/blocks/letterlike_symbols.yml +53 -53
  356. data/resources/unicode_data/blocks/low_surrogates.yml +2 -2
  357. data/resources/unicode_data/blocks/mathematical_alphanumeric_symbols.yml +996 -996
  358. data/resources/unicode_data/blocks/mathematical_operators.yml +4 -4
  359. data/resources/unicode_data/blocks/number_forms.yml +49 -49
  360. data/resources/unicode_data/blocks/phonetic_extensions.yml +61 -61
  361. data/resources/unicode_data/blocks/phonetic_extensions_supplement.yml +37 -37
  362. data/resources/unicode_data/blocks/private_use_area.yml +2 -2
  363. data/resources/unicode_data/blocks/small_form_variants.yml +26 -26
  364. data/resources/unicode_data/blocks/spacing_modifier_letters.yml +20 -20
  365. data/resources/unicode_data/blocks/superscripts_and_subscripts.yml +42 -42
  366. data/resources/unicode_data/blocks/supplemental_mathematical_operators.yml +4 -4
  367. data/resources/unicode_data/blocks/supplementary_private_use_area_a.yml +2 -2
  368. data/resources/unicode_data/blocks/supplementary_private_use_area_b.yml +2 -2
  369. data/resources/unicode_data/blocks/thai.yml +1 -1
  370. data/resources/unicode_data/blocks/tibetan.yml +4 -4
  371. data/resources/unicode_data/blocks/tifinagh.yml +1 -1
  372. data/resources/unicode_data/blocks/vertical_forms.yml +10 -10
  373. data/spec/collation/trie_dumps_spec.rb +1 -1
  374. data/spec/core_ext_spec.rb +1 -1
  375. data/spec/formatters/calendars/datetime_formatter_spec.rb +1 -1
  376. data/spec/formatters/numbers/abbreviated/long_decimal_formatter_spec.rb +4 -0
  377. data/spec/formatters/numbers/abbreviated/short_decimal_formatter_spec.rb +4 -0
  378. data/spec/formatters/numbers/currency_formatter_spec.rb +5 -3
  379. data/spec/localized/localized_date_spec.rb +36 -27
  380. data/spec/localized/localized_datetime_spec.rb +10 -1
  381. data/spec/localized/localized_time_spec.rb +11 -1
  382. data/spec/readme_spec.rb +10 -11
  383. data/spec/resources/loader_spec.rb +18 -8
  384. data/spec/shared/currencies_spec.rb +1 -1
  385. data/spec/tokenizers/calendars/datetime_tokenizer_spec.rb +2 -2
  386. data/twitter_cldr.gemspec +1 -0
  387. metadata +56 -49
@@ -197,7 +197,7 @@
197
197
  - Sm
198
198
  - '0'
199
199
  - 'ON'
200
- - <compat> 222B 222B 222B 222B
200
+ - "<compat> 222B 222B 222B 222B"
201
201
  - ''
202
202
  - ''
203
203
  - ''
@@ -1861,7 +1861,7 @@
1861
1861
  - Sm
1862
1862
  - '0'
1863
1863
  - 'ON'
1864
- - <compat> 003A 003A 003D
1864
+ - "<compat> 003A 003A 003D"
1865
1865
  - ''
1866
1866
  - ''
1867
1867
  - ''
@@ -1877,7 +1877,7 @@
1877
1877
  - Sm
1878
1878
  - '0'
1879
1879
  - 'ON'
1880
- - <compat> 003D 003D
1880
+ - "<compat> 003D 003D"
1881
1881
  - ''
1882
1882
  - ''
1883
1883
  - ''
@@ -1893,7 +1893,7 @@
1893
1893
  - Sm
1894
1894
  - '0'
1895
1895
  - 'ON'
1896
- - <compat> 003D 003D 003D
1896
+ - "<compat> 003D 003D 003D"
1897
1897
  - ''
1898
1898
  - ''
1899
1899
  - ''
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  983040:
3
3
  - 983040
4
- - <Plane 15 Private Use, First>
4
+ - "<Plane 15 Private Use, First>"
5
5
  - Co
6
6
  - '0'
7
7
  - L
@@ -17,7 +17,7 @@
17
17
  - ''
18
18
  1048573:
19
19
  - 1048573
20
- - <Plane 15 Private Use, Last>
20
+ - "<Plane 15 Private Use, Last>"
21
21
  - Co
22
22
  - '0'
23
23
  - L
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  1048576:
3
3
  - 1048576
4
- - <Plane 16 Private Use, First>
4
+ - "<Plane 16 Private Use, First>"
5
5
  - Co
6
6
  - '0'
7
7
  - L
@@ -17,7 +17,7 @@
17
17
  - ''
18
18
  1114109:
19
19
  - 1114109
20
- - <Plane 16 Private Use, Last>
20
+ - "<Plane 16 Private Use, Last>"
21
21
  - Co
22
22
  - '0'
23
23
  - L
@@ -805,7 +805,7 @@
805
805
  - Lo
806
806
  - '0'
807
807
  - L
808
- - <compat> 0E4D 0E32
808
+ - "<compat> 0E4D 0E32"
809
809
  - ''
810
810
  - ''
811
811
  - ''
@@ -197,7 +197,7 @@
197
197
  - Po
198
198
  - '0'
199
199
  - L
200
- - <noBreak> 0F0B
200
+ - "<noBreak> 0F0B"
201
201
  - ''
202
202
  - ''
203
203
  - ''
@@ -824,7 +824,7 @@
824
824
  - ''
825
825
  - ''
826
826
  - ''
827
- - -1/2
827
+ - "-1/2"
828
828
  - N
829
829
  - ''
830
830
  - ''
@@ -1829,7 +1829,7 @@
1829
1829
  - Mn
1830
1830
  - '0'
1831
1831
  - NSM
1832
- - <compat> 0FB2 0F81
1832
+ - "<compat> 0FB2 0F81"
1833
1833
  - ''
1834
1834
  - ''
1835
1835
  - ''
@@ -1861,7 +1861,7 @@
1861
1861
  - Mn
1862
1862
  - '0'
1863
1863
  - NSM
1864
- - <compat> 0FB3 0F81
1864
+ - "<compat> 0FB3 0F81"
1865
1865
  - ''
1866
1866
  - ''
1867
1867
  - ''
@@ -901,7 +901,7 @@
901
901
  - Lm
902
902
  - '0'
903
903
  - L
904
- - <super> 2D61
904
+ - "<super> 2D61"
905
905
  - ''
906
906
  - ''
907
907
  - ''
@@ -5,7 +5,7 @@
5
5
  - Po
6
6
  - '0'
7
7
  - 'ON'
8
- - <vertical> 002C
8
+ - "<vertical> 002C"
9
9
  - ''
10
10
  - ''
11
11
  - ''
@@ -21,7 +21,7 @@
21
21
  - Po
22
22
  - '0'
23
23
  - 'ON'
24
- - <vertical> 3001
24
+ - "<vertical> 3001"
25
25
  - ''
26
26
  - ''
27
27
  - ''
@@ -37,7 +37,7 @@
37
37
  - Po
38
38
  - '0'
39
39
  - 'ON'
40
- - <vertical> 3002
40
+ - "<vertical> 3002"
41
41
  - ''
42
42
  - ''
43
43
  - ''
@@ -53,7 +53,7 @@
53
53
  - Po
54
54
  - '0'
55
55
  - 'ON'
56
- - <vertical> 003A
56
+ - "<vertical> 003A"
57
57
  - ''
58
58
  - ''
59
59
  - ''
@@ -69,7 +69,7 @@
69
69
  - Po
70
70
  - '0'
71
71
  - 'ON'
72
- - <vertical> 003B
72
+ - "<vertical> 003B"
73
73
  - ''
74
74
  - ''
75
75
  - ''
@@ -85,7 +85,7 @@
85
85
  - Po
86
86
  - '0'
87
87
  - 'ON'
88
- - <vertical> 0021
88
+ - "<vertical> 0021"
89
89
  - ''
90
90
  - ''
91
91
  - ''
@@ -101,7 +101,7 @@
101
101
  - Po
102
102
  - '0'
103
103
  - 'ON'
104
- - <vertical> 003F
104
+ - "<vertical> 003F"
105
105
  - ''
106
106
  - ''
107
107
  - ''
@@ -117,7 +117,7 @@
117
117
  - Ps
118
118
  - '0'
119
119
  - 'ON'
120
- - <vertical> 3016
120
+ - "<vertical> 3016"
121
121
  - ''
122
122
  - ''
123
123
  - ''
@@ -133,7 +133,7 @@
133
133
  - Pe
134
134
  - '0'
135
135
  - 'ON'
136
- - <vertical> 3017
136
+ - "<vertical> 3017"
137
137
  - ''
138
138
  - ''
139
139
  - ''
@@ -149,7 +149,7 @@
149
149
  - Po
150
150
  - '0'
151
151
  - 'ON'
152
- - <vertical> 2026
152
+ - "<vertical> 2026"
153
153
  - ''
154
154
  - ''
155
155
  - ''
@@ -9,7 +9,7 @@ include TwitterCldr::Collation
9
9
 
10
10
  describe 'trie dumps', :slow => true do
11
11
  let(:default_trie) { TrieBuilder.load_default_trie }
12
- let(:error_message) { 'expected trie dump to be up-to-date.' }
12
+ let(:error_message) { 'expected trie dump to be up-to-date.' }
13
13
 
14
14
  it 'has a valid default Fractional Collation Elements trie dump' do
15
15
  TrieLoader.load_default_trie.to_hash.should(eq(default_trie.to_hash), error_message)
@@ -7,7 +7,7 @@ require 'spec_helper'
7
7
 
8
8
  describe 'Core classes localization' do
9
9
 
10
- [Array, Bignum, Date, DateTime, Fixnum, Float, String, Symbol, Time].each do |klass|
10
+ [Array, Bignum, DateTime, Fixnum, Float, String, Symbol, Time].each do |klass|
11
11
  describe klass do
12
12
  it 'has public instance method #localize' do
13
13
  # convert methods names to symbols (they're strings in 1.8)
@@ -346,7 +346,7 @@ describe DateTimeFormatter do
346
346
  @formatter.send(:timezone, Time.gm(2000, 1, 1, 1, 1, 1), 'z', 1).should == 'UTC'
347
347
  @formatter.send(:timezone, Time.gm(2000, 1, 1, 1, 1, 1), 'zz', 2).should == 'UTC'
348
348
  @formatter.send(:timezone, Time.gm(2000, 1, 1, 1, 1, 1), 'zzz', 3).should == 'UTC'
349
- @formatter.send(:timezone, Time.gm(2000, 1, 1, 1, 1, 1), 'zzzz', 4).should =~ /^UTC (-|\+)\d{4}$/
349
+ @formatter.send(:timezone, Time.gm(2000, 1, 1, 1, 1, 1), 'zzzz', 4).should =~ /^UTC (-|\+)\d{2}:\d{2}$/
350
350
  end
351
351
  end
352
352
 
@@ -34,4 +34,8 @@ describe LongDecimalFormatter do
34
34
  it "formats the number as if it were a straight decimal if it's less than 1000" do
35
35
  @formatter.format(500).should == "500"
36
36
  end
37
+
38
+ it "respects the :precision option" do
39
+ @formatter.format(12345, :precision => 3).should match_normalized("12.345 thousand")
40
+ end
37
41
  end
@@ -34,4 +34,8 @@ describe ShortDecimalFormatter do
34
34
  it "formats the number as if it were a straight decimal if it's less than 1000" do
35
35
  @formatter.format(500).should == "500"
36
36
  end
37
+
38
+ it "respects the :precision option" do
39
+ @formatter.format(12345, :precision => 3).should match_normalized("12.345K")
40
+ end
37
41
  end
@@ -48,9 +48,11 @@ describe CurrencyFormatter do
48
48
  @formatter.format(12, :currency => "TND").should == "TND12.000"
49
49
  end
50
50
 
51
- it "should use the currency rounding" do
52
- @formatter.format(12.03, :currency => "CHF").should == "CHF12.05"
53
- @formatter.format(12.02, :currency => "CHF").should == "CHF12.00"
51
+ it "should use the currency rounding for the currency code" do
52
+ # The rounding value for CHF changed from 5 to 0 in CLDR 23, so we have to pass
53
+ # :rounding explicitly to test its effects.
54
+ @formatter.format(12.03, :currency => "CHF", :rounding => 5).should == "CHF12.05"
55
+ @formatter.format(12.02, :currency => "CHF", :rounding => 5).should == "CHF12.00"
54
56
  end
55
57
  end
56
58
  end
@@ -9,42 +9,42 @@ include TwitterCldr::Localized
9
9
 
10
10
  describe LocalizedDate do
11
11
 
12
- let(:date) { Date.today }
12
+ let(:date_time) { DateTime.now }
13
13
 
14
14
  describe "#ago" do
15
- let(:date) { Date.new(2010, 7, 6) }
15
+ let(:date_time) { DateTime.new(2010, 7, 6, 12, 12, 30) }
16
16
  let(:base_time) { Time.gm(2010, 8, 6, 12, 12, 30) }
17
17
 
18
18
  it "should ago-ify from now when no base_time given" do
19
19
  stub(Time).now { Time.gm(2010, 8, 6, 12, 12, 30) }
20
- loc_date = date.localize(:ko)
20
+ loc_date = date_time.localize(:ko).to_date
21
21
  loc_date.ago.to_s(:unit => :hour).should match_normalized("744시간 전")
22
22
  end
23
23
 
24
24
  it "should ago-ify with appropriate unit when no unit given" do
25
- loc_date = date.localize(:en)
25
+ loc_date = date_time.localize(:en).to_date
26
26
  loc_date.ago(:base_time => base_time).to_s.should match_normalized("1 month ago")
27
27
  loc_date.ago(:base_time => Time.gm(2010, 12, 6, 12, 12, 30)).to_s.should match_normalized("5 months ago")
28
28
  loc_date.ago(:base_time => Time.gm(2010, 7, 7, 12, 12, 30)).to_s.should match_normalized("1 day ago")
29
29
  end
30
30
 
31
31
  it "should ago-ify with strings regardless of variable's placement or existence" do
32
- loc_date = date.localize(:ar)
32
+ loc_date = date_time.localize(:ar).to_date
33
33
  loc_date.ago(:base_time => base_time).to_s(:unit => :hour).should match_normalized("قبل 744 ساعة")
34
34
  loc_date.ago(:base_time => base_time).to_s(:unit => :day).should match_normalized("قبل 31 يومًا")
35
35
  loc_date.ago(:base_time => base_time).to_s(:unit => :month).should match_normalized("قبل 1 من الشهور")
36
36
  loc_date.ago(:base_time => base_time).to_s(:unit => :year).should match_normalized("قبل 0 من السنوات")
37
37
 
38
- loc_date = date.localize(:fa)
38
+ loc_date = date_time.localize(:fa).to_date
39
39
  loc_date.ago(:base_time => base_time).to_s(:unit => :day).should match_normalized("31 روز پیش")
40
40
 
41
- loc_date = date.localize(:en)
41
+ loc_date = date_time.localize(:en).to_date
42
42
  loc_date.ago(:base_time => base_time).to_s(:unit => :day).should match_normalized("31 days ago")
43
43
  end
44
44
 
45
45
  it "should ago-ify a date with a number of different units" do
46
- date = Date.new(2010, 6, 6)
47
- loc_date = date.localize(:de)
46
+ date_time = DateTime.new(2010, 6, 6, 12, 12, 30)
47
+ loc_date = date_time.localize(:de).to_date
48
48
  loc_date.ago(:base_time => base_time).to_s(:unit => :second).should match_normalized("Vor 5270400 Sekunden")
49
49
  loc_date.ago(:base_time => base_time).to_s(:unit => :minute).should match_normalized("Vor 87840 Minuten")
50
50
  loc_date.ago(:base_time => base_time).to_s(:unit => :hour).should match_normalized("Vor 1464 Stunden")
@@ -54,8 +54,8 @@ describe LocalizedDate do
54
54
  end
55
55
 
56
56
  it "should return an error if called on a date in the future" do
57
- date = Date.new(2010, 10, 10)
58
- loc_date = date.localize(:de)
57
+ date_time = DateTime.new(2010, 10, 10, 12, 12, 30)
58
+ loc_date = date_time.localize(:de).to_date
59
59
  lambda { loc_date.ago(base_time, :second)}.should raise_error(ArgumentError)
60
60
  end
61
61
  end
@@ -64,8 +64,8 @@ describe LocalizedDate do
64
64
  let(:base_time) { Time.gm(2010, 8, 6, 12, 12, 30) }
65
65
 
66
66
  it "should until-ify with a number of different units" do
67
- date = Date.new(2010, 10, 10)
68
- loc_date = date.localize(:de)
67
+ date_time = DateTime.new(2010, 10, 10, 12, 12, 30)
68
+ loc_date = date_time.localize(:de).to_date
69
69
  loc_date.until(:base_time => base_time).to_s(:unit => :second).should match_normalized("In 5616000 Sekunden")
70
70
  loc_date.until(:base_time => base_time).to_s(:unit => :minute).should match_normalized("In 93600 Minuten")
71
71
  loc_date.until(:base_time => base_time).to_s(:unit => :hour).should match_normalized("In 1560 Stunden")
@@ -75,8 +75,8 @@ describe LocalizedDate do
75
75
  end
76
76
 
77
77
  it "should return an error if called on a date in the past" do
78
- date = Date.new(2010,4,4)
79
- loc_date = date.localize(:de)
78
+ date_time = DateTime.new(2010, 4, 4, 12, 12, 30)
79
+ loc_date = date_time.localize(:de).to_date
80
80
  lambda { loc_date.until(base_time, :second)}.should raise_error(ArgumentError)
81
81
  end
82
82
  end
@@ -84,37 +84,37 @@ describe LocalizedDate do
84
84
  describe "stringify" do
85
85
  it "should stringify with a default calendar" do
86
86
  #date.localize(:th, :calendar_type => :buddhist).to_full_s # It doesn't support era
87
- date.localize(:th).to_long_s
88
- date.localize(:th).to_medium_s
89
- date.localize(:th).to_short_s
87
+ date_time.localize(:th).to_date.to_long_s
88
+ date_time.localize(:th).to_date.to_medium_s
89
+ date_time.localize(:th).to_date.to_short_s
90
90
  end
91
91
 
92
92
  it "should stringify with buddhist calendar" do
93
93
  # Ensure that buddhist calendar data is present in th locale.
94
94
  TwitterCldr.get_locale_resource(:th, :calendars)[:th][:calendars][:buddhist].should_not(
95
- be_nil, 'buddhist calendar is missing for :th locale (check resources/locales/th/calendars.yml)'
95
+ be_nil, 'buddhist calendar is missing for :th locale (check resources/locales/th/calendars.yml)'
96
96
  )
97
97
 
98
98
  #date.localize(:th, :calendar_type => :buddhist).to_full_s # It doesn't support era
99
- date.localize(:th, :calendar_type => :buddhist).to_long_s
100
- date.localize(:th, :calendar_type => :buddhist).to_medium_s
101
- date.localize(:th, :calendar_type => :buddhist).to_short_s
99
+ date_time.localize(:th, :calendar_type => :buddhist).to_date.to_long_s
100
+ date_time.localize(:th, :calendar_type => :buddhist).to_date.to_medium_s
101
+ date_time.localize(:th, :calendar_type => :buddhist).to_date.to_short_s
102
102
  end
103
103
  end
104
104
 
105
105
  describe "#to_datetime" do
106
106
  it "should combine a date and a time object into a datetime" do
107
- date = Date.new(1987, 9, 20)
107
+ date_time = DateTime.new(1987, 9, 20, 0, 0, 0)
108
108
  time = Time.local(2000, 5, 12, 22, 5)
109
- datetime = date.localize.to_datetime(time)
109
+ datetime = date_time.localize.to_date.to_datetime(time)
110
110
  datetime.should be_a(LocalizedDateTime)
111
111
  datetime.base_obj.strftime("%Y-%m-%d %H:%M:%S").should == "1987-09-20 22:05:00"
112
112
  end
113
113
 
114
114
  it "should work with an instance of LocalizedTime too" do
115
- date = Date.new(1987, 9, 20)
115
+ date_time = DateTime.new(1987, 9, 20, 0, 0, 0)
116
116
  time = Time.local(2000, 5, 12, 22, 5).localize
117
- datetime = date.localize.to_datetime(time)
117
+ datetime = date_time.localize.to_date.to_datetime(time)
118
118
  datetime.should be_a(LocalizedDateTime)
119
119
  datetime.base_obj.strftime("%Y-%m-%d %H:%M:%S").should == "1987-09-20 22:05:00"
120
120
  end
@@ -124,10 +124,19 @@ describe LocalizedDate do
124
124
  it "don't raise errors for any locale" do
125
125
  TwitterCldr.supported_locales.each do |locale|
126
126
  (TwitterCldr::Tokenizers::DateTimeTokenizer::VALID_TYPES - [:additional]).each do |type|
127
- lambda { Date.today.localize(locale).send(:"to_#{type}_s") }.should_not raise_error
127
+ lambda { DateTime.now.localize(locale).to_date.send(:"to_#{type}_s") }.should_not raise_error
128
128
  end
129
129
  end
130
130
  end
131
131
  end
132
132
 
133
+ describe "#with_timezone" do
134
+ it "calculates the right day depending on the timezone" do
135
+ loc_date = DateTime.new(1987, 9, 20, 0, 0, 0).localize.to_date
136
+ loc_date.to_s.should == "Sep 20, 1987"
137
+ loc_date.with_timezone("America/Los_Angeles").to_s.should == "Sep 19, 1987"
138
+ loc_date.with_timezone("Asia/Tokyo").to_s.should == "Sep 20, 1987"
139
+ end
140
+ end
141
+
133
142
  end
@@ -92,7 +92,7 @@ describe LocalizedDateTime do
92
92
  it "uses the default format if no :format is given" do
93
93
  loc_date = date_time.localize
94
94
  mock.proxy(loc_date).to_default_s
95
- loc_date.to_s.should == "Sep 20, 1987, 10:05:00 p.m."
95
+ loc_date.to_s.should == "Sep 20, 1987, 10:05:00 PM"
96
96
  end
97
97
 
98
98
  it "uses the given format instead of the default when specified" do
@@ -102,4 +102,13 @@ describe LocalizedDateTime do
102
102
  end
103
103
  end
104
104
 
105
+ describe "#with_timezone" do
106
+ it "calculates the right time depending on the timezone" do
107
+ loc_date = date_time.localize
108
+ loc_date.to_s.should == "Sep 20, 1987, 10:05:00 PM"
109
+ loc_date.with_timezone("America/Los_Angeles").to_s.should == "Sep 20, 1987, 3:05:00 PM"
110
+ loc_date.with_timezone("America/New_York").to_s.should == "Sep 20, 1987, 6:05:00 PM"
111
+ end
112
+ end
113
+
105
114
  end