twitter_cldr 3.6.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1258) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -1
  3. data/History.txt +7 -0
  4. data/README.md +133 -6
  5. data/Rakefile +23 -4
  6. data/lib/twitter_cldr.rb +3 -0
  7. data/lib/twitter_cldr/collation.rb +1 -2
  8. data/lib/twitter_cldr/collation/collator.rb +9 -1
  9. data/lib/twitter_cldr/collation/trie_builder.rb +2 -2
  10. data/lib/twitter_cldr/collation/trie_with_fallback.rb +2 -2
  11. data/lib/twitter_cldr/localized.rb +2 -2
  12. data/lib/twitter_cldr/localized/localized_date.rb +3 -15
  13. data/lib/twitter_cldr/localized/localized_string.rb +26 -5
  14. data/lib/twitter_cldr/normalization.rb +1 -1
  15. data/lib/twitter_cldr/resources.rb +2 -0
  16. data/lib/twitter_cldr/resources/hyphenation_importer.rb +115 -0
  17. data/lib/twitter_cldr/resources/loader.rb +17 -5
  18. data/lib/twitter_cldr/resources/locales_resources_importer.rb +3 -2
  19. data/lib/twitter_cldr/resources/properties/indic_positional_category_property_importer.rb +1 -1
  20. data/lib/twitter_cldr/resources/properties/properties_importer.rb +2 -2
  21. data/lib/twitter_cldr/resources/rbnf_test_importer.rb +15 -9
  22. data/lib/twitter_cldr/resources/transform_test_importer.rb +137 -0
  23. data/lib/twitter_cldr/segmentation/break_iterator.rb +1 -1
  24. data/lib/twitter_cldr/shared.rb +1 -0
  25. data/lib/twitter_cldr/shared/hyphenator.rb +188 -0
  26. data/lib/twitter_cldr/shared/likely_subtags.rb +18 -2
  27. data/lib/twitter_cldr/shared/locale.rb +20 -10
  28. data/lib/twitter_cldr/transforms.rb +24 -0
  29. data/lib/twitter_cldr/transforms/comment_rule.rb +30 -0
  30. data/lib/twitter_cldr/transforms/conversion_rule_set.rb +155 -0
  31. data/lib/twitter_cldr/transforms/conversions.rb +16 -0
  32. data/lib/twitter_cldr/transforms/conversions/conversion_rule.rb +131 -0
  33. data/lib/twitter_cldr/transforms/conversions/parser.rb +113 -0
  34. data/lib/twitter_cldr/transforms/conversions/side.rb +117 -0
  35. data/lib/twitter_cldr/transforms/cursor.rb +39 -0
  36. data/lib/twitter_cldr/transforms/filters.rb +16 -0
  37. data/lib/twitter_cldr/transforms/filters/filter_rule.rb +29 -0
  38. data/lib/twitter_cldr/transforms/filters/null_filter.rb +26 -0
  39. data/lib/twitter_cldr/transforms/filters/regex_filter.rb +74 -0
  40. data/lib/twitter_cldr/transforms/rule.rb +121 -0
  41. data/lib/twitter_cldr/transforms/rule_match.rb +37 -0
  42. data/lib/twitter_cldr/transforms/rule_set.rb +95 -0
  43. data/lib/twitter_cldr/transforms/tokenizer.rb +41 -0
  44. data/lib/twitter_cldr/transforms/transform_id.rb +164 -0
  45. data/lib/twitter_cldr/transforms/transformer.rb +220 -0
  46. data/lib/twitter_cldr/transforms/transforms.rb +21 -0
  47. data/lib/twitter_cldr/transforms/transforms/break_internal_transform.rb +20 -0
  48. data/lib/twitter_cldr/transforms/transforms/casing_transform.rb +76 -0
  49. data/lib/twitter_cldr/transforms/transforms/named_transform.rb +45 -0
  50. data/lib/twitter_cldr/transforms/transforms/normalization_transform.rb +57 -0
  51. data/lib/twitter_cldr/transforms/transforms/null_transform.rb +30 -0
  52. data/lib/twitter_cldr/transforms/transforms/parser.rb +129 -0
  53. data/lib/twitter_cldr/transforms/transforms/transform_pair.rb +47 -0
  54. data/lib/twitter_cldr/transforms/transforms/transform_rule.rb +92 -0
  55. data/lib/twitter_cldr/transforms/transliterator.rb +62 -0
  56. data/lib/twitter_cldr/transforms/variable_rule.rb +77 -0
  57. data/lib/twitter_cldr/utils.rb +1 -0
  58. data/lib/twitter_cldr/utils/regexp_ast.rb +1 -0
  59. data/lib/twitter_cldr/utils/regexp_sampler.rb +4 -0
  60. data/lib/twitter_cldr/utils/script_detector.rb +4 -0
  61. data/lib/twitter_cldr/{collation → utils}/trie.rb +7 -2
  62. data/lib/twitter_cldr/version.rb +1 -1
  63. data/lib/twitter_cldr/versions.rb +3 -3
  64. data/resources/collation/tries/af.dump +0 -0
  65. data/resources/collation/tries/ar.dump +0 -0
  66. data/resources/collation/tries/be.dump +0 -0
  67. data/resources/collation/tries/bg.dump +0 -0
  68. data/resources/collation/tries/bn.dump +0 -0
  69. data/resources/collation/tries/ca.dump +0 -0
  70. data/resources/collation/tries/cs.dump +0 -0
  71. data/resources/collation/tries/cy.dump +0 -0
  72. data/resources/collation/tries/da.dump +0 -0
  73. data/resources/collation/tries/de-CH.dump +0 -0
  74. data/resources/collation/tries/de.dump +0 -0
  75. data/resources/collation/tries/default.dump +0 -0
  76. data/resources/collation/tries/el.dump +0 -0
  77. data/resources/collation/tries/en-150.dump +0 -0
  78. data/resources/collation/tries/en-AU.dump +0 -0
  79. data/resources/collation/tries/en-CA.dump +0 -0
  80. data/resources/collation/tries/en-GB.dump +0 -0
  81. data/resources/collation/tries/en-IE.dump +0 -0
  82. data/resources/collation/tries/en-SG.dump +0 -0
  83. data/resources/collation/tries/en-ZA.dump +0 -0
  84. data/resources/collation/tries/en.dump +0 -0
  85. data/resources/collation/tries/es-419.dump +0 -0
  86. data/resources/collation/tries/es-CO.dump +0 -0
  87. data/resources/collation/tries/es-MX.dump +0 -0
  88. data/resources/collation/tries/es-US.dump +0 -0
  89. data/resources/collation/tries/es.dump +0 -0
  90. data/resources/collation/tries/eu.dump +0 -0
  91. data/resources/collation/tries/fa.dump +0 -0
  92. data/resources/collation/tries/fi.dump +0 -0
  93. data/resources/collation/tries/fil.dump +0 -0
  94. data/resources/collation/tries/fr-BE.dump +0 -0
  95. data/resources/collation/tries/fr-CA.dump +0 -0
  96. data/resources/collation/tries/fr-CH.dump +0 -0
  97. data/resources/collation/tries/fr.dump +0 -0
  98. data/resources/collation/tries/ga.dump +0 -0
  99. data/resources/collation/tries/gl.dump +0 -0
  100. data/resources/collation/tries/gu.dump +0 -0
  101. data/resources/collation/tries/he.dump +0 -0
  102. data/resources/collation/tries/hi.dump +0 -0
  103. data/resources/collation/tries/hr.dump +0 -0
  104. data/resources/collation/tries/hu.dump +0 -0
  105. data/resources/collation/tries/id.dump +0 -0
  106. data/resources/collation/tries/is.dump +0 -0
  107. data/resources/collation/tries/it-CH.dump +0 -0
  108. data/resources/collation/tries/it.dump +0 -0
  109. data/resources/collation/tries/ja.dump +0 -0
  110. data/resources/collation/tries/kn.dump +0 -0
  111. data/resources/collation/tries/ko.dump +0 -0
  112. data/resources/collation/tries/lv.dump +0 -0
  113. data/resources/collation/tries/mr.dump +0 -0
  114. data/resources/collation/tries/ms.dump +0 -0
  115. data/resources/collation/tries/nb.dump +0 -0
  116. data/resources/collation/tries/nl.dump +0 -0
  117. data/resources/collation/tries/pl.dump +0 -0
  118. data/resources/collation/tries/pt.dump +0 -0
  119. data/resources/collation/tries/ro.dump +0 -0
  120. data/resources/collation/tries/ru.dump +0 -0
  121. data/resources/collation/tries/sk.dump +0 -0
  122. data/resources/collation/tries/sq.dump +0 -0
  123. data/resources/collation/tries/sr.dump +0 -0
  124. data/resources/collation/tries/sv.dump +0 -0
  125. data/resources/collation/tries/ta.dump +0 -0
  126. data/resources/collation/tries/th.dump +0 -0
  127. data/resources/collation/tries/tr.dump +0 -0
  128. data/resources/collation/tries/uk.dump +0 -0
  129. data/resources/collation/tries/ur.dump +0 -0
  130. data/resources/collation/tries/vi.dump +0 -0
  131. data/resources/collation/tries/zh-Hant.dump +0 -0
  132. data/resources/collation/tries/zh.dump +0 -0
  133. data/resources/locales/af/calendars.yml +86 -44
  134. data/resources/locales/af/fields.yml +55 -26
  135. data/resources/locales/af/languages.yml +13 -4
  136. data/resources/locales/af/numbers.yml +49 -0
  137. data/resources/locales/af/territories.yml +12 -13
  138. data/resources/locales/af/units.yml +71 -6
  139. data/resources/locales/ar/calendars.yml +59 -4
  140. data/resources/locales/ar/fields.yml +276 -262
  141. data/resources/locales/ar/languages.yml +65 -41
  142. data/resources/locales/ar/lists.yml +8 -8
  143. data/resources/locales/ar/numbers.yml +135 -38
  144. data/resources/locales/ar/plurals.yml +3 -4
  145. data/resources/locales/ar/rbnf.yml +322 -0
  146. data/resources/locales/ar/territories.yml +15 -16
  147. data/resources/locales/ar/units.yml +380 -247
  148. data/resources/locales/be/calendars.yml +103 -29
  149. data/resources/locales/be/fields.yml +416 -1
  150. data/resources/locales/be/languages.yml +130 -10
  151. data/resources/locales/be/lists.yml +18 -3
  152. data/resources/locales/be/numbers.yml +200 -16
  153. data/resources/locales/be/plural_rules.yml +2 -1
  154. data/resources/locales/be/plurals.yml +9 -8
  155. data/resources/locales/be/territories.yml +23 -13
  156. data/resources/locales/be/units.yml +1212 -127
  157. data/resources/locales/bg/calendars.yml +65 -23
  158. data/resources/locales/bg/fields.yml +50 -2
  159. data/resources/locales/bg/languages.yml +13 -16
  160. data/resources/locales/bg/numbers.yml +51 -2
  161. data/resources/locales/bg/territories.yml +8 -9
  162. data/resources/locales/bg/units.yml +72 -7
  163. data/resources/locales/bn/calendars.yml +72 -23
  164. data/resources/locales/bn/fields.yml +37 -1
  165. data/resources/locales/bn/languages.yml +28 -22
  166. data/resources/locales/bn/numbers.yml +49 -0
  167. data/resources/locales/bn/plurals.yml +2 -2
  168. data/resources/locales/bn/territories.yml +6 -7
  169. data/resources/locales/bn/units.yml +108 -43
  170. data/resources/locales/ca/calendars.yml +87 -28
  171. data/resources/locales/ca/fields.yml +58 -10
  172. data/resources/locales/ca/languages.yml +61 -10
  173. data/resources/locales/ca/numbers.yml +49 -0
  174. data/resources/locales/ca/plurals.yml +2 -2
  175. data/resources/locales/ca/territories.yml +16 -17
  176. data/resources/locales/ca/units.yml +79 -12
  177. data/resources/locales/cs/calendars.yml +74 -19
  178. data/resources/locales/cs/fields.yml +48 -12
  179. data/resources/locales/cs/languages.yml +8 -3
  180. data/resources/locales/cs/numbers.yml +73 -0
  181. data/resources/locales/cs/plurals.yml +3 -3
  182. data/resources/locales/cs/territories.yml +1 -2
  183. data/resources/locales/cs/units.yml +129 -15
  184. data/resources/locales/cy/calendars.yml +47 -22
  185. data/resources/locales/cy/fields.yml +390 -52
  186. data/resources/locales/cy/languages.yml +83 -8
  187. data/resources/locales/cy/lists.yml +6 -1
  188. data/resources/locales/cy/numbers.yml +99 -2
  189. data/resources/locales/cy/territories.yml +4 -5
  190. data/resources/locales/cy/units.yml +1401 -71
  191. data/resources/locales/da/calendars.yml +67 -20
  192. data/resources/locales/da/fields.yml +59 -11
  193. data/resources/locales/da/languages.yml +10 -4
  194. data/resources/locales/da/numbers.yml +55 -6
  195. data/resources/locales/da/plurals.yml +2 -2
  196. data/resources/locales/da/rbnf.yml +353 -46
  197. data/resources/locales/da/territories.yml +8 -9
  198. data/resources/locales/da/units.yml +84 -16
  199. data/resources/locales/de-CH/calendars.yml +59 -15
  200. data/resources/locales/de-CH/fields.yml +36 -0
  201. data/resources/locales/de-CH/languages.yml +27 -23
  202. data/resources/locales/de-CH/numbers.yml +62 -13
  203. data/resources/locales/de-CH/plurals.yml +2 -2
  204. data/resources/locales/de-CH/rbnf.yml +532 -1
  205. data/resources/locales/de-CH/territories.yml +7 -8
  206. data/resources/locales/de-CH/units.yml +85 -16
  207. data/resources/locales/de/calendars.yml +59 -15
  208. data/resources/locales/de/fields.yml +36 -0
  209. data/resources/locales/de/languages.yml +27 -23
  210. data/resources/locales/de/numbers.yml +61 -12
  211. data/resources/locales/de/plurals.yml +2 -2
  212. data/resources/locales/de/territories.yml +8 -9
  213. data/resources/locales/de/units.yml +85 -16
  214. data/resources/locales/el/calendars.yml +54 -19
  215. data/resources/locales/el/fields.yml +69 -49
  216. data/resources/locales/el/languages.yml +12 -6
  217. data/resources/locales/el/lists.yml +6 -6
  218. data/resources/locales/el/numbers.yml +49 -0
  219. data/resources/locales/el/territories.yml +2 -3
  220. data/resources/locales/el/units.yml +81 -16
  221. data/resources/locales/en-150/calendars.yml +64 -26
  222. data/resources/locales/en-150/fields.yml +19 -12
  223. data/resources/locales/en-150/languages.yml +13 -8
  224. data/resources/locales/en-150/numbers.yml +49 -0
  225. data/resources/locales/en-150/plurals.yml +5 -5
  226. data/resources/locales/en-150/territories.yml +2 -3
  227. data/resources/locales/en-150/units.yml +125 -14
  228. data/resources/locales/en-AU/calendars.yml +117 -73
  229. data/resources/locales/en-AU/fields.yml +26 -19
  230. data/resources/locales/en-AU/languages.yml +13 -8
  231. data/resources/locales/en-AU/lists.yml +2 -2
  232. data/resources/locales/en-AU/numbers.yml +50 -1
  233. data/resources/locales/en-AU/plurals.yml +5 -5
  234. data/resources/locales/en-AU/territories.yml +6 -7
  235. data/resources/locales/en-AU/units.yml +171 -57
  236. data/resources/locales/en-CA/calendars.yml +58 -19
  237. data/resources/locales/en-CA/fields.yml +19 -12
  238. data/resources/locales/en-CA/languages.yml +13 -8
  239. data/resources/locales/en-CA/numbers.yml +49 -0
  240. data/resources/locales/en-CA/plurals.yml +5 -5
  241. data/resources/locales/en-CA/territories.yml +2 -3
  242. data/resources/locales/en-CA/units.yml +125 -14
  243. data/resources/locales/en-GB/calendars.yml +77 -40
  244. data/resources/locales/en-GB/fields.yml +77 -85
  245. data/resources/locales/en-GB/languages.yml +12 -7
  246. data/resources/locales/en-GB/lists.yml +1 -1
  247. data/resources/locales/en-GB/numbers.yml +49 -0
  248. data/resources/locales/en-GB/plurals.yml +5 -5
  249. data/resources/locales/en-GB/territories.yml +14 -15
  250. data/resources/locales/en-GB/units.yml +186 -75
  251. data/resources/locales/en-IE/calendars.yml +55 -17
  252. data/resources/locales/en-IE/fields.yml +19 -12
  253. data/resources/locales/en-IE/languages.yml +13 -8
  254. data/resources/locales/en-IE/numbers.yml +49 -0
  255. data/resources/locales/en-IE/plurals.yml +5 -5
  256. data/resources/locales/en-IE/territories.yml +2 -3
  257. data/resources/locales/en-IE/units.yml +126 -15
  258. data/resources/locales/en-SG/calendars.yml +52 -14
  259. data/resources/locales/en-SG/fields.yml +19 -12
  260. data/resources/locales/en-SG/languages.yml +13 -8
  261. data/resources/locales/en-SG/numbers.yml +49 -0
  262. data/resources/locales/en-SG/plurals.yml +5 -5
  263. data/resources/locales/en-SG/territories.yml +2 -3
  264. data/resources/locales/en-SG/units.yml +125 -14
  265. data/resources/locales/en-ZA/calendars.yml +54 -16
  266. data/resources/locales/en-ZA/fields.yml +19 -12
  267. data/resources/locales/en-ZA/languages.yml +13 -8
  268. data/resources/locales/en-ZA/numbers.yml +49 -0
  269. data/resources/locales/en-ZA/plurals.yml +5 -5
  270. data/resources/locales/en-ZA/territories.yml +2 -3
  271. data/resources/locales/en-ZA/units.yml +125 -14
  272. data/resources/locales/en/calendars.yml +51 -13
  273. data/resources/locales/en/fields.yml +19 -12
  274. data/resources/locales/en/languages.yml +13 -8
  275. data/resources/locales/en/numbers.yml +49 -0
  276. data/resources/locales/en/plurals.yml +5 -5
  277. data/resources/locales/en/rbnf.yml +37 -1
  278. data/resources/locales/en/territories.yml +2 -3
  279. data/resources/locales/en/units.yml +125 -14
  280. data/resources/locales/es-419/calendars.yml +159 -108
  281. data/resources/locales/es-419/fields.yml +122 -94
  282. data/resources/locales/es-419/languages.yml +22 -17
  283. data/resources/locales/es-419/lists.yml +4 -4
  284. data/resources/locales/es-419/numbers.yml +49 -0
  285. data/resources/locales/es-419/rbnf.yml +62 -1
  286. data/resources/locales/es-419/territories.yml +5 -6
  287. data/resources/locales/es-419/units.yml +193 -128
  288. data/resources/locales/es-CO/calendars.yml +128 -77
  289. data/resources/locales/es-CO/fields.yml +40 -12
  290. data/resources/locales/es-CO/languages.yml +22 -17
  291. data/resources/locales/es-CO/lists.yml +4 -4
  292. data/resources/locales/es-CO/numbers.yml +75 -26
  293. data/resources/locales/es-CO/territories.yml +5 -6
  294. data/resources/locales/es-CO/units.yml +167 -102
  295. data/resources/locales/es-MX/calendars.yml +119 -69
  296. data/resources/locales/es-MX/fields.yml +40 -12
  297. data/resources/locales/es-MX/languages.yml +26 -21
  298. data/resources/locales/es-MX/lists.yml +4 -4
  299. data/resources/locales/es-MX/numbers.yml +67 -18
  300. data/resources/locales/es-MX/territories.yml +8 -9
  301. data/resources/locales/es-MX/units.yml +160 -95
  302. data/resources/locales/es-US/calendars.yml +127 -77
  303. data/resources/locales/es-US/fields.yml +40 -12
  304. data/resources/locales/es-US/languages.yml +22 -17
  305. data/resources/locales/es-US/lists.yml +4 -4
  306. data/resources/locales/es-US/numbers.yml +73 -24
  307. data/resources/locales/es-US/territories.yml +5 -6
  308. data/resources/locales/es-US/units.yml +167 -102
  309. data/resources/locales/es/calendars.yml +124 -74
  310. data/resources/locales/es/fields.yml +40 -12
  311. data/resources/locales/es/languages.yml +22 -17
  312. data/resources/locales/es/lists.yml +4 -4
  313. data/resources/locales/es/numbers.yml +73 -24
  314. data/resources/locales/es/rbnf.yml +29 -14
  315. data/resources/locales/es/territories.yml +5 -6
  316. data/resources/locales/es/units.yml +171 -106
  317. data/resources/locales/eu/calendars.yml +18 -3
  318. data/resources/locales/eu/fields.yml +8 -0
  319. data/resources/locales/eu/languages.yml +1 -1
  320. data/resources/locales/eu/numbers.yml +49 -0
  321. data/resources/locales/eu/territories.yml +5 -6
  322. data/resources/locales/eu/units.yml +36 -6
  323. data/resources/locales/fa/calendars.yml +57 -14
  324. data/resources/locales/fa/fields.yml +64 -12
  325. data/resources/locales/fa/languages.yml +29 -17
  326. data/resources/locales/fa/numbers.yml +81 -32
  327. data/resources/locales/fa/plurals.yml +2 -2
  328. data/resources/locales/fa/territories.yml +11 -12
  329. data/resources/locales/fa/units.yml +144 -66
  330. data/resources/locales/fi/calendars.yml +55 -4
  331. data/resources/locales/fi/fields.yml +56 -4
  332. data/resources/locales/fi/languages.yml +8 -4
  333. data/resources/locales/fi/numbers.yml +49 -0
  334. data/resources/locales/fi/plurals.yml +2 -2
  335. data/resources/locales/fi/rbnf.yml +3649 -29
  336. data/resources/locales/fi/territories.yml +1 -2
  337. data/resources/locales/fi/units.yml +98 -12
  338. data/resources/locales/fil/calendars.yml +113 -60
  339. data/resources/locales/fil/fields.yml +78 -30
  340. data/resources/locales/fil/languages.yml +24 -12
  341. data/resources/locales/fil/lists.yml +4 -4
  342. data/resources/locales/fil/numbers.yml +61 -12
  343. data/resources/locales/fil/plurals.yml +4 -4
  344. data/resources/locales/fil/territories.yml +3 -4
  345. data/resources/locales/fil/units.yml +203 -138
  346. data/resources/locales/fr-BE/calendars.yml +103 -73
  347. data/resources/locales/fr-BE/fields.yml +32 -20
  348. data/resources/locales/fr-BE/languages.yml +12 -6
  349. data/resources/locales/fr-BE/numbers.yml +51 -2
  350. data/resources/locales/fr-BE/territories.yml +5 -6
  351. data/resources/locales/fr-BE/units.yml +100 -26
  352. data/resources/locales/fr-CA/calendars.yml +56 -26
  353. data/resources/locales/fr-CA/fields.yml +54 -42
  354. data/resources/locales/fr-CA/languages.yml +23 -17
  355. data/resources/locales/fr-CA/numbers.yml +54 -5
  356. data/resources/locales/fr-CA/territories.yml +4 -5
  357. data/resources/locales/fr-CA/units.yml +93 -19
  358. data/resources/locales/fr-CH/calendars.yml +103 -73
  359. data/resources/locales/fr-CH/fields.yml +32 -20
  360. data/resources/locales/fr-CH/languages.yml +12 -6
  361. data/resources/locales/fr-CH/numbers.yml +52 -3
  362. data/resources/locales/fr-CH/territories.yml +5 -6
  363. data/resources/locales/fr-CH/units.yml +100 -26
  364. data/resources/locales/fr/calendars.yml +103 -73
  365. data/resources/locales/fr/fields.yml +32 -20
  366. data/resources/locales/fr/languages.yml +12 -6
  367. data/resources/locales/fr/numbers.yml +51 -2
  368. data/resources/locales/fr/territories.yml +5 -6
  369. data/resources/locales/fr/units.yml +100 -26
  370. data/resources/locales/ga/calendars.yml +19 -4
  371. data/resources/locales/ga/fields.yml +82 -28
  372. data/resources/locales/ga/languages.yml +4 -3
  373. data/resources/locales/ga/numbers.yml +85 -0
  374. data/resources/locales/ga/plural_rules.yml +2 -1
  375. data/resources/locales/ga/plurals.yml +7 -5
  376. data/resources/locales/ga/territories.yml +0 -1
  377. data/resources/locales/ga/units.yml +140 -24
  378. data/resources/locales/gl/calendars.yml +60 -13
  379. data/resources/locales/gl/fields.yml +29 -0
  380. data/resources/locales/gl/languages.yml +42 -34
  381. data/resources/locales/gl/numbers.yml +50 -1
  382. data/resources/locales/gl/plurals.yml +2 -2
  383. data/resources/locales/gl/territories.yml +4 -5
  384. data/resources/locales/gl/units.yml +89 -24
  385. data/resources/locales/gu/calendars.yml +68 -25
  386. data/resources/locales/gu/fields.yml +55 -19
  387. data/resources/locales/gu/languages.yml +12 -7
  388. data/resources/locales/gu/lists.yml +8 -4
  389. data/resources/locales/gu/numbers.yml +97 -24
  390. data/resources/locales/gu/plurals.yml +2 -2
  391. data/resources/locales/gu/territories.yml +24 -25
  392. data/resources/locales/gu/units.yml +71 -6
  393. data/resources/locales/he/calendars.yml +42 -18
  394. data/resources/locales/he/languages.yml +9 -3
  395. data/resources/locales/he/numbers.yml +97 -24
  396. data/resources/locales/he/plurals.yml +3 -4
  397. data/resources/locales/he/rbnf.yml +4 -1
  398. data/resources/locales/he/territories.yml +7 -8
  399. data/resources/locales/he/units.yml +263 -164
  400. data/resources/locales/hi/calendars.yml +39 -3
  401. data/resources/locales/hi/fields.yml +12 -0
  402. data/resources/locales/hi/languages.yml +11 -5
  403. data/resources/locales/hi/numbers.yml +49 -0
  404. data/resources/locales/hi/plurals.yml +2 -2
  405. data/resources/locales/hi/territories.yml +0 -1
  406. data/resources/locales/hi/units.yml +75 -10
  407. data/resources/locales/hr/calendars.yml +46 -27
  408. data/resources/locales/hr/fields.yml +59 -11
  409. data/resources/locales/hr/languages.yml +8 -1
  410. data/resources/locales/hr/numbers.yml +61 -0
  411. data/resources/locales/hr/plurals.yml +4 -7
  412. data/resources/locales/hr/territories.yml +0 -1
  413. data/resources/locales/hr/units.yml +95 -13
  414. data/resources/locales/hu/calendars.yml +63 -2
  415. data/resources/locales/hu/fields.yml +48 -0
  416. data/resources/locales/hu/languages.yml +7 -1
  417. data/resources/locales/hu/numbers.yml +49 -0
  418. data/resources/locales/hu/territories.yml +3 -4
  419. data/resources/locales/hu/units.yml +73 -8
  420. data/resources/locales/id/calendars.yml +52 -2
  421. data/resources/locales/id/fields.yml +6 -6
  422. data/resources/locales/id/languages.yml +18 -21
  423. data/resources/locales/id/numbers.yml +37 -0
  424. data/resources/locales/id/rbnf.yml +4 -1
  425. data/resources/locales/id/territories.yml +2 -3
  426. data/resources/locales/id/units.yml +52 -4
  427. data/resources/locales/is/calendars.yml +53 -11
  428. data/resources/locales/is/fields.yml +61 -13
  429. data/resources/locales/is/languages.yml +10 -4
  430. data/resources/locales/is/numbers.yml +49 -0
  431. data/resources/locales/is/plurals.yml +2 -2
  432. data/resources/locales/is/territories.yml +4 -5
  433. data/resources/locales/is/units.yml +78 -12
  434. data/resources/locales/it-CH/calendars.yml +81 -31
  435. data/resources/locales/it-CH/fields.yml +22 -10
  436. data/resources/locales/it-CH/languages.yml +9 -5
  437. data/resources/locales/it-CH/lists.yml +4 -4
  438. data/resources/locales/it-CH/numbers.yml +61 -12
  439. data/resources/locales/it-CH/plurals.yml +2 -2
  440. data/resources/locales/it-CH/territories.yml +27 -28
  441. data/resources/locales/it-CH/units.yml +161 -96
  442. data/resources/locales/it/calendars.yml +67 -17
  443. data/resources/locales/it/fields.yml +22 -10
  444. data/resources/locales/it/languages.yml +9 -5
  445. data/resources/locales/it/lists.yml +4 -4
  446. data/resources/locales/it/numbers.yml +61 -12
  447. data/resources/locales/it/plurals.yml +2 -2
  448. data/resources/locales/it/rbnf.yml +3 -15
  449. data/resources/locales/it/territories.yml +27 -28
  450. data/resources/locales/it/units.yml +161 -96
  451. data/resources/locales/ja/calendars.yml +59 -2
  452. data/resources/locales/ja/fields.yml +36 -0
  453. data/resources/locales/ja/languages.yml +9 -6
  454. data/resources/locales/ja/numbers.yml +40 -3
  455. data/resources/locales/ja/territories.yml +1 -2
  456. data/resources/locales/ja/units.yml +57 -9
  457. data/resources/locales/kn/calendars.yml +56 -15
  458. data/resources/locales/kn/fields.yml +49 -1
  459. data/resources/locales/kn/languages.yml +6 -1
  460. data/resources/locales/kn/lists.yml +8 -4
  461. data/resources/locales/kn/numbers.yml +97 -24
  462. data/resources/locales/kn/plurals.yml +2 -2
  463. data/resources/locales/kn/territories.yml +0 -1
  464. data/resources/locales/kn/units.yml +83 -18
  465. data/resources/locales/ko/calendars.yml +61 -4
  466. data/resources/locales/ko/languages.yml +14 -21
  467. data/resources/locales/ko/numbers.yml +39 -2
  468. data/resources/locales/ko/territories.yml +29 -30
  469. data/resources/locales/ko/units.yml +58 -10
  470. data/resources/locales/lv/calendars.yml +58 -10
  471. data/resources/locales/lv/fields.yml +8 -8
  472. data/resources/locales/lv/languages.yml +8 -1
  473. data/resources/locales/lv/numbers.yml +62 -1
  474. data/resources/locales/lv/plurals.yml +4 -6
  475. data/resources/locales/lv/territories.yml +0 -1
  476. data/resources/locales/lv/units.yml +86 -8
  477. data/resources/locales/mr/calendars.yml +70 -11
  478. data/resources/locales/mr/fields.yml +97 -61
  479. data/resources/locales/mr/languages.yml +9 -3
  480. data/resources/locales/mr/lists.yml +8 -4
  481. data/resources/locales/mr/numbers.yml +97 -24
  482. data/resources/locales/mr/plurals.yml +2 -2
  483. data/resources/locales/mr/territories.yml +4 -5
  484. data/resources/locales/mr/units.yml +71 -6
  485. data/resources/locales/ms/calendars.yml +47 -6
  486. data/resources/locales/ms/fields.yml +48 -0
  487. data/resources/locales/ms/languages.yml +12 -4
  488. data/resources/locales/ms/numbers.yml +37 -0
  489. data/resources/locales/ms/rbnf.yml +2 -2
  490. data/resources/locales/ms/territories.yml +2 -3
  491. data/resources/locales/ms/units.yml +54 -6
  492. data/resources/locales/nb/calendars.yml +83 -38
  493. data/resources/locales/nb/fields.yml +89 -55
  494. data/resources/locales/nb/languages.yml +105 -8
  495. data/resources/locales/nb/numbers.yml +50 -1
  496. data/resources/locales/nb/rbnf.yml +762 -22
  497. data/resources/locales/nb/territories.yml +2 -3
  498. data/resources/locales/nb/units.yml +92 -19
  499. data/resources/locales/nl/calendars.yml +88 -52
  500. data/resources/locales/nl/fields.yml +62 -10
  501. data/resources/locales/nl/languages.yml +12 -9
  502. data/resources/locales/nl/lists.yml +1 -1
  503. data/resources/locales/nl/numbers.yml +50 -1
  504. data/resources/locales/nl/plurals.yml +2 -2
  505. data/resources/locales/nl/territories.yml +2 -3
  506. data/resources/locales/nl/units.yml +101 -30
  507. data/resources/locales/pl/calendars.yml +70 -31
  508. data/resources/locales/pl/fields.yml +12 -0
  509. data/resources/locales/pl/languages.yml +8 -5
  510. data/resources/locales/pl/numbers.yml +73 -0
  511. data/resources/locales/pl/plurals.yml +4 -8
  512. data/resources/locales/pl/rbnf.yml +965 -50
  513. data/resources/locales/pl/territories.yml +3 -4
  514. data/resources/locales/pl/units.yml +109 -10
  515. data/resources/locales/pt/calendars.yml +65 -23
  516. data/resources/locales/pt/fields.yml +76 -76
  517. data/resources/locales/pt/languages.yml +20 -13
  518. data/resources/locales/pt/numbers.yml +49 -0
  519. data/resources/locales/pt/plurals.yml +2 -2
  520. data/resources/locales/pt/rbnf.yml +1 -1
  521. data/resources/locales/pt/territories.yml +4 -5
  522. data/resources/locales/pt/units.yml +75 -10
  523. data/resources/locales/ro/calendars.yml +90 -50
  524. data/resources/locales/ro/fields.yml +15 -3
  525. data/resources/locales/ro/languages.yml +10 -4
  526. data/resources/locales/ro/numbers.yml +62 -1
  527. data/resources/locales/ro/plurals.yml +3 -4
  528. data/resources/locales/ro/territories.yml +4 -5
  529. data/resources/locales/ro/units.yml +100 -18
  530. data/resources/locales/ru/calendars.yml +88 -41
  531. data/resources/locales/ru/fields.yml +24 -12
  532. data/resources/locales/ru/languages.yml +13 -6
  533. data/resources/locales/ru/lists.yml +7 -7
  534. data/resources/locales/ru/numbers.yml +73 -0
  535. data/resources/locales/ru/plurals.yml +4 -8
  536. data/resources/locales/ru/rbnf.yml +3916 -8
  537. data/resources/locales/ru/territories.yml +6 -7
  538. data/resources/locales/ru/units.yml +127 -28
  539. data/resources/locales/sk/calendars.yml +97 -42
  540. data/resources/locales/sk/fields.yml +30 -18
  541. data/resources/locales/sk/languages.yml +20 -14
  542. data/resources/locales/sk/lists.yml +1 -1
  543. data/resources/locales/sk/numbers.yml +99 -26
  544. data/resources/locales/sk/plurals.yml +3 -3
  545. data/resources/locales/sk/territories.yml +1 -2
  546. data/resources/locales/sk/units.yml +114 -15
  547. data/resources/locales/sq/calendars.yml +66 -11
  548. data/resources/locales/sq/fields.yml +49 -49
  549. data/resources/locales/sq/languages.yml +48 -39
  550. data/resources/locales/sq/numbers.yml +49 -0
  551. data/resources/locales/sq/plurals.yml +2 -2
  552. data/resources/locales/sq/territories.yml +25 -25
  553. data/resources/locales/sq/units.yml +112 -47
  554. data/resources/locales/sr/calendars.yml +70 -21
  555. data/resources/locales/sr/fields.yml +26 -14
  556. data/resources/locales/sr/languages.yml +12 -6
  557. data/resources/locales/sr/numbers.yml +62 -1
  558. data/resources/locales/sr/plurals.yml +4 -7
  559. data/resources/locales/sr/territories.yml +2 -3
  560. data/resources/locales/sr/units.yml +99 -17
  561. data/resources/locales/sv/calendars.yml +110 -71
  562. data/resources/locales/sv/fields.yml +69 -21
  563. data/resources/locales/sv/languages.yml +35 -5
  564. data/resources/locales/sv/numbers.yml +51 -2
  565. data/resources/locales/sv/plurals.yml +4 -4
  566. data/resources/locales/sv/territories.yml +0 -1
  567. data/resources/locales/sv/units.yml +95 -9
  568. data/resources/locales/ta/calendars.yml +112 -47
  569. data/resources/locales/ta/fields.yml +145 -97
  570. data/resources/locales/ta/languages.yml +30 -26
  571. data/resources/locales/ta/numbers.yml +49 -0
  572. data/resources/locales/ta/territories.yml +31 -32
  573. data/resources/locales/ta/units.yml +90 -25
  574. data/resources/locales/th/calendars.yml +66 -6
  575. data/resources/locales/th/fields.yml +36 -0
  576. data/resources/locales/th/languages.yml +10 -3
  577. data/resources/locales/th/numbers.yml +37 -0
  578. data/resources/locales/th/rbnf.yml +2 -2
  579. data/resources/locales/th/territories.yml +0 -1
  580. data/resources/locales/th/units.yml +54 -6
  581. data/resources/locales/tr/calendars.yml +63 -2
  582. data/resources/locales/tr/fields.yml +28 -0
  583. data/resources/locales/tr/languages.yml +9 -4
  584. data/resources/locales/tr/numbers.yml +49 -0
  585. data/resources/locales/tr/rbnf.yml +9 -28
  586. data/resources/locales/tr/territories.yml +1 -2
  587. data/resources/locales/tr/units.yml +81 -16
  588. data/resources/locales/uk/calendars.yml +93 -61
  589. data/resources/locales/uk/fields.yml +44 -12
  590. data/resources/locales/uk/languages.yml +27 -6
  591. data/resources/locales/uk/numbers.yml +86 -13
  592. data/resources/locales/uk/plurals.yml +6 -10
  593. data/resources/locales/uk/territories.yml +3 -4
  594. data/resources/locales/uk/units.yml +122 -23
  595. data/resources/locales/ur/calendars.yml +58 -9
  596. data/resources/locales/ur/fields.yml +51 -19
  597. data/resources/locales/ur/languages.yml +23 -13
  598. data/resources/locales/ur/numbers.yml +49 -0
  599. data/resources/locales/ur/plurals.yml +2 -2
  600. data/resources/locales/ur/territories.yml +8 -9
  601. data/resources/locales/ur/units.yml +76 -11
  602. data/resources/locales/vi/calendars.yml +72 -23
  603. data/resources/locales/vi/fields.yml +65 -29
  604. data/resources/locales/vi/languages.yml +42 -3
  605. data/resources/locales/vi/numbers.yml +38 -1
  606. data/resources/locales/vi/territories.yml +7 -8
  607. data/resources/locales/vi/units.yml +58 -10
  608. data/resources/locales/zh-Hant/calendars.yml +64 -21
  609. data/resources/locales/zh-Hant/fields.yml +12 -0
  610. data/resources/locales/zh-Hant/languages.yml +13 -8
  611. data/resources/locales/zh-Hant/lists.yml +8 -8
  612. data/resources/locales/zh-Hant/numbers.yml +50 -13
  613. data/resources/locales/zh-Hant/territories.yml +11 -12
  614. data/resources/locales/zh-Hant/units.yml +204 -156
  615. data/resources/locales/zh/calendars.yml +69 -26
  616. data/resources/locales/zh/languages.yml +8 -1
  617. data/resources/locales/zh/numbers.yml +40 -3
  618. data/resources/locales/zh/territories.yml +2 -3
  619. data/resources/locales/zh/units.yml +71 -23
  620. data/resources/shared/aliases.yml +31 -0
  621. data/resources/shared/hyphenation/af-ZA.yml +3343 -0
  622. data/resources/shared/hyphenation/bg-BG.yml +5963 -0
  623. data/resources/shared/hyphenation/ca.yml +2310 -0
  624. data/resources/shared/hyphenation/cs-CZ.yml +3639 -0
  625. data/resources/shared/hyphenation/da-DK.yml +1148 -0
  626. data/resources/shared/hyphenation/de-AT.yml +11392 -0
  627. data/resources/shared/hyphenation/de-CH.yml +11392 -0
  628. data/resources/shared/hyphenation/de-DE.yml +11392 -0
  629. data/resources/shared/hyphenation/el-GR.yml +581 -0
  630. data/resources/shared/hyphenation/en-GB.yml +14064 -0
  631. data/resources/shared/hyphenation/en-US.yml +11132 -0
  632. data/resources/shared/hyphenation/es.yml +867 -0
  633. data/resources/shared/hyphenation/et-EE.yml +3694 -0
  634. data/resources/shared/hyphenation/fr.yml +2844 -0
  635. data/resources/shared/hyphenation/gl.yml +292 -0
  636. data/resources/shared/hyphenation/hr-HR.yml +1599 -0
  637. data/resources/shared/hyphenation/hu-HU.yml +96292 -0
  638. data/resources/shared/hyphenation/is.yml +7697 -0
  639. data/resources/shared/hyphenation/it-IT.yml +401 -0
  640. data/resources/shared/hyphenation/lt.yml +1549 -0
  641. data/resources/shared/hyphenation/lv-LV.yml +11902 -0
  642. data/resources/shared/hyphenation/nb-NO.yml +27144 -0
  643. data/resources/shared/hyphenation/nl-NL.yml +16259 -0
  644. data/resources/shared/hyphenation/nn-NO.yml +27144 -0
  645. data/resources/shared/hyphenation/pl-PL.yml +4826 -0
  646. data/resources/shared/hyphenation/pt-BR.yml +1249 -0
  647. data/resources/shared/hyphenation/pt-PT.yml +310 -0
  648. data/resources/shared/hyphenation/ro-RO.yml +5206 -0
  649. data/resources/shared/hyphenation/ru-RU.yml +3877 -0
  650. data/resources/shared/hyphenation/sk-SK.yml +2470 -0
  651. data/resources/shared/hyphenation/sl-SI.yml +1415 -0
  652. data/resources/shared/hyphenation/sr-Latn.yml +3414 -0
  653. data/resources/shared/hyphenation/sr.yml +3367 -0
  654. data/resources/shared/hyphenation/sv.yml +14956 -0
  655. data/resources/shared/hyphenation/te-IN.yml +75 -0
  656. data/resources/shared/hyphenation/uk-UA.yml +1656 -0
  657. data/resources/shared/hyphenation/zu-ZA.yml +133 -0
  658. data/resources/shared/language_codes_table.dump +0 -0
  659. data/resources/shared/likely_subtags.yml +61 -16
  660. data/resources/shared/numbering_systems.yml +45 -0
  661. data/resources/shared/postal_codes.yml +318 -309
  662. data/resources/shared/rbnf_root.yml +613 -273
  663. data/resources/shared/segments/segments_root.yml +4 -1
  664. data/resources/shared/territories_containment.yml +3 -3
  665. data/resources/shared/transforms/Amharic-Latin-BGN.yml +336 -0
  666. data/resources/shared/transforms/Amharic-Latin.yml +335 -0
  667. data/resources/shared/transforms/Any-Accents.yml +52 -0
  668. data/resources/shared/transforms/Any-Publishing.yml +22 -0
  669. data/resources/shared/transforms/Arabic-Latin-BGN.yml +122 -0
  670. data/resources/shared/transforms/Arabic-Latin.yml +109 -0
  671. data/resources/shared/transforms/Armenian-Latin-BGN.yml +133 -0
  672. data/resources/shared/transforms/Armenian-Latin.yml +132 -0
  673. data/resources/shared/transforms/Azerbaijani-Latin-BGN.yml +93 -0
  674. data/resources/shared/transforms/Azerbaijani-Latin.yml +92 -0
  675. data/resources/shared/transforms/Belarusian-Latin-BGN.yml +108 -0
  676. data/resources/shared/transforms/Belarusian-Latin.yml +107 -0
  677. data/resources/shared/transforms/Bengali-Devanagari.yml +13 -0
  678. data/resources/shared/transforms/Bengali-Gujarati.yml +13 -0
  679. data/resources/shared/transforms/Bengali-Gurmukhi.yml +13 -0
  680. data/resources/shared/transforms/Bengali-InterIndic.yml +100 -0
  681. data/resources/shared/transforms/Bengali-Kannada.yml +13 -0
  682. data/resources/shared/transforms/Bengali-Latin.yml +13 -0
  683. data/resources/shared/transforms/Bengali-Malayalam.yml +13 -0
  684. data/resources/shared/transforms/Bengali-Oriya.yml +13 -0
  685. data/resources/shared/transforms/Bengali-Tamil.yml +13 -0
  686. data/resources/shared/transforms/Bengali-Telugu.yml +13 -0
  687. data/resources/shared/transforms/Bulgarian-Latin-BGN.yml +99 -0
  688. data/resources/shared/transforms/Bulgarian-Latin.yml +98 -0
  689. data/resources/shared/transforms/Cyrillic-Latin.yml +128 -0
  690. data/resources/shared/transforms/Devanagari-Bengali.yml +13 -0
  691. data/resources/shared/transforms/Devanagari-Gujarati.yml +13 -0
  692. data/resources/shared/transforms/Devanagari-Gurmukhi.yml +13 -0
  693. data/resources/shared/transforms/Devanagari-InterIndic.yml +114 -0
  694. data/resources/shared/transforms/Devanagari-Kannada.yml +13 -0
  695. data/resources/shared/transforms/Devanagari-Latin.yml +13 -0
  696. data/resources/shared/transforms/Devanagari-Malayalam.yml +13 -0
  697. data/resources/shared/transforms/Devanagari-Oriya.yml +13 -0
  698. data/resources/shared/transforms/Devanagari-Tamil.yml +13 -0
  699. data/resources/shared/transforms/Devanagari-Telugu.yml +13 -0
  700. data/resources/shared/transforms/Fullwidth-Halfwidth.yml +260 -0
  701. data/resources/shared/transforms/Georgian-Latin-BGN.yml +44 -0
  702. data/resources/shared/transforms/Georgian-Latin.yml +43 -0
  703. data/resources/shared/transforms/Greek-Latin-BGN.yml +208 -0
  704. data/resources/shared/transforms/Greek-Latin-UNGEGN.yml +160 -0
  705. data/resources/shared/transforms/Greek-Latin.yml +206 -0
  706. data/resources/shared/transforms/Gujarati-Bengali.yml +13 -0
  707. data/resources/shared/transforms/Gujarati-Devanagari.yml +13 -0
  708. data/resources/shared/transforms/Gujarati-Gurmukhi.yml +13 -0
  709. data/resources/shared/transforms/Gujarati-InterIndic.yml +91 -0
  710. data/resources/shared/transforms/Gujarati-Kannada.yml +13 -0
  711. data/resources/shared/transforms/Gujarati-Latin.yml +13 -0
  712. data/resources/shared/transforms/Gujarati-Malayalam.yml +13 -0
  713. data/resources/shared/transforms/Gujarati-Oriya.yml +13 -0
  714. data/resources/shared/transforms/Gujarati-Tamil.yml +13 -0
  715. data/resources/shared/transforms/Gujarati-Telugu.yml +13 -0
  716. data/resources/shared/transforms/Gurmukhi-Bengali.yml +13 -0
  717. data/resources/shared/transforms/Gurmukhi-Devanagari.yml +13 -0
  718. data/resources/shared/transforms/Gurmukhi-Gujarati.yml +13 -0
  719. data/resources/shared/transforms/Gurmukhi-InterIndic.yml +84 -0
  720. data/resources/shared/transforms/Gurmukhi-Kannada.yml +13 -0
  721. data/resources/shared/transforms/Gurmukhi-Latin.yml +13 -0
  722. data/resources/shared/transforms/Gurmukhi-Malayalam.yml +13 -0
  723. data/resources/shared/transforms/Gurmukhi-Oriya.yml +13 -0
  724. data/resources/shared/transforms/Gurmukhi-Tamil.yml +13 -0
  725. data/resources/shared/transforms/Gurmukhi-Telugu.yml +13 -0
  726. data/resources/shared/transforms/Han-Latin-Names.yml +53 -0
  727. data/resources/shared/transforms/Han-Latin.yml +1606 -0
  728. data/resources/shared/transforms/Han-Spacedhan.yml +17 -0
  729. data/resources/shared/transforms/Hangul-Latin.yml +12 -0
  730. data/resources/shared/transforms/Hebrew-Latin-BGN.yml +62 -0
  731. data/resources/shared/transforms/Hebrew-Latin.yml +72 -0
  732. data/resources/shared/transforms/Hiragana-Katakana.yml +114 -0
  733. data/resources/shared/transforms/Hiragana-Latin.yml +15 -0
  734. data/resources/shared/transforms/IPA-XSampa.yml +176 -0
  735. data/resources/shared/transforms/InterIndic-Bengali.yml +137 -0
  736. data/resources/shared/transforms/InterIndic-Devanagari.yml +149 -0
  737. data/resources/shared/transforms/InterIndic-Gujarati.yml +137 -0
  738. data/resources/shared/transforms/InterIndic-Gurmukhi.yml +141 -0
  739. data/resources/shared/transforms/InterIndic-Kannada.yml +139 -0
  740. data/resources/shared/transforms/InterIndic-Latin.yml +461 -0
  741. data/resources/shared/transforms/InterIndic-Malayalam.yml +139 -0
  742. data/resources/shared/transforms/InterIndic-Oriya.yml +137 -0
  743. data/resources/shared/transforms/InterIndic-Tamil.yml +138 -0
  744. data/resources/shared/transforms/InterIndic-Telugu.yml +138 -0
  745. data/resources/shared/transforms/Jamo-Latin.yml +12 -0
  746. data/resources/shared/transforms/JapaneseKana-Latin.yml +309 -0
  747. data/resources/shared/transforms/Kannada-Bengali.yml +13 -0
  748. data/resources/shared/transforms/Kannada-Devanagari.yml +13 -0
  749. data/resources/shared/transforms/Kannada-Gujarati.yml +13 -0
  750. data/resources/shared/transforms/Kannada-Gurmukhi.yml +13 -0
  751. data/resources/shared/transforms/Kannada-InterIndic.yml +91 -0
  752. data/resources/shared/transforms/Kannada-Latin.yml +13 -0
  753. data/resources/shared/transforms/Kannada-Malayalam.yml +13 -0
  754. data/resources/shared/transforms/Kannada-Oriya.yml +13 -0
  755. data/resources/shared/transforms/Kannada-Tamil.yml +13 -0
  756. data/resources/shared/transforms/Kannada-Telugu.yml +13 -0
  757. data/resources/shared/transforms/Katakana-Latin-BGN.yml +310 -0
  758. data/resources/shared/transforms/Katakana-Latin.yml +309 -0
  759. data/resources/shared/transforms/Kazakh-Latin-BGN.yml +136 -0
  760. data/resources/shared/transforms/Kazakh-Latin.yml +135 -0
  761. data/resources/shared/transforms/Kirghiz-Latin-BGN.yml +107 -0
  762. data/resources/shared/transforms/Kirghiz-Latin.yml +106 -0
  763. data/resources/shared/transforms/Korean-Latin-BGN.yml +282 -0
  764. data/resources/shared/transforms/Korean-Latin.yml +281 -0
  765. data/resources/shared/transforms/Latin-ASCII.yml +694 -0
  766. data/resources/shared/transforms/Latin-Armenian.yml +90 -0
  767. data/resources/shared/transforms/Latin-Bengali.yml +14 -0
  768. data/resources/shared/transforms/Latin-Bopomofo.yml +1451 -0
  769. data/resources/shared/transforms/Latin-CanadianAboriginal.yml +190 -0
  770. data/resources/shared/transforms/Latin-ConjoiningJamo.yml +263 -0
  771. data/resources/shared/transforms/Latin-Devanagari.yml +14 -0
  772. data/resources/shared/transforms/Latin-Ethiopic.yml +278 -0
  773. data/resources/shared/transforms/Latin-Gujarati.yml +14 -0
  774. data/resources/shared/transforms/Latin-Gurmukhi.yml +14 -0
  775. data/resources/shared/transforms/Latin-Hangul.yml +13 -0
  776. data/resources/shared/transforms/Latin-InterIndic.yml +341 -0
  777. data/resources/shared/transforms/Latin-Jamo.yml +13 -0
  778. data/resources/shared/transforms/Latin-Kannada.yml +14 -0
  779. data/resources/shared/transforms/Latin-Katakana.yml +274 -0
  780. data/resources/shared/transforms/Latin-Malayalam.yml +14 -0
  781. data/resources/shared/transforms/Latin-NumericPinyin.yml +21 -0
  782. data/resources/shared/transforms/Latin-Oriya.yml +14 -0
  783. data/resources/shared/transforms/Latin-Tamil.yml +14 -0
  784. data/resources/shared/transforms/Latin-Telugu.yml +14 -0
  785. data/resources/shared/transforms/Latin-Thaana.yml +439 -0
  786. data/resources/shared/transforms/Latin-Thai.yml +13 -0
  787. data/resources/shared/transforms/Macedonian-Latin-BGN.yml +89 -0
  788. data/resources/shared/transforms/Macedonian-Latin.yml +88 -0
  789. data/resources/shared/transforms/Malayalam-Bengali.yml +13 -0
  790. data/resources/shared/transforms/Malayalam-Devanagari.yml +13 -0
  791. data/resources/shared/transforms/Malayalam-Gujarati.yml +13 -0
  792. data/resources/shared/transforms/Malayalam-Gurmukhi.yml +13 -0
  793. data/resources/shared/transforms/Malayalam-InterIndic.yml +83 -0
  794. data/resources/shared/transforms/Malayalam-Kannada.yml +13 -0
  795. data/resources/shared/transforms/Malayalam-Latin.yml +13 -0
  796. data/resources/shared/transforms/Malayalam-Oriya.yml +13 -0
  797. data/resources/shared/transforms/Malayalam-Tamil.yml +13 -0
  798. data/resources/shared/transforms/Malayalam-Telugu.yml +13 -0
  799. data/resources/shared/transforms/Maldivian-Latin-BGN.yml +77 -0
  800. data/resources/shared/transforms/Maldivian-Latin.yml +76 -0
  801. data/resources/shared/transforms/Mongolian-Latin-BGN.yml +101 -0
  802. data/resources/shared/transforms/Mongolian-Latin.yml +100 -0
  803. data/resources/shared/transforms/Oriya-Bengali.yml +13 -0
  804. data/resources/shared/transforms/Oriya-Devanagari.yml +13 -0
  805. data/resources/shared/transforms/Oriya-Gujarati.yml +13 -0
  806. data/resources/shared/transforms/Oriya-Gurmukhi.yml +13 -0
  807. data/resources/shared/transforms/Oriya-InterIndic.yml +89 -0
  808. data/resources/shared/transforms/Oriya-Kannada.yml +13 -0
  809. data/resources/shared/transforms/Oriya-Latin.yml +13 -0
  810. data/resources/shared/transforms/Oriya-Malayalam.yml +13 -0
  811. data/resources/shared/transforms/Oriya-Tamil.yml +13 -0
  812. data/resources/shared/transforms/Oriya-Telugu.yml +13 -0
  813. data/resources/shared/transforms/Pashto-Latin-BGN.yml +151 -0
  814. data/resources/shared/transforms/Pashto-Latin.yml +150 -0
  815. data/resources/shared/transforms/Persian-Latin-BGN.yml +123 -0
  816. data/resources/shared/transforms/Persian-Latin.yml +122 -0
  817. data/resources/shared/transforms/Pinyin-NumericPinyin.yml +13 -0
  818. data/resources/shared/transforms/Russian-Latin-BGN.yml +113 -0
  819. data/resources/shared/transforms/Russian-Latin.yml +112 -0
  820. data/resources/shared/transforms/Serbian-Latin-BGN.yml +81 -0
  821. data/resources/shared/transforms/Serbian-Latin.yml +80 -0
  822. data/resources/shared/transforms/Simplified-Traditional.yml +3988 -0
  823. data/resources/shared/transforms/Syriac-Latin.yml +55 -0
  824. data/resources/shared/transforms/Tamil-Bengali.yml +13 -0
  825. data/resources/shared/transforms/Tamil-Devanagari.yml +13 -0
  826. data/resources/shared/transforms/Tamil-Gujarati.yml +13 -0
  827. data/resources/shared/transforms/Tamil-Gurmukhi.yml +13 -0
  828. data/resources/shared/transforms/Tamil-InterIndic.yml +72 -0
  829. data/resources/shared/transforms/Tamil-Kannada.yml +13 -0
  830. data/resources/shared/transforms/Tamil-Latin.yml +13 -0
  831. data/resources/shared/transforms/Tamil-Malayalam.yml +13 -0
  832. data/resources/shared/transforms/Tamil-Oriya.yml +13 -0
  833. data/resources/shared/transforms/Tamil-Telugu.yml +13 -0
  834. data/resources/shared/transforms/Telugu-Bengali.yml +13 -0
  835. data/resources/shared/transforms/Telugu-Devanagari.yml +13 -0
  836. data/resources/shared/transforms/Telugu-Gujarati.yml +13 -0
  837. data/resources/shared/transforms/Telugu-Gurmukhi.yml +13 -0
  838. data/resources/shared/transforms/Telugu-InterIndic.yml +89 -0
  839. data/resources/shared/transforms/Telugu-Kannada.yml +13 -0
  840. data/resources/shared/transforms/Telugu-Latin.yml +13 -0
  841. data/resources/shared/transforms/Telugu-Malayalam.yml +13 -0
  842. data/resources/shared/transforms/Telugu-Oriya.yml +13 -0
  843. data/resources/shared/transforms/Telugu-Tamil.yml +13 -0
  844. data/resources/shared/transforms/Thai-Latin.yml +15 -0
  845. data/resources/shared/transforms/Thai-ThaiLogical.yml +15 -0
  846. data/resources/shared/transforms/Thai-ThaiSemi.yml +10 -0
  847. data/resources/shared/transforms/ThaiLogical-Latin.yml +119 -0
  848. data/resources/shared/transforms/Turkmen-Latin-BGN.yml +122 -0
  849. data/resources/shared/transforms/Turkmen-Latin.yml +121 -0
  850. data/resources/shared/transforms/Ukrainian-Latin-BGN.yml +115 -0
  851. data/resources/shared/transforms/Ukrainian-Latin.yml +114 -0
  852. data/resources/shared/transforms/Uzbek-Latin-BGN.yml +117 -0
  853. data/resources/shared/transforms/Uzbek-Latin.yml +116 -0
  854. data/resources/shared/transforms/az-Lower.yml +12 -0
  855. data/resources/shared/transforms/az-Title.yml +13 -0
  856. data/resources/shared/transforms/az-Upper.yml +10 -0
  857. data/resources/shared/transforms/ch-ch_FONIPA.yml +71 -0
  858. data/resources/shared/transforms/cs-cs_FONIPA.yml +62 -0
  859. data/resources/shared/transforms/cs-ja.yml +10 -0
  860. data/resources/shared/transforms/cs-ko.yml +10 -0
  861. data/resources/shared/transforms/cs_FONIPA-ja.yml +201 -0
  862. data/resources/shared/transforms/cs_FONIPA-ko.yml +88 -0
  863. data/resources/shared/transforms/dsb-dsb_FONIPA.yml +73 -0
  864. data/resources/shared/transforms/el-Lower.yml +13 -0
  865. data/resources/shared/transforms/el-Title.yml +14 -0
  866. data/resources/shared/transforms/el-Upper.yml +13 -0
  867. data/resources/shared/transforms/es-am.yml +10 -0
  868. data/resources/shared/transforms/es-es_FONIPA.yml +81 -0
  869. data/resources/shared/transforms/es-ja.yml +10 -0
  870. data/resources/shared/transforms/es-zh.yml +10 -0
  871. data/resources/shared/transforms/es_419-ja.yml +11 -0
  872. data/resources/shared/transforms/es_419-zh.yml +11 -0
  873. data/resources/shared/transforms/es_FONIPA-am.yml +167 -0
  874. data/resources/shared/transforms/es_FONIPA-es_419_FONIPA.yml +10 -0
  875. data/resources/shared/transforms/es_FONIPA-ja.yml +145 -0
  876. data/resources/shared/transforms/es_FONIPA-zh.yml +497 -0
  877. data/resources/shared/transforms/it-am.yml +198 -0
  878. data/resources/shared/transforms/it-ja.yml +185 -0
  879. data/resources/shared/transforms/ja_Latn-ko.yml +92 -0
  880. data/resources/shared/transforms/ja_Latn-ru.yml +63 -0
  881. data/resources/shared/transforms/la-la_FONIPA.yml +81 -0
  882. data/resources/shared/transforms/lt-Lower.yml +17 -0
  883. data/resources/shared/transforms/lt-Title.yml +19 -0
  884. data/resources/shared/transforms/lt-Upper.yml +12 -0
  885. data/resources/shared/transforms/nl-Title.yml +10 -0
  886. data/resources/shared/transforms/pl-ja.yml +10 -0
  887. data/resources/shared/transforms/pl-pl_FONIPA.yml +98 -0
  888. data/resources/shared/transforms/pl_FONIPA-ja.yml +218 -0
  889. data/resources/shared/transforms/ro-ja.yml +10 -0
  890. data/resources/shared/transforms/ro-ro_FONIPA.yml +88 -0
  891. data/resources/shared/transforms/ro_FONIPA-ja.yml +157 -0
  892. data/resources/shared/transforms/ru-ja.yml +441 -0
  893. data/resources/shared/transforms/ru-zh.yml +975 -0
  894. data/resources/shared/transforms/sk-ja.yml +10 -0
  895. data/resources/shared/transforms/sk-sk_FONIPA.yml +74 -0
  896. data/resources/shared/transforms/sk_FONIPA-ja.yml +190 -0
  897. data/resources/shared/transforms/tlh-tlh_FONIPA.yml +54 -0
  898. data/resources/shared/transforms/tr-Lower.yml +12 -0
  899. data/resources/shared/transforms/tr-Title.yml +13 -0
  900. data/resources/shared/transforms/tr-Upper.yml +10 -0
  901. data/resources/shared/transforms/uz_Cyrl-uz_Latn.yml +102 -0
  902. data/resources/shared/transforms/yo-yo_BJ.yml +16 -0
  903. data/resources/shared/transforms/zh_Latn_PINYIN-ru.yml +120 -0
  904. data/resources/unicode_data/blocks.yml +168 -0
  905. data/resources/unicode_data/blocks/ancient_greek_numbers.yml +32 -0
  906. data/resources/unicode_data/blocks/ancient_symbols.yml +16 -0
  907. data/resources/unicode_data/blocks/arabic.yml +16 -0
  908. data/resources/unicode_data/blocks/arabic_extended_a.yml +176 -0
  909. data/resources/unicode_data/blocks/arabic_presentation_forms_a.yml +2 -2
  910. data/resources/unicode_data/blocks/armenian.yml +32 -0
  911. data/resources/unicode_data/blocks/bengali.yml +16 -0
  912. data/resources/unicode_data/blocks/brahmi.yml +16 -0
  913. data/resources/unicode_data/blocks/cherokee.yml +281 -169
  914. data/resources/unicode_data/blocks/cjk_unified_ideographs.yml +2 -2
  915. data/resources/unicode_data/blocks/combining_diacritical_marks_supplement.yml +240 -0
  916. data/resources/unicode_data/blocks/combining_half_marks.yml +144 -0
  917. data/resources/unicode_data/blocks/cuneiform.yml +688 -0
  918. data/resources/unicode_data/blocks/cuneiform_numbers_and_punctuation.yml +208 -0
  919. data/resources/unicode_data/blocks/currency_symbols.yml +64 -0
  920. data/resources/unicode_data/blocks/cyrillic_extended_b.yml +112 -0
  921. data/resources/unicode_data/blocks/cyrillic_supplement.yml +128 -0
  922. data/resources/unicode_data/blocks/devanagari.yml +16 -0
  923. data/resources/unicode_data/blocks/devanagari_extended.yml +32 -0
  924. data/resources/unicode_data/blocks/dingbats.yml +16 -0
  925. data/resources/unicode_data/blocks/emoticons.yml +64 -0
  926. data/resources/unicode_data/blocks/enclosed_alphanumeric_supplement.yml +32 -0
  927. data/resources/unicode_data/blocks/greek_and_coptic.yml +18 -2
  928. data/resources/unicode_data/blocks/gujarati.yml +16 -0
  929. data/resources/unicode_data/blocks/ipa_extensions.yml +12 -12
  930. data/resources/unicode_data/blocks/kannada.yml +16 -0
  931. data/resources/unicode_data/blocks/latin_extended_d.yml +400 -0
  932. data/resources/unicode_data/blocks/limbu.yml +32 -0
  933. data/resources/unicode_data/blocks/malayalam.yml +32 -0
  934. data/resources/unicode_data/blocks/meroitic_cursive.yml +1024 -0
  935. data/resources/unicode_data/blocks/miscellaneous_symbols_and_arrows.yml +1904 -0
  936. data/resources/unicode_data/blocks/miscellaneous_symbols_and_pictographs.yml +4816 -1088
  937. data/resources/unicode_data/blocks/miscellaneous_technical.yml +112 -0
  938. data/resources/unicode_data/blocks/musical_symbols.yml +176 -0
  939. data/resources/unicode_data/blocks/myanmar_extended_a.yml +64 -0
  940. data/resources/unicode_data/blocks/new_tai_lue.yml +19 -19
  941. data/resources/unicode_data/blocks/number_forms.yml +32 -0
  942. data/resources/unicode_data/blocks/old_italic.yml +16 -0
  943. data/resources/unicode_data/blocks/playing_cards.yml +368 -0
  944. data/resources/unicode_data/blocks/runic.yml +128 -0
  945. data/resources/unicode_data/blocks/sharada.yml +176 -0
  946. data/resources/unicode_data/blocks/sinhala.yml +160 -0
  947. data/resources/unicode_data/blocks/sundanese.yml +4 -4
  948. data/resources/unicode_data/blocks/supplemental_punctuation.yml +112 -0
  949. data/resources/unicode_data/blocks/telugu.yml +48 -0
  950. data/resources/unicode_data/blocks/transport_and_map_symbols.yml +448 -0
  951. data/resources/unicode_data/blocks/vedic_extensions.yml +32 -0
  952. data/resources/unicode_data/casefolding.yml +760 -0
  953. data/resources/unicode_data/properties/Age/7.0/value.dump +0 -0
  954. data/resources/unicode_data/properties/Age/8.0/value.dump +0 -0
  955. data/resources/unicode_data/properties/Bidi_Paired_Bracket_Type/Close/value.dump +62 -0
  956. data/resources/unicode_data/properties/Bidi_Paired_Bracket_Type/Open/value.dump +66 -0
  957. data/resources/unicode_data/properties/Block/Ahom/value.dump +0 -0
  958. data/resources/unicode_data/properties/Block/Anatolian Hieroglyphs/value.dump +0 -0
  959. data/resources/unicode_data/properties/Block/Bassa Vah/value.dump +3 -0
  960. data/resources/unicode_data/properties/Block/CJK Unified Ideographs Extension E/value.dump +3 -0
  961. data/resources/unicode_data/properties/Block/Caucasian Albanian/value.dump +3 -0
  962. data/resources/unicode_data/properties/Block/Cherokee Supplement/value.dump +3 -0
  963. data/resources/unicode_data/properties/Block/Combining Diacritical Marks Extended/value.dump +3 -0
  964. data/resources/unicode_data/properties/Block/Coptic Epact Numbers/value.dump +3 -0
  965. data/resources/unicode_data/properties/Block/Duployan/value.dump +0 -0
  966. data/resources/unicode_data/properties/Block/Early Dynastic Cuneiform/value.dump +3 -0
  967. data/resources/unicode_data/properties/Block/Elbasan/value.dump +0 -0
  968. data/resources/unicode_data/properties/Block/Geometric Shapes Extended/value.dump +3 -0
  969. data/resources/unicode_data/properties/Block/Grantha/value.dump +0 -0
  970. data/resources/unicode_data/properties/Block/Hatran/value.dump +3 -0
  971. data/resources/unicode_data/properties/Block/Khojki/value.dump +0 -0
  972. data/resources/unicode_data/properties/Block/Khudawadi/value.dump +3 -0
  973. data/resources/unicode_data/properties/Block/Latin Extended-E/value.dump +3 -0
  974. data/resources/unicode_data/properties/Block/Linear A/value.dump +0 -0
  975. data/resources/unicode_data/properties/Block/Mahajani/value.dump +3 -0
  976. data/resources/unicode_data/properties/Block/Manichaean/value.dump +5 -0
  977. data/resources/unicode_data/properties/Block/Mende Kikakui/value.dump +0 -0
  978. data/resources/unicode_data/properties/Block/Modi/value.dump +0 -0
  979. data/resources/unicode_data/properties/Block/Mro/value.dump +3 -0
  980. data/resources/unicode_data/properties/Block/Multani/value.dump +3 -0
  981. data/resources/unicode_data/properties/Block/Myanmar Extended-B/value.dump +3 -0
  982. data/resources/unicode_data/properties/Block/Nabataean/value.dump +3 -0
  983. data/resources/unicode_data/properties/Block/Old Hungarian/value.dump +3 -0
  984. data/resources/unicode_data/properties/Block/Old North Arabian/value.dump +5 -0
  985. data/resources/unicode_data/properties/Block/Old Permic/value.dump +3 -0
  986. data/resources/unicode_data/properties/Block/Ornamental Dingbats/value.dump +3 -0
  987. data/resources/unicode_data/properties/Block/Pahawh Hmong/value.dump +0 -0
  988. data/resources/unicode_data/properties/Block/Palmyrene/value.dump +3 -0
  989. data/resources/unicode_data/properties/Block/Pau Cin Hau/value.dump +3 -0
  990. data/resources/unicode_data/properties/Block/Psalter Pahlavi/value.dump +3 -0
  991. data/resources/unicode_data/properties/Block/Shorthand Format Controls/value.dump +3 -0
  992. data/resources/unicode_data/properties/Block/Siddham/value.dump +3 -0
  993. data/resources/unicode_data/properties/Block/Sinhala Archaic Numbers/value.dump +3 -0
  994. data/resources/unicode_data/properties/Block/Supplemental Arrows-C/value.dump +0 -0
  995. Pictographs/value.dump +0 -0
  996. data/resources/unicode_data/properties/Block/Sutton SignWriting/value.dump +0 -0
  997. data/resources/unicode_data/properties/Block/Tirhuta/value.dump +3 -0
  998. data/resources/unicode_data/properties/Block/Warang Citi/value.dump +3 -0
  999. data/resources/unicode_data/properties/Indic_Syllabic_Category/Brahmi_Joining_Number/value.dump +3 -0
  1000. data/resources/unicode_data/properties/Indic_Syllabic_Category/Cantillation_Mark/value.dump +10 -0
  1001. data/resources/unicode_data/properties/Indic_Syllabic_Category/Consonant_Killer/value.dump +4 -0
  1002. data/resources/unicode_data/properties/Indic_Syllabic_Category/Consonant_Preceding_Repha/value.dump +3 -0
  1003. data/resources/unicode_data/properties/Indic_Syllabic_Category/Consonant_Prefixed/value.dump +3 -0
  1004. data/resources/unicode_data/properties/Indic_Syllabic_Category/Consonant_Succeeding_Repha/value.dump +6 -0
  1005. data/resources/unicode_data/properties/Indic_Syllabic_Category/Consonant_With_Stacker/value.dump +4 -0
  1006. data/resources/unicode_data/properties/Indic_Syllabic_Category/Gemination_Mark/value.dump +6 -0
  1007. data/resources/unicode_data/properties/Indic_Syllabic_Category/Invisible_Stacker/value.dump +11 -0
  1008. data/resources/unicode_data/properties/Indic_Syllabic_Category/Joiner/value.dump +3 -0
  1009. data/resources/unicode_data/properties/Indic_Syllabic_Category/Non_Joiner/value.dump +3 -0
  1010. data/resources/unicode_data/properties/Indic_Syllabic_Category/Number/value.dump +0 -0
  1011. data/resources/unicode_data/properties/Indic_Syllabic_Category/Number_Joiner/value.dump +3 -0
  1012. data/resources/unicode_data/properties/Indic_Syllabic_Category/Pure_Killer/value.dump +17 -0
  1013. data/resources/unicode_data/properties/Indic_Syllabic_Category/Syllable_Modifier/value.dump +15 -0
  1014. data/resources/unicode_data/properties/Joining_Group/AIN/value.dump +8 -0
  1015. data/resources/unicode_data/properties/Joining_Group/ALAPH/value.dump +3 -0
  1016. data/resources/unicode_data/properties/Joining_Group/ALEF/value.dump +8 -0
  1017. data/resources/unicode_data/properties/Joining_Group/BEH/value.dump +8 -0
  1018. data/resources/unicode_data/properties/Joining_Group/BETH/value.dump +4 -0
  1019. data/resources/unicode_data/properties/Joining_Group/BURUSHASKI YEH BARREE/value.dump +3 -0
  1020. data/resources/unicode_data/properties/Joining_Group/DAL/value.dump +8 -0
  1021. data/resources/unicode_data/properties/Joining_Group/DALATH RISH/value.dump +5 -0
  1022. data/resources/unicode_data/properties/Joining_Group/E/value.dump +3 -0
  1023. data/resources/unicode_data/properties/Joining_Group/FARSI YEH/value.dump +6 -0
  1024. data/resources/unicode_data/properties/Joining_Group/FE/value.dump +3 -0
  1025. data/resources/unicode_data/properties/Joining_Group/FEH/value.dump +6 -0
  1026. data/resources/unicode_data/properties/Joining_Group/FINAL SEMKATH/value.dump +3 -0
  1027. data/resources/unicode_data/properties/Joining_Group/GAF/value.dump +8 -0
  1028. data/resources/unicode_data/properties/Joining_Group/GAMAL/value.dump +4 -0
  1029. data/resources/unicode_data/properties/Joining_Group/HAH/value.dump +10 -0
  1030. data/resources/unicode_data/properties/Joining_Group/HE/value.dump +3 -0
  1031. data/resources/unicode_data/properties/Joining_Group/HEH GOAL/value.dump +3 -0
  1032. data/resources/unicode_data/properties/Joining_Group/HEH/value.dump +3 -0
  1033. data/resources/unicode_data/properties/Joining_Group/HETH/value.dump +3 -0
  1034. data/resources/unicode_data/properties/Joining_Group/KAF/value.dump +6 -0
  1035. data/resources/unicode_data/properties/Joining_Group/KAPH/value.dump +3 -0
  1036. data/resources/unicode_data/properties/Joining_Group/KHAPH/value.dump +3 -0
  1037. data/resources/unicode_data/properties/Joining_Group/KNOTTED HEH/value.dump +4 -0
  1038. data/resources/unicode_data/properties/Joining_Group/LAM/value.dump +6 -0
  1039. data/resources/unicode_data/properties/Joining_Group/LAMADH/value.dump +3 -0
  1040. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN ALEPH/value.dump +5 -0
  1041. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN AYIN/value.dump +5 -0
  1042. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN BETH/value.dump +5 -0
  1043. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN DALETH/value.dump +5 -0
  1044. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN DHAMEDH/value.dump +5 -0
  1045. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN FIVE/value.dump +5 -0
  1046. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN GIMEL/value.dump +5 -0
  1047. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN HETH/value.dump +5 -0
  1048. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN HUNDRED/value.dump +5 -0
  1049. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN KAPH/value.dump +5 -0
  1050. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN LAMEDH/value.dump +5 -0
  1051. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN MEM/value.dump +5 -0
  1052. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN NUN/value.dump +5 -0
  1053. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN ONE/value.dump +5 -0
  1054. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN PE/value.dump +5 -0
  1055. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN QOPH/value.dump +5 -0
  1056. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN RESH/value.dump +5 -0
  1057. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN SADHE/value.dump +5 -0
  1058. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN SAMEKH/value.dump +5 -0
  1059. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN TAW/value.dump +5 -0
  1060. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN TEN/value.dump +5 -0
  1061. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN TETH/value.dump +5 -0
  1062. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN THAMEDH/value.dump +5 -0
  1063. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN TWENTY/value.dump +5 -0
  1064. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN WAW/value.dump +5 -0
  1065. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN YODH/value.dump +5 -0
  1066. data/resources/unicode_data/properties/Joining_Group/MANICHAEAN ZAYIN/value.dump +5 -0
  1067. data/resources/unicode_data/properties/Joining_Group/MEEM/value.dump +5 -0
  1068. data/resources/unicode_data/properties/Joining_Group/MIM/value.dump +3 -0
  1069. data/resources/unicode_data/properties/Joining_Group/NOON/value.dump +5 -0
  1070. data/resources/unicode_data/properties/Joining_Group/NUN/value.dump +3 -0
  1071. data/resources/unicode_data/properties/Joining_Group/NYA/value.dump +3 -0
  1072. data/resources/unicode_data/properties/Joining_Group/No_Joining_Group/value.dump +0 -0
  1073. data/resources/unicode_data/properties/Joining_Group/PE/value.dump +3 -0
  1074. data/resources/unicode_data/properties/Joining_Group/QAF/value.dump +6 -0
  1075. data/resources/unicode_data/properties/Joining_Group/QAPH/value.dump +3 -0
  1076. data/resources/unicode_data/properties/Joining_Group/REH/value.dump +10 -0
  1077. data/resources/unicode_data/properties/Joining_Group/REVERSED PE/value.dump +3 -0
  1078. data/resources/unicode_data/properties/Joining_Group/ROHINGYA YEH/value.dump +3 -0
  1079. data/resources/unicode_data/properties/Joining_Group/SAD/value.dump +6 -0
  1080. data/resources/unicode_data/properties/Joining_Group/SADHE/value.dump +3 -0
  1081. data/resources/unicode_data/properties/Joining_Group/SEEN/value.dump +9 -0
  1082. data/resources/unicode_data/properties/Joining_Group/SEMKATH/value.dump +3 -0
  1083. data/resources/unicode_data/properties/Joining_Group/SHIN/value.dump +3 -0
  1084. data/resources/unicode_data/properties/Joining_Group/STRAIGHT WAW/value.dump +3 -0
  1085. data/resources/unicode_data/properties/Joining_Group/SWASH KAF/value.dump +3 -0
  1086. data/resources/unicode_data/properties/Joining_Group/SYRIAC WAW/value.dump +3 -0
  1087. data/resources/unicode_data/properties/Joining_Group/TAH/value.dump +5 -0
  1088. data/resources/unicode_data/properties/Joining_Group/TAW/value.dump +3 -0
  1089. data/resources/unicode_data/properties/Joining_Group/TEH MARBUTA GOAL/value.dump +3 -0
  1090. data/resources/unicode_data/properties/Joining_Group/TEH MARBUTA/value.dump +5 -0
  1091. data/resources/unicode_data/properties/Joining_Group/TETH/value.dump +3 -0
  1092. data/resources/unicode_data/properties/Joining_Group/WAW/value.dump +9 -0
  1093. data/resources/unicode_data/properties/Joining_Group/YEH BARREE/value.dump +3 -0
  1094. data/resources/unicode_data/properties/Joining_Group/YEH WITH TAIL/value.dump +3 -0
  1095. data/resources/unicode_data/properties/Joining_Group/YEH/value.dump +9 -0
  1096. data/resources/unicode_data/properties/Joining_Group/YUDH HE/value.dump +3 -0
  1097. data/resources/unicode_data/properties/Joining_Group/YUDH/value.dump +3 -0
  1098. data/resources/unicode_data/properties/Joining_Group/ZAIN/value.dump +3 -0
  1099. data/resources/unicode_data/properties/Joining_Group/ZHAIN/value.dump +3 -0
  1100. data/resources/unicode_data/properties/Joining_Type/Dual_Joining/value.dump +65 -0
  1101. data/resources/unicode_data/properties/Joining_Type/Join_Causing/value.dump +8 -0
  1102. data/resources/unicode_data/properties/Joining_Type/Left_Joining/value.dump +9 -0
  1103. data/resources/unicode_data/properties/Joining_Type/Non_Joining/value.dump +0 -0
  1104. data/resources/unicode_data/properties/Joining_Type/Right_Joining/value.dump +68 -0
  1105. data/resources/unicode_data/properties/Script/Ahom/value.dump +0 -0
  1106. data/resources/unicode_data/properties/Script/Anatolian_Hieroglyphs/value.dump +0 -0
  1107. data/resources/unicode_data/properties/Script/Bassa_Vah/value.dump +4 -0
  1108. data/resources/unicode_data/properties/Script/Caucasian_Albanian/value.dump +4 -0
  1109. data/resources/unicode_data/properties/Script/Duployan/value.dump +0 -0
  1110. data/resources/unicode_data/properties/Script/Elbasan/value.dump +0 -0
  1111. data/resources/unicode_data/properties/Script/Grantha/value.dump +0 -0
  1112. data/resources/unicode_data/properties/Script/Hatran/value.dump +5 -0
  1113. data/resources/unicode_data/properties/Script/Khojki/value.dump +0 -0
  1114. data/resources/unicode_data/properties/Script/Khudawadi/value.dump +4 -0
  1115. data/resources/unicode_data/properties/Script/Linear_A/value.dump +0 -0
  1116. data/resources/unicode_data/properties/Script/Mahajani/value.dump +3 -0
  1117. data/resources/unicode_data/properties/Script/Manichaean/value.dump +8 -0
  1118. data/resources/unicode_data/properties/Script/Mende_Kikakui/value.dump +0 -0
  1119. data/resources/unicode_data/properties/Script/Modi/value.dump +0 -0
  1120. data/resources/unicode_data/properties/Script/Mro/value.dump +5 -0
  1121. data/resources/unicode_data/properties/Script/Multani/value.dump +8 -0
  1122. data/resources/unicode_data/properties/Script/Nabataean/value.dump +4 -0
  1123. data/resources/unicode_data/properties/Script/Old_Hungarian/value.dump +5 -0
  1124. data/resources/unicode_data/properties/Script/Old_North_Arabian/value.dump +5 -0
  1125. data/resources/unicode_data/properties/Script/Old_Permic/value.dump +3 -0
  1126. data/resources/unicode_data/properties/Script/Pahawh_Hmong/value.dump +0 -0
  1127. data/resources/unicode_data/properties/Script/Palmyrene/value.dump +3 -0
  1128. data/resources/unicode_data/properties/Script/Pau_Cin_Hau/value.dump +3 -0
  1129. data/resources/unicode_data/properties/Script/Psalter_Pahlavi/value.dump +5 -0
  1130. data/resources/unicode_data/properties/Script/Siddham/value.dump +4 -0
  1131. data/resources/unicode_data/properties/Script/SignWriting/value.dump +0 -0
  1132. data/resources/unicode_data/properties/Script/Tirhuta/value.dump +4 -0
  1133. data/resources/unicode_data/properties/Script/Warang_Citi/value.dump +4 -0
  1134. data/resources/unicode_data/properties/Script_Extensions/Copt/value.dump +3 -0
  1135. data/resources/unicode_data/properties/Script_Extensions/Dupl/value.dump +3 -0
  1136. data/resources/unicode_data/properties/Script_Extensions/Glag/value.dump +4 -0
  1137. data/resources/unicode_data/properties/Script_Extensions/Gran/value.dump +12 -0
  1138. data/resources/unicode_data/properties/Script_Extensions/Kali/value.dump +3 -0
  1139. data/resources/unicode_data/properties/Script_Extensions/Khoj/value.dump +4 -0
  1140. data/resources/unicode_data/properties/Script_Extensions/Knda/value.dump +6 -0
  1141. data/resources/unicode_data/properties/Script_Extensions/Limb/value.dump +3 -0
  1142. data/resources/unicode_data/properties/Script_Extensions/Mahj/value.dump +4 -0
  1143. data/resources/unicode_data/properties/Script_Extensions/Mani/value.dump +3 -0
  1144. data/resources/unicode_data/properties/Script_Extensions/Mlym/value.dump +5 -0
  1145. data/resources/unicode_data/properties/Script_Extensions/Modi/value.dump +3 -0
  1146. data/resources/unicode_data/properties/Script_Extensions/Mult/value.dump +4 -0
  1147. data/resources/unicode_data/properties/Script_Extensions/Perm/value.dump +3 -0
  1148. data/resources/unicode_data/properties/Script_Extensions/Phlp/value.dump +3 -0
  1149. data/resources/unicode_data/properties/Script_Extensions/Shrd/value.dump +8 -0
  1150. data/resources/unicode_data/properties/Script_Extensions/Sind/value.dump +4 -0
  1151. data/resources/unicode_data/properties/Script_Extensions/Sinh/value.dump +3 -0
  1152. data/resources/unicode_data/properties/Script_Extensions/Taml/value.dump +9 -0
  1153. data/resources/unicode_data/properties/Script_Extensions/Telu/value.dump +5 -0
  1154. data/resources/unicode_data/properties/Script_Extensions/Tirh/value.dump +4 -0
  1155. data/resources/unicode_data/property_aliases.yml +9 -3
  1156. data/resources/unicode_data/property_value_aliases.yml +34 -0
  1157. data/spec/collation/collator_spec.rb +53 -32
  1158. data/spec/collation/trie_builder_spec.rb +2 -2
  1159. data/spec/collation/trie_dumps_spec.rb +2 -2
  1160. data/spec/collation/trie_loader_spec.rb +3 -3
  1161. data/spec/collation/trie_with_fallback_spec.rb +1 -1
  1162. data/spec/data_readers/additional_date_format_selector_spec.rb +1 -1
  1163. data/spec/data_readers/timespan_data_reader_spec.rb +4 -4
  1164. data/spec/formatters/list_formatter_spec.rb +1 -1
  1165. data/spec/formatters/numbers/abbreviated/long_decimal_formatter_spec.rb +4 -4
  1166. data/spec/formatters/numbers/abbreviated/short_decimal_formatter_spec.rb +0 -2
  1167. data/spec/formatters/numbers/decimal_formatter_spec.rb +1 -1
  1168. data/spec/formatters/numbers/rbnf/locales/af/rbnf_test.yml +14 -14
  1169. data/spec/formatters/numbers/rbnf/locales/ar/rbnf_test.yml +248 -14
  1170. data/spec/formatters/numbers/rbnf/locales/be/rbnf_test.yml +14 -14
  1171. data/spec/formatters/numbers/rbnf/locales/bg/rbnf_test.yml +14 -14
  1172. data/spec/formatters/numbers/rbnf/locales/bn/rbnf_test.yml +488 -488
  1173. data/spec/formatters/numbers/rbnf/locales/ca/rbnf_test.yml +28 -28
  1174. data/spec/formatters/numbers/rbnf/locales/cs/rbnf_test.yml +14 -14
  1175. data/spec/formatters/numbers/rbnf/locales/cy/rbnf_test.yml +14 -14
  1176. data/spec/formatters/numbers/rbnf/locales/da/rbnf_test.yml +307 -307
  1177. data/spec/formatters/numbers/rbnf/locales/de-CH/rbnf_test.yml +146 -146
  1178. data/spec/formatters/numbers/rbnf/locales/de/rbnf_test.yml +14 -14
  1179. data/spec/formatters/numbers/rbnf/locales/el/rbnf_test.yml +14 -14
  1180. data/spec/formatters/numbers/rbnf/locales/en-150/rbnf_test.yml +28 -28
  1181. data/spec/formatters/numbers/rbnf/locales/en-AU/rbnf_test.yml +28 -28
  1182. data/spec/formatters/numbers/rbnf/locales/en-CA/rbnf_test.yml +28 -28
  1183. data/spec/formatters/numbers/rbnf/locales/en-GB/rbnf_test.yml +28 -28
  1184. data/spec/formatters/numbers/rbnf/locales/en-IE/rbnf_test.yml +28 -28
  1185. data/spec/formatters/numbers/rbnf/locales/en-SG/rbnf_test.yml +28 -28
  1186. data/spec/formatters/numbers/rbnf/locales/en-ZA/rbnf_test.yml +28 -28
  1187. data/spec/formatters/numbers/rbnf/locales/en/rbnf_test.yml +28 -28
  1188. data/spec/formatters/numbers/rbnf/locales/es-419/rbnf_test.yml +488 -488
  1189. data/spec/formatters/numbers/rbnf/locales/es-CO/rbnf_test.yml +488 -488
  1190. data/spec/formatters/numbers/rbnf/locales/es-MX/rbnf_test.yml +488 -488
  1191. data/spec/formatters/numbers/rbnf/locales/es-US/rbnf_test.yml +488 -488
  1192. data/spec/formatters/numbers/rbnf/locales/es/rbnf_test.yml +488 -488
  1193. data/spec/formatters/numbers/rbnf/locales/eu/rbnf_test.yml +488 -488
  1194. data/spec/formatters/numbers/rbnf/locales/fa/rbnf_test.yml +14 -14
  1195. data/spec/formatters/numbers/rbnf/locales/fi/rbnf_test.yml +5067 -387
  1196. data/spec/formatters/numbers/rbnf/locales/fil/rbnf_test.yml +14 -14
  1197. data/spec/formatters/numbers/rbnf/locales/fr-BE/rbnf_test.yml +28 -28
  1198. data/spec/formatters/numbers/rbnf/locales/fr-CA/rbnf_test.yml +28 -28
  1199. data/spec/formatters/numbers/rbnf/locales/fr-CH/rbnf_test.yml +28 -28
  1200. data/spec/formatters/numbers/rbnf/locales/fr/rbnf_test.yml +28 -28
  1201. data/spec/formatters/numbers/rbnf/locales/ga/rbnf_test.yml +95 -95
  1202. data/spec/formatters/numbers/rbnf/locales/gl/rbnf_test.yml +488 -488
  1203. data/spec/formatters/numbers/rbnf/locales/gu/rbnf_test.yml +1634 -1283
  1204. data/spec/formatters/numbers/rbnf/locales/he/rbnf_test.yml +120 -120
  1205. data/spec/formatters/numbers/rbnf/locales/hi/rbnf_test.yml +28 -28
  1206. data/spec/formatters/numbers/rbnf/locales/hr/rbnf_test.yml +14 -14
  1207. data/spec/formatters/numbers/rbnf/locales/hu/rbnf_test.yml +14 -14
  1208. data/spec/formatters/numbers/rbnf/locales/id/rbnf_test.yml +35 -35
  1209. data/spec/formatters/numbers/rbnf/locales/is/rbnf_test.yml +14 -14
  1210. data/spec/formatters/numbers/rbnf/locales/it-CH/rbnf_test.yml +28 -28
  1211. data/spec/formatters/numbers/rbnf/locales/it/rbnf_test.yml +28 -28
  1212. data/spec/formatters/numbers/rbnf/locales/ja/rbnf_test.yml +7 -7
  1213. data/spec/formatters/numbers/rbnf/locales/kn/rbnf_test.yml +1634 -1283
  1214. data/spec/formatters/numbers/rbnf/locales/ko/rbnf_test.yml +14 -14
  1215. data/spec/formatters/numbers/rbnf/locales/lv/rbnf_test.yml +14 -14
  1216. data/spec/formatters/numbers/rbnf/locales/mr/rbnf_test.yml +1634 -1283
  1217. data/spec/formatters/numbers/rbnf/locales/ms/rbnf_test.yml +35 -35
  1218. data/spec/formatters/numbers/rbnf/locales/nb/rbnf_test.yml +950 -599
  1219. data/spec/formatters/numbers/rbnf/locales/nl/rbnf_test.yml +14 -14
  1220. data/spec/formatters/numbers/rbnf/locales/pl/rbnf_test.yml +2152 -46
  1221. data/spec/formatters/numbers/rbnf/locales/pt/rbnf_test.yml +28 -28
  1222. data/spec/formatters/numbers/rbnf/locales/ro/rbnf_test.yml +14 -14
  1223. data/spec/formatters/numbers/rbnf/locales/ru/rbnf_test.yml +5265 -52
  1224. data/spec/formatters/numbers/rbnf/locales/sk/rbnf_test.yml +14 -14
  1225. data/spec/formatters/numbers/rbnf/locales/sq/rbnf_test.yml +14 -14
  1226. data/spec/formatters/numbers/rbnf/locales/sr/rbnf_test.yml +14 -14
  1227. data/spec/formatters/numbers/rbnf/locales/sv/rbnf_test.yml +42 -42
  1228. data/spec/formatters/numbers/rbnf/locales/ta/rbnf_test.yml +14 -14
  1229. data/spec/formatters/numbers/rbnf/locales/th/rbnf_test.yml +123 -123
  1230. data/spec/formatters/numbers/rbnf/locales/tr/rbnf_test.yml +134 -134
  1231. data/spec/formatters/numbers/rbnf/locales/uk/rbnf_test.yml +14 -14
  1232. data/spec/formatters/numbers/rbnf/locales/ur/rbnf_test.yml +488 -488
  1233. data/spec/formatters/numbers/rbnf/locales/vi/rbnf_test.yml +14 -14
  1234. data/spec/formatters/numbers/rbnf/locales/zh-Hant/rbnf_test.yml +7 -7
  1235. data/spec/formatters/numbers/rbnf/locales/zh/rbnf_test.yml +7 -7
  1236. data/spec/localized/localized_date_spec.rb +11 -2
  1237. data/spec/localized/localized_datetime_spec.rb +1 -1
  1238. data/spec/localized/localized_string_spec.rb +9 -1
  1239. data/spec/localized/localized_symbol_spec.rb +4 -4
  1240. data/spec/resources/loader_spec.rb +1 -1
  1241. data/spec/segmentation/break_iterator_spec.rb +9 -9
  1242. data/spec/shared/hunspell/base.hyph +4543 -0
  1243. data/spec/shared/hunspell/base.pat +5536 -0
  1244. data/spec/shared/hunspell/base.word +4543 -0
  1245. data/spec/shared/hyphenator_spec.rb +103 -0
  1246. data/spec/shared/likely_subtags_spec.rb +5 -0
  1247. data/spec/shared/locale_spec.rb +34 -2
  1248. data/spec/shared/postal_code_generator_spec.rb +8 -9
  1249. data/spec/shared/postal_codes_spec.rb +9 -8
  1250. data/spec/shared/unit_spec.rb +1 -1
  1251. data/spec/transforms/rule_set_spec.rb +35 -0
  1252. data/spec/transforms/test_data.yml +820 -0
  1253. data/spec/transforms/transform_id_spec.rb +146 -0
  1254. data/spec/transforms/transformer_spec.rb +113 -0
  1255. data/spec/transforms/transliterator_spec.rb +35 -0
  1256. data/spec/utils/script_detector_spec.rb +12 -3
  1257. data/spec/{collation → utils}/trie_spec.rb +2 -2
  1258. metadata +524 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cc6c6c92fe5dec780cafeb5fd8930add773c46d7
4
- data.tar.gz: a7f4a52136cacf6e26d1b9bf0057dd19f9b852a8
3
+ metadata.gz: 77d562387667ce48ca9f7fd86dfbfe300c387342
4
+ data.tar.gz: 3269c97b2f7b47a84264c1c4766cd6fcf2205a97
5
5
  SHA512:
6
- metadata.gz: 1192dfcd1168d55d7c30c586a8ece42f49d5d854e99a4ccb35e167c4cf7aa12c2b0c6040db5b08375acbc0532afbdad1888a62fa7a2c1ed57ae301706cbb8366
7
- data.tar.gz: cc0b77e683c92a52af0ecb76a77192e93bb1157e1c428651822f3b713b844abe1ada7aa21b635663da67ac68606bdb88a15e7662594fff09a55c6b74c5c27736
6
+ metadata.gz: 2ae5ee0153fd3c1c12aa558f7315d815af5f592a4924674adc5c8786fc87d402c5e7db65f62d48a1fbf7df596dc23f0997126eaee622c1af42f9e1e214763097
7
+ data.tar.gz: f003b9f2514a86b1f1aa1af1ab1ffaf04c233f200b38e1d63a9bc52a80fc4f802ba2ea741602562d577a04f05086ec0234c8ed93f5b01cb570560a13452bfd2f
data/Gemfile CHANGED
@@ -30,7 +30,8 @@ group :test do
30
30
 
31
31
  gem 'simplecov'
32
32
  gem 'launchy'
33
+ end
33
34
 
35
+ group :development, :test do
34
36
  gem 'benchmark-ips'
35
37
  end
36
-
data/History.txt CHANGED
@@ -1,3 +1,10 @@
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
+
1
8
  == 3.6.0
2
9
  * Override South Korean postal code format, which changed recently.
3
10
 
data/README.md CHANGED
@@ -177,7 +177,7 @@ For English (and other languages), you can also specify an ordinal spellout:
177
177
  ```ruby
178
178
  DateTime.now.localize(:es).to_full_s # "viernes, 14 de febrero de 2014, 12:20:05 (UTC +00:00)"
179
179
  DateTime.now.localize(:es).to_long_s # "14 de febrero de 2014, 12:20:05 UTC"
180
- DateTime.now.localize(:es).to_medium_s # "14 de feb. de 2014 12:20:05"
180
+ DateTime.now.localize(:es).to_medium_s # "14 feb. 2014 12:20:05"
181
181
  DateTime.now.localize(:es).to_short_s # "14/2/14 12:20"
182
182
 
183
183
  Time.now.localize(:es).to_full_s # "12:20:05 (UTC +00:00)"
@@ -187,7 +187,7 @@ Time.now.localize(:es).to_short_s # "12:20"
187
187
 
188
188
  DateTime.now.localize(:es).to_date.to_full_s # "viernes, 14 de febrero de 2014"
189
189
  DateTime.now.localize(:es).to_date.to_long_s # "14 de febrero de 2014"
190
- DateTime.now.localize(:es).to_date.to_medium_s # "14 de feb. de 2014"
190
+ DateTime.now.localize(:es).to_date.to_medium_s # "14 feb. 2014"
191
191
  DateTime.now.localize(:es).to_date.to_short_s # "14/2/14"
192
192
  ```
193
193
 
@@ -237,22 +237,28 @@ It's important to know that, even though any given format may not be available a
237
237
  | H | 12 |
238
238
  | Hm | 12:20 |
239
239
  | Hms | 12:20:05 |
240
+ | Hmsv | 12:20:05 v |
241
+ | Hmv | 12:20 v |
240
242
  | M | 2 |
241
243
  | MEd | Fri, 2/14 |
242
244
  | MMM | Feb |
243
245
  | MMMEd | Fri, Feb 14 |
246
+ | MMMMd | February 14 |
244
247
  | MMMd | Feb 14 |
245
248
  | Md | 2/14 |
246
249
  | d | 14 |
247
250
  | h | 12 PM |
248
251
  | hm | 12:20 PM |
249
252
  | hms | 12:20:05 PM |
253
+ | hmsv | 12:20:05 PM v |
254
+ | hmv | 12:20 PM v |
250
255
  | ms | 20:05 |
251
256
  | y | 2014 |
252
257
  | yM | 2/2014 |
253
258
  | yMEd | Fri, 2/14/2014 |
254
259
  | yMMM | Feb 2014 |
255
260
  | yMMMEd | Fri, Feb 14, 2014 |
261
+ | yMMMM | February 2014 |
256
262
  | yMMMd | Feb 14, 2014 |
257
263
  | yMd | 2/14/2014 |
258
264
  | yQQQ | Q1 2014 |
@@ -320,7 +326,7 @@ TwitterCldr::Localized::LocalizedTimespan.new(52).to_s(:approximate => true) #
320
326
  CLDR contains a trove of calendar data, much of which can be accessed. One example is names of months, days, years.
321
327
 
322
328
  ```ruby
323
- TwitterCldr::Shared::Calendar.new(:sv).months.take(3) # ["Januari", "Februari", "Mars"]
329
+ TwitterCldr::Shared::Calendar.new(:sv).months.take(3) # ["januari", "februari", "mars"]
324
330
  ```
325
331
 
326
332
 
@@ -490,14 +496,14 @@ TwitterCldr::Shared::Territories.all
490
496
  TwitterCldr::Shared::Territories.all_for(:pt) # { ... :tl => "República Democrática de Timor-Leste", :tm => "Turcomenistão" ... }
491
497
 
492
498
  # get a territory by its code for the default locale
493
- TwitterCldr::Shared::Territories.from_territory_code(:'gb') # "U.K."
499
+ TwitterCldr::Shared::Territories.from_territory_code(:'gb') # "UK"
494
500
 
495
501
  # get a territory from its code for a specific locale
496
502
  TwitterCldr::Shared::Territories.from_territory_code_for_locale(:gb, :pt) # "Reino Unido"
497
503
 
498
504
  # translate a territory from one locale to another
499
505
  # signature: translate_territory(territory_name, source_locale, destination_locale)
500
- TwitterCldr::Shared::Territories.translate_territory("Reino Unido", :pt, :en) # "U.K."
506
+ TwitterCldr::Shared::Territories.translate_territory("Reino Unido", :pt, :en) # "UK"
501
507
  TwitterCldr::Shared::Territories.translate_territory("U.K.", :en, :pt) # "Reino Unido"
502
508
  ```
503
509
 
@@ -548,7 +554,7 @@ postal_code.regexp # /(\d{5})(?:[ \-](\d{4}))?/
548
554
  Get a sample of valid postal codes with the `#sample` method:
549
555
 
550
556
  ```ruby
551
- postal_code.sample(5) # ["40741-8626", "87304", "02763-2183", "78302", "37171"]
557
+ postal_code.sample(5) # ["49037", "77863", "11631-2555", "09849-9066", "60383"]
552
558
  ```
553
559
 
554
560
  ### Phone Codes
@@ -753,6 +759,37 @@ Convert code points to characters:
753
759
  TwitterCldr::Utils::CodePoints.to_string([0xBF]) # "¿"
754
760
  ```
755
761
 
762
+ #### Unicode Properties
763
+
764
+ Each character in the Unicode standard comes with a set of properties. Property data includes what type of script the character is written in, which version of the standard it was first introduced in, whether it represent a digit or an alphabetical symbol, its casing, and much more. Certain properties are boolean true/false values while others contain a set of property values. For example, the Hiragana letter "く" ("ku") has an `"Alphabetic"` property (i.e. Alphabetic = true) but does not have an `"Uppercase"` property (i.e. Uppercase = false). In addition, "く" has a property of `"Script"` with a property value for `"Script"` of `["Hiragana"]` (Note that property values are always arrays, since a single property can contain more than one property value).
765
+
766
+ TwitterCLDR supports all the various Unicode properties and can look them up by character or retrieve a set of matching characters for the given property and property value. Let's use "く" again as an example. "く"'s Unicode code point is 12367 (i.e. `'く'.unpack("U*").first`):
767
+
768
+
769
+
770
+ ```ruby
771
+ properties = TwitterCldr::Shared::CodePoint.get(12367).properties
772
+
773
+ properties.alphabetic # true
774
+ properties.uppercase # false
775
+ properties.script.to_a # ["Hiragana"]
776
+ ```
777
+
778
+ Use `TwitterCldr::Shared::CodePoint.properties` to look up additional property information:
779
+
780
+
781
+
782
+
783
+
784
+
785
+ ```ruby
786
+ properties = TwitterCldr::Shared::CodePoint.properties.code_points_for_property('Script', 'Hiragana')
787
+
788
+ properties.to_a # [12353..12438, 12445..12447 ... ]
789
+ ```
790
+
791
+ Behind the scenes, these methods are using instances of `TwitterCldr::Shared::PropertiesDatabase`. Most of the time you probably won't need to use your own instance, but it is worth mentioning that `PropertiesDatabase` supplies methods for retrieving a list of available property names and normalizing property names and values. Finally, `TwitterCldr::Shared::CodePoint.properties` is an instance of `PropertiesDatabase` that you can use in place of creating a separate instance.
792
+
756
793
  #### Normalization
757
794
 
758
795
  Normalize/decompose a Unicode string (NFD, NFKD, NFC, and NFKC implementations available). Note that the normalized string will almost always look the same as the original string because most character display systems automatically combine decomposed characters.
@@ -806,6 +843,42 @@ Turkic languages make use of the regular and dotted uppercase i characters "I" a
806
843
  "Istanbul".localize(:tr).casefold.to_s # ıstanbul
807
844
  ```
808
845
 
846
+ ### Hyphenation
847
+
848
+ TwitterCLDR uses data from the LibreOffice project to offer an implementation of [Franklin Liang's hyphenation algorithm](http://www.tug.org/docs/liang/). Try the `#hyphenate` method on instances of `LocalizedString`:
849
+
850
+ ```ruby
851
+ 'foolhardy undulate'.localize.hyphenate('-').to_s # fool-hardy un-du-late
852
+ ```
853
+
854
+ Since the data doesn't come packaged with CLDR, only a certain subset of locales are supported. To get a list of supported locales, use the `supported_locales` method:
855
+
856
+
857
+
858
+
859
+
860
+ ```ruby
861
+ TwitterCldr::Shared::Hyphenator.supported_locales # ["af-ZA", "de-CH", "en-US", ...]
862
+ ```
863
+
864
+ You can also ask the `Hyphenator` class if a locale is supported:
865
+
866
+ ```ruby
867
+ TwitterCldr::Shared::Hyphenator.supported_locale?(:en) # true
868
+ TwitterCldr::Shared::Hyphenator.supported_locale?(:ja) # false
869
+ ```
870
+
871
+ Create a new hyphenator instance via the `.get` method. If the locale is not supported, `.get` will raise an error.
872
+
873
+ ```ruby
874
+ hyphenator = TwitterCldr::Shared::Hyphenator.get(:en)
875
+ hyphenator.hyphenate('absolutely', '-') # ab-so-lutely
876
+ ```
877
+
878
+ The `.get` method will identify the best rule set to use by "maximizing" the given locale, a process that tries different combinations of the locale's language, region, and script based on CLDR's likely subtag data. In practice this means passing in `:en` works even though the hyphenator specifically supports en-US and en-GB.
879
+
880
+ The second argument to `#hyphenate` is the delimiter to use, i.e. the hyphen text to insert at syllable boundaries. By default, the delimiter is the Unicode soft hyphen character (\u00AD). Depending on the system that's used to display the hyphenated text (word processor, browser, etc), the soft hyphen may render differently. Soft hyphens are supposed to be rendered only when the word needs to be displayed on multiple lines, and should be invisible otherwise.
881
+
809
882
  ### Sorting (Collation)
810
883
 
811
884
  TwitterCLDR contains an implementation of the [Unicode Collation Algorithm (UCA)](http://unicode.org/reports/tr10/) that provides language-sensitive text sorting capabilities. Conveniently, all you have to do is use the `sort` method in combination with the familiar `localize` method. Notice the difference between the default Ruby sort, which simply compares bytes, and the proper language-aware sort from TwitterCLDR in this German example:
@@ -840,6 +913,60 @@ collator.get_sort_key("Älg") # [39, 61, 51, 1, 134, 157, 6, 1, 143,
840
913
 
841
914
  **Note**: The TwitterCLDR collator does not currently pass all the collation tests provided by Unicode, but for some strange reasons. See the [summary](https://gist.github.com/f4ee3bd280a2257c5641) of these discrepancies if you're curious.
842
915
 
916
+ ### Transliteration
917
+
918
+ Transliteration is the process of converting the text in one language or script into another with the goal of preserving the source language's pronunciation as much as possible. It can be useful in making text pronounceable in the target language. For example, most native English speakers would not be able to read or pronounce Japanese characters like these: "くろねこさま". Transliterating these characters into Latin script yields "kuronekosama", which should be pronounceable by most English speakers (in fact, probably speakers of many languages that use Latin characters). Remember, transliteration isn't translation; the actual meaning of the words is not taken into consideration, only the sound patterns.
919
+
920
+ TwitterCLDR supports transliteration via the `#transliterate_into` method on `LocalizedString`. For example:
921
+
922
+ ```ruby
923
+ "くろねこさま".localize.transliterate_into(:en) # "kuronekosama"
924
+ ```
925
+
926
+ This simple method hides quite a bit of complexity. First, TwitterCLDR identifies the scripts present in the source text. It then attempts to find any available transliterators to convert between the source language and the target language. If more than one transliterator is found, all of them will be applied to the source text.
927
+
928
+ You can provide hints to the transliterator by providing additional locale information. For example, you can provide a source and target script:
929
+
930
+ ```ruby
931
+ "くろねこさま".localize(:ja_Hiragana).transliterate_into(:en_Latin) # "kuronekosama"
932
+ ```
933
+ You may supply only the target script, only the source script, neither, or both. TwitterCLDR will try to find the best set of transliterators to get the job done.
934
+
935
+ Behind the scenes, `LocalizedString#transliterate_into` creates instances of `TwitterCldr::Transforms::Transformer`. You can do this too if you're feeling adventurous. Here's our Japanese example again that uses `Transformer`:
936
+
937
+ ```ruby
938
+
939
+ rule_set = TwitterCldr::Transforms::Transformer.get('Hiragana-Latin')
940
+ rule_set.transform('くろねこさま') # "kuronekosama"
941
+ ```
942
+ Notice that the `.get` method was called with 'Hiragana-Latin' instead of 'ja-en' or something similar. This is because `.get` must be passed an exact transform id. To get a list of all supported transform ids, use the `Transformer#each_transform` method:
943
+
944
+
945
+
946
+
947
+
948
+ ```ruby
949
+ TwitterCldr::Transforms::Transformer.each_transform.to_a # ['Hiragana-Latin', 'Gujarati-Bengali', ...]
950
+ ```
951
+
952
+ You can also search for transform ids using the `TransformId` class, which will attempt to find the closest matching transformer for the given source and target locales. Note that `.find` will return `nil` if no transformer can be found. You can pass instances of `TransformId` instead of a string when calling `Transformer.get`:
953
+
954
+
955
+
956
+
957
+
958
+
959
+ ```ruby
960
+ TwitterCldr::Transforms::TransformId.find('ja', 'en') # nil
961
+
962
+ id = TwitterCldr::Transforms::TransformId.find('ja_Hiragana', 'en')
963
+ id.source # Hiragana
964
+ id.target # Latin
965
+
966
+ rule_set = TwitterCldr::Transforms::Transformer.get(id)
967
+ rule_set.transform('くろねこさま') # "kuronekosama"
968
+ ```
969
+
843
970
  ### Handling Bidirectional Text
844
971
 
845
972
  When it comes to displaying text written in both right-to-left (RTL) and left-to-right (LTR) languages, most display systems run into problems. The trouble is that Arabic or Hebrew text and English text (for example) often get scrambled visually and are therefore difficult to read. It's not usually the basic ASCII characters like A-Z that get scrambled - it's most often punctuation marks and the like that are confusingly mixed up (they are considered "weak" types by Unicode).
data/Rakefile CHANGED
@@ -17,7 +17,7 @@ require 'pry-nav'
17
17
 
18
18
  Bundler::GemHelper.install_tasks
19
19
 
20
- task :default => :spec
20
+ task default: :spec
21
21
 
22
22
  desc 'Run specs'
23
23
  RSpec::Core::RakeTask.new do |t|
@@ -26,7 +26,7 @@ end
26
26
 
27
27
  namespace :spec do
28
28
  desc 'Run full specs suit'
29
- task :full => [:full_spec_env, :spec]
29
+ task full: [:full_spec_env, :spec]
30
30
 
31
31
  task :full_spec_env do
32
32
  ENV['FULL_SPEC'] = 'true'
@@ -35,7 +35,7 @@ end
35
35
 
36
36
  namespace :spec do
37
37
  desc 'Run specs with SimpleCov'
38
- task :cov => ['spec:simplecov_env', :spec] do
38
+ task cov: ['spec:simplecov_env', :spec] do
39
39
  require 'launchy'
40
40
  Launchy.open 'coverage/index.html'
41
41
  end
@@ -58,6 +58,7 @@ task :update do
58
58
  "update:tailoring_data", # per locale
59
59
  "update:collation_tries", # per locale, must come after update:tailoring_data
60
60
  "update:rbnf_tests", # per locale
61
+ "update:transform_tests",
61
62
  "update:bidi_tests"
62
63
  ]
63
64
  else
@@ -74,7 +75,8 @@ task :update do
74
75
  "update:language_codes",
75
76
  "update:segment_exceptions", # per locale
76
77
  "update:segment_tests",
77
- "update:readme"
78
+ "update:readme",
79
+ "update:hyphenation"
78
80
  ]
79
81
  end
80
82
 
@@ -196,6 +198,14 @@ namespace :update do
196
198
  ).import(TwitterCldr.supported_locales)
197
199
  end
198
200
 
201
+ desc 'Import (generate) transformation tests (should be executed using JRuby 1.7 in 1.9 mode)'
202
+ task :transform_tests, :icu4j_jar_path do |_, args|
203
+ TwitterCldr::Resources::TransformTestImporter.new(
204
+ './spec/transforms/test_data.yml',
205
+ args[:icu4j_jar_path] || ICU_JAR
206
+ ).import
207
+ end
208
+
199
209
  desc 'Import segment exceptions'
200
210
  task :segment_exceptions do
201
211
  TwitterCldr::Resources::Uli::SegmentExceptionsImporter.new(
@@ -212,6 +222,15 @@ namespace :update do
212
222
  ).import
213
223
  end
214
224
 
225
+ desc 'Import hyphenation dictionaries'
226
+ task :hyphenation_dictionaries do
227
+ TwitterCldr::Resources::HyphenationImporter.new(
228
+ './vendor/hyphenation/dictionaries',
229
+ './resources/shared/hyphenation',
230
+ '0d3b5e5314e68c3cf5d573b2e7bdc11143dcb821'
231
+ ).import
232
+ end
233
+
215
234
  desc 'Update README'
216
235
  task :readme do |_, args|
217
236
  renderer = TwitterCldr::Resources::ReadmeRenderer.new(
data/lib/twitter_cldr.rb CHANGED
@@ -27,6 +27,7 @@ module TwitterCldr
27
27
  autoload :Shared, 'twitter_cldr/shared'
28
28
  autoload :Tokenizers, 'twitter_cldr/tokenizers'
29
29
  autoload :Utils, 'twitter_cldr/utils'
30
+ autoload :Transforms, 'twitter_cldr/transforms'
30
31
  autoload :Versions, 'twitter_cldr/versions'
31
32
 
32
33
  extend SingleForwardable
@@ -50,6 +51,8 @@ module TwitterCldr
50
51
 
51
52
  def_delegator :resources, :get_resource
52
53
  def_delegator :resources, :get_locale_resource
54
+ def_delegator :resources, :resource_exists?
55
+ def_delegator :resources, :absolute_resource_path
53
56
 
54
57
  class << self
55
58
 
@@ -8,9 +8,8 @@ module TwitterCldr
8
8
  autoload :Collator, 'twitter_cldr/collation/collator'
9
9
  autoload :ImplicitCollationElements, 'twitter_cldr/collation/implicit_collation_elements'
10
10
  autoload :SortKeyBuilder, 'twitter_cldr/collation/sort_key_builder'
11
- autoload :Trie, 'twitter_cldr/collation/trie'
12
11
  autoload :TrieBuilder, 'twitter_cldr/collation/trie_builder'
13
12
  autoload :TrieLoader, 'twitter_cldr/collation/trie_loader'
14
13
  autoload :TrieWithFallback, 'twitter_cldr/collation/trie_with_fallback'
15
14
  end
16
- end
15
+ end
@@ -6,6 +6,8 @@
6
6
  module TwitterCldr
7
7
  module Collation
8
8
 
9
+ class UnexpectedCodePointError < StandardError; end
10
+
9
11
  # Collator uses fractional collation elements table form CLDR to generate sort keys for Unicode strings as well as
10
12
  # compare and sort such strings by generated sort keys.
11
13
  #
@@ -108,7 +110,13 @@ module TwitterCldr
108
110
  while non_starter_pos < code_points.size && !suffixes.empty?
109
111
  # get next code point (possibly non-starter)
110
112
  non_starter_code_point = code_points[non_starter_pos]
111
- combining_class = TwitterCldr::Shared::CodePoint.get(non_starter_code_point).combining_class.to_i
113
+ non_starter_metadata = TwitterCldr::Shared::CodePoint.get(non_starter_code_point)
114
+
115
+ unless non_starter_metadata
116
+ raise UnexpectedCodePointError, "'#{non_starter_code_point}' does not appear to be a valid Unicode code point"
117
+ end
118
+
119
+ combining_class = non_starter_metadata.combining_class.to_i
112
120
 
113
121
  # code point is a starter or combining class has been already used (non-starter is 'blocked' from the prefix)
114
122
  break if combining_class == 0 || used_combining_classes[combining_class]
@@ -30,7 +30,7 @@ module TwitterCldr
30
30
 
31
31
  private
32
32
 
33
- def parse_collation_elements_table(table, trie = TwitterCldr::Collation::Trie.new)
33
+ def parse_collation_elements_table(table, trie = TwitterCldr::Utils::Trie.new)
34
34
  table.each_line do |line|
35
35
  trie.set(parse_code_points($1), parse_collation_element($2)) if COLLATION_ELEMENT_REGEXP =~ line
36
36
  end
@@ -80,4 +80,4 @@ module TwitterCldr
80
80
  end
81
81
 
82
82
  end
83
- end
83
+ end
@@ -28,7 +28,7 @@ module TwitterCldr
28
28
  # by adding their one element prefixes to the trie itself. This feature is useful for some applications, e.g., for
29
29
  # suppressing contractions in a tailored fractional collation elements trie.
30
30
  #
31
- class TrieWithFallback < TwitterCldr::Collation::Trie
31
+ class TrieWithFallback < TwitterCldr::Utils::Trie
32
32
 
33
33
  attr_accessor :fallback
34
34
 
@@ -54,4 +54,4 @@ module TwitterCldr
54
54
  end
55
55
 
56
56
  end
57
- end
57
+ end
@@ -6,7 +6,7 @@
6
6
  module TwitterCldr
7
7
  module Localized
8
8
  autoload :LocalizedArray, 'twitter_cldr/localized/localized_array'
9
- autoload :LocalizedHash, 'twitter_cldr/localized/localized_hash'
9
+ autoload :LocalizedHash, 'twitter_cldr/localized/localized_hash'
10
10
  autoload :LocalizedDate, 'twitter_cldr/localized/localized_date'
11
11
  autoload :LocalizedDateTime, 'twitter_cldr/localized/localized_datetime'
12
12
  autoload :LocalizedNumber, 'twitter_cldr/localized/localized_number'
@@ -16,4 +16,4 @@ module TwitterCldr
16
16
  autoload :LocalizedTime, 'twitter_cldr/localized/localized_time'
17
17
  autoload :LocalizedTimespan, 'twitter_cldr/localized/localized_timespan'
18
18
  end
19
- end
19
+ end
@@ -16,20 +16,8 @@ module TwitterCldr
16
16
  case @base_obj
17
17
  when Time
18
18
  LocalizedTime.new(@base_obj, @locale, chain_params)
19
- when DateTime
20
- utc_dt = @base_obj.new_offset(0)
21
-
22
- time = Time.gm(
23
- utc_dt.year,
24
- utc_dt.month,
25
- utc_dt.day,
26
- utc_dt.hour,
27
- utc_dt.min,
28
- utc_dt.sec,
29
- utc_dt.sec_fraction * 1_000_000
30
- )
31
-
32
- LocalizedTime.new(time, @locale, chain_params)
19
+ when Date, DateTime
20
+ LocalizedTime.new(@base_obj.to_time, @locale, chain_params)
33
21
  else
34
22
  nil
35
23
  end
@@ -57,4 +45,4 @@ module TwitterCldr
57
45
 
58
46
  end
59
47
  end
60
- end
48
+ end