twitter_cldr 3.0.0.beta1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (698) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +16 -2
  3. data/History.txt +9 -1
  4. data/README.md +297 -113
  5. data/Rakefile +97 -17
  6. data/lib/twitter_cldr/collation/collator.rb +12 -3
  7. data/lib/twitter_cldr/collation/trie_builder.rb +1 -1
  8. data/lib/twitter_cldr/{tokenizers/calendars → data_readers}/additional_date_format_selector.rb +6 -4
  9. data/lib/twitter_cldr/data_readers/calendar_data_reader.rb +91 -0
  10. data/lib/twitter_cldr/data_readers/data_reader.rb +32 -0
  11. data/lib/twitter_cldr/data_readers/date_data_reader.rb +26 -0
  12. data/lib/twitter_cldr/data_readers/date_time_data_reader.rb +41 -0
  13. data/lib/twitter_cldr/data_readers/number_data_reader.rb +142 -0
  14. data/lib/twitter_cldr/data_readers/time_data_reader.rb +26 -0
  15. data/lib/twitter_cldr/data_readers/timespan_data_reader.rb +122 -0
  16. data/lib/twitter_cldr/data_readers.rb +17 -0
  17. data/lib/twitter_cldr/formatters/calendars/{datetime_formatter.rb → date_time_formatter.rb} +27 -42
  18. data/lib/twitter_cldr/formatters/calendars/timespan_formatter.rb +3 -64
  19. data/lib/twitter_cldr/formatters/formatter.rb +39 -0
  20. data/lib/twitter_cldr/formatters/list_formatter.rb +22 -12
  21. data/lib/twitter_cldr/formatters/numbers/abbreviated/abbreviated_number_formatter.rb +5 -26
  22. data/lib/twitter_cldr/formatters/numbers/currency_formatter.rb +2 -11
  23. data/lib/twitter_cldr/formatters/numbers/decimal_formatter.rb +4 -2
  24. data/lib/twitter_cldr/formatters/numbers/number_formatter.rb +45 -27
  25. data/lib/twitter_cldr/formatters/numbers/percent_formatter.rb +3 -13
  26. data/lib/twitter_cldr/formatters/numbers/rbnf/formatters.rb +224 -0
  27. data/lib/twitter_cldr/formatters/numbers/rbnf/post_processors/chinese.rb +122 -0
  28. data/lib/twitter_cldr/formatters/numbers/rbnf/rule.rb +93 -0
  29. data/lib/twitter_cldr/formatters/numbers/rbnf/rule_group.rb +20 -0
  30. data/lib/twitter_cldr/formatters/numbers/rbnf/rule_parser.rb +86 -0
  31. data/lib/twitter_cldr/formatters/numbers/rbnf/rule_set.rb +259 -0
  32. data/lib/twitter_cldr/formatters/numbers/rbnf/substitution.rb +30 -0
  33. data/lib/twitter_cldr/formatters/numbers/rbnf.rb +127 -0
  34. data/lib/twitter_cldr/formatters/plurals/plural_formatter.rb +18 -6
  35. data/lib/twitter_cldr/formatters.rb +4 -5
  36. data/lib/twitter_cldr/localized/localized_array.rb +1 -1
  37. data/lib/twitter_cldr/localized/localized_date.rb +6 -3
  38. data/lib/twitter_cldr/localized/localized_datetime.rb +38 -15
  39. data/lib/twitter_cldr/localized/localized_number.rb +40 -24
  40. data/lib/twitter_cldr/localized/localized_object.rb +4 -4
  41. data/lib/twitter_cldr/localized/localized_string.rb +40 -7
  42. data/lib/twitter_cldr/localized/localized_time.rb +9 -2
  43. data/lib/twitter_cldr/localized/localized_timespan.rb +50 -5
  44. data/lib/twitter_cldr/normalization.rb +8 -19
  45. data/lib/twitter_cldr/parsers/parser.rb +50 -0
  46. data/lib/twitter_cldr/parsers/segmentation_parser.rb +137 -0
  47. data/lib/twitter_cldr/parsers/symbol_table.rb +30 -0
  48. data/lib/twitter_cldr/parsers/unicode_regex/character_class.rb +91 -0
  49. data/lib/twitter_cldr/parsers/unicode_regex/character_range.rb +39 -0
  50. data/lib/twitter_cldr/parsers/unicode_regex/character_set.rb +65 -0
  51. data/lib/twitter_cldr/parsers/unicode_regex/component.rb +50 -0
  52. data/lib/twitter_cldr/parsers/unicode_regex/literal.rb +83 -0
  53. data/lib/twitter_cldr/parsers/unicode_regex/unicode_string.rb +41 -0
  54. data/lib/twitter_cldr/parsers/unicode_regex_parser.rb +262 -0
  55. data/lib/twitter_cldr/parsers.rb +5 -1
  56. data/lib/twitter_cldr/resources/casefolder.rb.erb +64 -0
  57. data/lib/twitter_cldr/resources/casefolder_class_generator.rb +75 -0
  58. data/lib/twitter_cldr/resources/download.rb +10 -4
  59. data/lib/twitter_cldr/resources/icu_based_importer.rb +18 -0
  60. data/lib/twitter_cldr/resources/locales_resources_importer.rb +24 -13
  61. data/lib/twitter_cldr/resources/normalization_quick_check_importer.rb +1 -14
  62. data/lib/twitter_cldr/resources/rbnf_test_importer.rb +107 -0
  63. data/lib/twitter_cldr/resources/readme_renderer.rb +115 -0
  64. data/lib/twitter_cldr/resources/tailoring_importer.rb +2 -8
  65. data/lib/twitter_cldr/resources/uli/segment_exceptions_importer.rb +62 -0
  66. data/lib/twitter_cldr/resources/uli.rb +12 -0
  67. data/lib/twitter_cldr/resources/unicode_data_importer.rb +84 -14
  68. data/lib/twitter_cldr/resources/unicode_importer.rb +37 -0
  69. data/lib/twitter_cldr/resources/unicode_properties_importer.rb +79 -0
  70. data/lib/twitter_cldr/resources.rb +8 -1
  71. data/lib/twitter_cldr/shared/break_iterator.rb +213 -0
  72. data/lib/twitter_cldr/shared/calendar.rb +38 -14
  73. data/lib/twitter_cldr/shared/casefolder.rb +210 -0
  74. data/lib/twitter_cldr/shared/code_point.rb +103 -16
  75. data/lib/twitter_cldr/shared/numbering_system.rb +58 -0
  76. data/lib/twitter_cldr/shared/territories.rb +43 -1
  77. data/lib/twitter_cldr/shared/unicode_regex.rb +81 -0
  78. data/lib/twitter_cldr/shared.rb +13 -9
  79. data/lib/twitter_cldr/tokenizers/calendars/date_time_tokenizer.rb +77 -0
  80. data/lib/twitter_cldr/tokenizers/calendars/date_tokenizer.rb +14 -29
  81. data/lib/twitter_cldr/tokenizers/calendars/time_tokenizer.rb +13 -28
  82. data/lib/twitter_cldr/tokenizers/calendars/timespan_tokenizer.rb +11 -87
  83. data/lib/twitter_cldr/tokenizers/numbers/number_tokenizer.rb +16 -71
  84. data/lib/twitter_cldr/tokenizers/numbers/rbnf_tokenizer.rb +53 -0
  85. data/lib/twitter_cldr/tokenizers/pattern_tokenizer.rb +42 -0
  86. data/lib/twitter_cldr/tokenizers/segmentation/segmentation_tokenizer.rb +39 -0
  87. data/lib/twitter_cldr/tokenizers/tokenizer.rb +116 -0
  88. data/lib/twitter_cldr/tokenizers/unicode_regex/unicode_regex_tokenizer.rb +52 -0
  89. data/lib/twitter_cldr/tokenizers.rb +8 -4
  90. data/lib/twitter_cldr/utils/code_points.rb +1 -1
  91. data/lib/twitter_cldr/utils/range_set.rb +242 -0
  92. data/lib/twitter_cldr/utils/yaml.rb +17 -12
  93. data/lib/twitter_cldr/utils.rb +1 -1
  94. data/lib/twitter_cldr/version.rb +1 -1
  95. data/lib/twitter_cldr.rb +2 -1
  96. data/resources/custom/locales/sv/units.yml +8 -0
  97. data/resources/locales/af/calendars.yml +278 -224
  98. data/resources/locales/af/currencies.yml +954 -916
  99. data/resources/locales/af/languages.yml +583 -580
  100. data/resources/locales/af/layout.yml +5 -5
  101. data/resources/locales/af/lists.yml +23 -7
  102. data/resources/locales/af/numbers.yml +59 -54
  103. data/resources/locales/af/plurals.yml +2 -2
  104. data/resources/locales/af/rbnf.yml +261 -0
  105. data/resources/locales/af/territories.yml +264 -263
  106. data/resources/locales/ar/calendars.yml +287 -259
  107. data/resources/locales/ar/currencies.yml +1730 -1692
  108. data/resources/locales/ar/languages.yml +583 -580
  109. data/resources/locales/ar/layout.yml +5 -5
  110. data/resources/locales/ar/lists.yml +23 -7
  111. data/resources/locales/ar/numbers.yml +66 -61
  112. data/resources/locales/ar/plurals.yml +5 -8
  113. data/resources/locales/ar/rbnf.yml +519 -0
  114. data/resources/locales/ar/territories.yml +264 -263
  115. data/resources/locales/be/calendars.yml +238 -237
  116. data/resources/locales/be/currencies.yml +954 -917
  117. data/resources/locales/be/languages.yml +583 -580
  118. data/resources/locales/be/layout.yml +5 -5
  119. data/resources/locales/be/lists.yml +23 -7
  120. data/resources/locales/be/numbers.yml +62 -57
  121. data/resources/locales/be/plurals.yml +7 -4
  122. data/resources/locales/be/rbnf.yml +1288 -0
  123. data/resources/locales/be/territories.yml +264 -263
  124. data/resources/locales/bg/calendars.yml +278 -218
  125. data/resources/locales/bg/currencies.yml +955 -917
  126. data/resources/locales/bg/languages.yml +583 -580
  127. data/resources/locales/bg/layout.yml +5 -5
  128. data/resources/locales/bg/lists.yml +23 -7
  129. data/resources/locales/bg/numbers.yml +62 -57
  130. data/resources/locales/bg/plurals.yml +2 -2
  131. data/resources/locales/bg/rbnf.yml +280 -0
  132. data/resources/locales/bg/territories.yml +264 -263
  133. data/resources/locales/bn/calendars.yml +287 -225
  134. data/resources/locales/bn/currencies.yml +953 -916
  135. data/resources/locales/bn/languages.yml +583 -580
  136. data/resources/locales/bn/layout.yml +5 -5
  137. data/resources/locales/bn/lists.yml +23 -7
  138. data/resources/locales/bn/numbers.yml +62 -57
  139. data/resources/locales/bn/plurals.yml +2 -2
  140. data/resources/locales/bn/rbnf.yml +4 -0
  141. data/resources/locales/bn/territories.yml +264 -263
  142. data/resources/locales/ca/calendars.yml +278 -278
  143. data/resources/locales/ca/currencies.yml +953 -916
  144. data/resources/locales/ca/languages.yml +583 -580
  145. data/resources/locales/ca/layout.yml +5 -5
  146. data/resources/locales/ca/lists.yml +23 -7
  147. data/resources/locales/ca/numbers.yml +62 -57
  148. data/resources/locales/ca/plurals.yml +3 -2
  149. data/resources/locales/ca/rbnf.yml +756 -0
  150. data/resources/locales/ca/territories.yml +264 -263
  151. data/resources/locales/cs/calendars.yml +269 -262
  152. data/resources/locales/cs/currencies.yml +1483 -1172
  153. data/resources/locales/cs/languages.yml +583 -580
  154. data/resources/locales/cs/layout.yml +5 -5
  155. data/resources/locales/cs/lists.yml +23 -7
  156. data/resources/locales/cs/numbers.yml +64 -58
  157. data/resources/locales/cs/plurals.yml +6 -2
  158. data/resources/locales/cs/rbnf.yml +367 -0
  159. data/resources/locales/cs/territories.yml +264 -263
  160. data/resources/locales/cy/calendars.yml +275 -274
  161. data/resources/locales/cy/currencies.yml +1585 -1548
  162. data/resources/locales/cy/languages.yml +583 -580
  163. data/resources/locales/cy/layout.yml +5 -5
  164. data/resources/locales/cy/lists.yml +23 -7
  165. data/resources/locales/cy/numbers.yml +66 -61
  166. data/resources/locales/cy/plurals.yml +4 -3
  167. data/resources/locales/cy/rbnf.yml +298 -0
  168. data/resources/locales/cy/territories.yml +264 -263
  169. data/resources/locales/da/calendars.yml +281 -280
  170. data/resources/locales/da/currencies.yml +954 -916
  171. data/resources/locales/da/languages.yml +583 -580
  172. data/resources/locales/da/layout.yml +5 -5
  173. data/resources/locales/da/lists.yml +23 -7
  174. data/resources/locales/da/numbers.yml +62 -57
  175. data/resources/locales/da/plurals.yml +3 -2
  176. data/resources/locales/da/rbnf.yml +194 -0
  177. data/resources/locales/da/territories.yml +264 -263
  178. data/resources/locales/de/calendars.yml +294 -293
  179. data/resources/locales/de/currencies.yml +954 -916
  180. data/resources/locales/de/languages.yml +583 -580
  181. data/resources/locales/de/layout.yml +5 -5
  182. data/resources/locales/de/lists.yml +23 -7
  183. data/resources/locales/de/numbers.yml +62 -57
  184. data/resources/locales/de/plurals.yml +3 -2
  185. data/resources/locales/de/rbnf.yml +346 -0
  186. data/resources/locales/de/territories.yml +264 -263
  187. data/resources/locales/el/calendars.yml +279 -282
  188. data/resources/locales/el/currencies.yml +954 -916
  189. data/resources/locales/el/languages.yml +583 -580
  190. data/resources/locales/el/layout.yml +5 -5
  191. data/resources/locales/el/lists.yml +23 -7
  192. data/resources/locales/el/numbers.yml +62 -57
  193. data/resources/locales/el/plurals.yml +2 -2
  194. data/resources/locales/el/rbnf.yml +880 -0
  195. data/resources/locales/el/territories.yml +264 -263
  196. data/resources/locales/en/calendars.yml +192 -191
  197. data/resources/locales/en/currencies.yml +953 -915
  198. data/resources/locales/en/languages.yml +583 -580
  199. data/resources/locales/en/layout.yml +5 -5
  200. data/resources/locales/en/lists.yml +23 -7
  201. data/resources/locales/en/numbers.yml +62 -57
  202. data/resources/locales/en/plurals.yml +3 -2
  203. data/resources/locales/en/rbnf.yml +542 -0
  204. data/resources/locales/en/territories.yml +264 -263
  205. data/resources/locales/en-GB/calendars.yml +195 -194
  206. data/resources/locales/en-GB/currencies.yml +953 -915
  207. data/resources/locales/en-GB/languages.yml +583 -580
  208. data/resources/locales/en-GB/layout.yml +5 -5
  209. data/resources/locales/en-GB/lists.yml +23 -7
  210. data/resources/locales/en-GB/numbers.yml +62 -57
  211. data/resources/locales/en-GB/plurals.yml +2 -1
  212. data/resources/locales/en-GB/rbnf.yml +4 -0
  213. data/resources/locales/en-GB/territories.yml +264 -263
  214. data/resources/locales/es/calendars.yml +288 -238
  215. data/resources/locales/es/currencies.yml +953 -922
  216. data/resources/locales/es/languages.yml +583 -580
  217. data/resources/locales/es/layout.yml +5 -5
  218. data/resources/locales/es/lists.yml +23 -7
  219. data/resources/locales/es/numbers.yml +62 -57
  220. data/resources/locales/es/plurals.yml +2 -2
  221. data/resources/locales/es/rbnf.yml +913 -0
  222. data/resources/locales/es/territories.yml +264 -263
  223. data/resources/locales/eu/calendars.yml +277 -218
  224. data/resources/locales/eu/currencies.yml +953 -916
  225. data/resources/locales/eu/languages.yml +583 -580
  226. data/resources/locales/eu/layout.yml +5 -5
  227. data/resources/locales/eu/lists.yml +23 -7
  228. data/resources/locales/eu/numbers.yml +56 -51
  229. data/resources/locales/eu/plurals.yml +2 -2
  230. data/resources/locales/eu/rbnf.yml +4 -0
  231. data/resources/locales/eu/territories.yml +264 -263
  232. data/resources/locales/fa/calendars.yml +294 -293
  233. data/resources/locales/fa/currencies.yml +955 -916
  234. data/resources/locales/fa/languages.yml +583 -580
  235. data/resources/locales/fa/layout.yml +5 -5
  236. data/resources/locales/fa/lists.yml +23 -7
  237. data/resources/locales/fa/numbers.yml +62 -57
  238. data/resources/locales/fa/plurals.yml +2 -2
  239. data/resources/locales/fa/rbnf.yml +157 -0
  240. data/resources/locales/fa/territories.yml +264 -263
  241. data/resources/locales/fi/calendars.yml +284 -283
  242. data/resources/locales/fi/currencies.yml +953 -915
  243. data/resources/locales/fi/languages.yml +583 -580
  244. data/resources/locales/fi/layout.yml +5 -5
  245. data/resources/locales/fi/lists.yml +23 -7
  246. data/resources/locales/fi/numbers.yml +62 -57
  247. data/resources/locales/fi/plurals.yml +3 -2
  248. data/resources/locales/fi/rbnf.yml +206 -0
  249. data/resources/locales/fi/territories.yml +264 -263
  250. data/resources/locales/fil/calendars.yml +281 -230
  251. data/resources/locales/fil/currencies.yml +953 -916
  252. data/resources/locales/fil/languages.yml +583 -580
  253. data/resources/locales/fil/layout.yml +5 -5
  254. data/resources/locales/fil/lists.yml +23 -7
  255. data/resources/locales/fil/numbers.yml +62 -57
  256. data/resources/locales/fil/plurals.yml +3 -2
  257. data/resources/locales/fil/rbnf.yml +158 -0
  258. data/resources/locales/fil/territories.yml +264 -263
  259. data/resources/locales/fr/calendars.yml +297 -296
  260. data/resources/locales/fr/currencies.yml +968 -949
  261. data/resources/locales/fr/languages.yml +583 -580
  262. data/resources/locales/fr/layout.yml +5 -5
  263. data/resources/locales/fr/lists.yml +23 -7
  264. data/resources/locales/fr/numbers.yml +62 -57
  265. data/resources/locales/fr/plurals.yml +2 -2
  266. data/resources/locales/fr/rbnf.yml +621 -0
  267. data/resources/locales/fr/territories.yml +264 -263
  268. data/resources/locales/ga/calendars.yml +192 -191
  269. data/resources/locales/ga/currencies.yml +954 -916
  270. data/resources/locales/ga/languages.yml +583 -580
  271. data/resources/locales/ga/layout.yml +5 -5
  272. data/resources/locales/ga/lists.yml +23 -7
  273. data/resources/locales/ga/numbers.yml +62 -57
  274. data/resources/locales/ga/plurals.yml +4 -3
  275. data/resources/locales/ga/rbnf.yml +615 -0
  276. data/resources/locales/ga/territories.yml +264 -263
  277. data/resources/locales/gl/calendars.yml +283 -217
  278. data/resources/locales/gl/currencies.yml +953 -916
  279. data/resources/locales/gl/languages.yml +583 -580
  280. data/resources/locales/gl/layout.yml +5 -5
  281. data/resources/locales/gl/lists.yml +23 -7
  282. data/resources/locales/gl/numbers.yml +62 -57
  283. data/resources/locales/gl/plurals.yml +3 -2
  284. data/resources/locales/gl/rbnf.yml +4 -0
  285. data/resources/locales/gl/territories.yml +264 -263
  286. data/resources/locales/he/calendars.yml +248 -220
  287. data/resources/locales/he/currencies.yml +992 -932
  288. data/resources/locales/he/languages.yml +583 -580
  289. data/resources/locales/he/layout.yml +5 -5
  290. data/resources/locales/he/lists.yml +23 -7
  291. data/resources/locales/he/numbers.yml +64 -59
  292. data/resources/locales/he/plurals.yml +6 -3
  293. data/resources/locales/he/rbnf.yml +1029 -0
  294. data/resources/locales/he/territories.yml +264 -263
  295. data/resources/locales/hi/calendars.yml +284 -216
  296. data/resources/locales/hi/currencies.yml +953 -915
  297. data/resources/locales/hi/languages.yml +583 -580
  298. data/resources/locales/hi/layout.yml +5 -5
  299. data/resources/locales/hi/lists.yml +23 -7
  300. data/resources/locales/hi/numbers.yml +60 -55
  301. data/resources/locales/hi/plurals.yml +2 -2
  302. data/resources/locales/hi/rbnf.yml +430 -0
  303. data/resources/locales/hi/territories.yml +264 -263
  304. data/resources/locales/hr/calendars.yml +308 -307
  305. data/resources/locales/hr/currencies.yml +1248 -1504
  306. data/resources/locales/hr/languages.yml +583 -580
  307. data/resources/locales/hr/layout.yml +5 -5
  308. data/resources/locales/hr/lists.yml +23 -7
  309. data/resources/locales/hr/numbers.yml +63 -59
  310. data/resources/locales/hr/plurals.yml +12 -4
  311. data/resources/locales/hr/rbnf.yml +599 -0
  312. data/resources/locales/hr/territories.yml +264 -263
  313. data/resources/locales/hu/calendars.yml +285 -284
  314. data/resources/locales/hu/currencies.yml +954 -916
  315. data/resources/locales/hu/languages.yml +583 -580
  316. data/resources/locales/hu/layout.yml +5 -5
  317. data/resources/locales/hu/lists.yml +23 -7
  318. data/resources/locales/hu/numbers.yml +62 -57
  319. data/resources/locales/hu/plurals.yml +2 -2
  320. data/resources/locales/hu/rbnf.yml +363 -0
  321. data/resources/locales/hu/territories.yml +264 -263
  322. data/resources/locales/id/calendars.yml +276 -275
  323. data/resources/locales/id/currencies.yml +954 -916
  324. data/resources/locales/id/languages.yml +583 -580
  325. data/resources/locales/id/layout.yml +5 -5
  326. data/resources/locales/id/lists.yml +23 -7
  327. data/resources/locales/id/numbers.yml +61 -56
  328. data/resources/locales/id/plurals.yml +2 -2
  329. data/resources/locales/id/rbnf.yml +121 -0
  330. data/resources/locales/id/territories.yml +264 -263
  331. data/resources/locales/is/calendars.yml +281 -242
  332. data/resources/locales/is/currencies.yml +954 -916
  333. data/resources/locales/is/languages.yml +583 -580
  334. data/resources/locales/is/layout.yml +5 -5
  335. data/resources/locales/is/lists.yml +23 -7
  336. data/resources/locales/is/numbers.yml +62 -57
  337. data/resources/locales/is/plurals.yml +5 -2
  338. data/resources/locales/is/rbnf.yml +326 -0
  339. data/resources/locales/is/territories.yml +264 -263
  340. data/resources/locales/it/calendars.yml +275 -260
  341. data/resources/locales/it/currencies.yml +953 -920
  342. data/resources/locales/it/languages.yml +583 -580
  343. data/resources/locales/it/layout.yml +5 -5
  344. data/resources/locales/it/lists.yml +23 -7
  345. data/resources/locales/it/numbers.yml +59 -54
  346. data/resources/locales/it/plurals.yml +3 -2
  347. data/resources/locales/it/rbnf.yml +1189 -0
  348. data/resources/locales/it/territories.yml +264 -263
  349. data/resources/locales/ja/calendars.yml +269 -207
  350. data/resources/locales/ja/currencies.yml +953 -915
  351. data/resources/locales/ja/languages.yml +583 -580
  352. data/resources/locales/ja/layout.yml +5 -5
  353. data/resources/locales/ja/lists.yml +23 -7
  354. data/resources/locales/ja/numbers.yml +62 -57
  355. data/resources/locales/ja/plurals.yml +2 -2
  356. data/resources/locales/ja/rbnf.yml +209 -0
  357. data/resources/locales/ja/territories.yml +264 -263
  358. data/resources/locales/ko/calendars.yml +246 -213
  359. data/resources/locales/ko/currencies.yml +953 -915
  360. data/resources/locales/ko/languages.yml +583 -580
  361. data/resources/locales/ko/layout.yml +5 -5
  362. data/resources/locales/ko/lists.yml +23 -7
  363. data/resources/locales/ko/numbers.yml +60 -55
  364. data/resources/locales/ko/plurals.yml +2 -2
  365. data/resources/locales/ko/rbnf.yml +722 -0
  366. data/resources/locales/ko/territories.yml +264 -263
  367. data/resources/locales/lv/calendars.yml +286 -285
  368. data/resources/locales/lv/currencies.yml +1122 -1084
  369. data/resources/locales/lv/languages.yml +583 -580
  370. data/resources/locales/lv/layout.yml +5 -5
  371. data/resources/locales/lv/lists.yml +23 -7
  372. data/resources/locales/lv/numbers.yml +63 -58
  373. data/resources/locales/lv/plurals.yml +11 -3
  374. data/resources/locales/lv/rbnf.yml +238 -0
  375. data/resources/locales/lv/territories.yml +264 -263
  376. data/resources/locales/ms/calendars.yml +280 -279
  377. data/resources/locales/ms/currencies.yml +954 -916
  378. data/resources/locales/ms/languages.yml +583 -580
  379. data/resources/locales/ms/layout.yml +5 -5
  380. data/resources/locales/ms/lists.yml +23 -7
  381. data/resources/locales/ms/numbers.yml +62 -57
  382. data/resources/locales/ms/plurals.yml +2 -2
  383. data/resources/locales/ms/rbnf.yml +130 -0
  384. data/resources/locales/ms/territories.yml +264 -263
  385. data/resources/locales/nb/calendars.yml +284 -283
  386. data/resources/locales/nb/currencies.yml +958 -916
  387. data/resources/locales/nb/languages.yml +583 -580
  388. data/resources/locales/nb/layout.yml +5 -5
  389. data/resources/locales/nb/lists.yml +23 -7
  390. data/resources/locales/nb/numbers.yml +62 -57
  391. data/resources/locales/nb/plurals.yml +2 -2
  392. data/resources/locales/nb/rbnf.yml +191 -0
  393. data/resources/locales/nb/territories.yml +264 -263
  394. data/resources/locales/nl/calendars.yml +285 -284
  395. data/resources/locales/nl/currencies.yml +953 -917
  396. data/resources/locales/nl/languages.yml +583 -580
  397. data/resources/locales/nl/layout.yml +5 -5
  398. data/resources/locales/nl/lists.yml +23 -7
  399. data/resources/locales/nl/numbers.yml +62 -57
  400. data/resources/locales/nl/plurals.yml +3 -2
  401. data/resources/locales/nl/rbnf.yml +320 -0
  402. data/resources/locales/nl/territories.yml +264 -263
  403. data/resources/locales/pl/calendars.yml +288 -287
  404. data/resources/locales/pl/currencies.yml +1326 -1284
  405. data/resources/locales/pl/languages.yml +583 -580
  406. data/resources/locales/pl/layout.yml +5 -5
  407. data/resources/locales/pl/lists.yml +23 -7
  408. data/resources/locales/pl/numbers.yml +64 -59
  409. data/resources/locales/pl/plurals.yml +11 -4
  410. data/resources/locales/pl/rbnf.yml +410 -0
  411. data/resources/locales/pl/territories.yml +264 -263
  412. data/resources/locales/pt/calendars.yml +290 -289
  413. data/resources/locales/pt/currencies.yml +954 -916
  414. data/resources/locales/pt/languages.yml +583 -580
  415. data/resources/locales/pt/layout.yml +5 -5
  416. data/resources/locales/pt/lists.yml +23 -7
  417. data/resources/locales/pt/numbers.yml +62 -57
  418. data/resources/locales/pt/plurals.yml +4 -2
  419. data/resources/locales/pt/rbnf.yml +586 -0
  420. data/resources/locales/pt/territories.yml +264 -263
  421. data/resources/locales/ro/calendars.yml +284 -283
  422. data/resources/locales/ro/currencies.yml +1170 -1132
  423. data/resources/locales/ro/languages.yml +583 -580
  424. data/resources/locales/ro/layout.yml +5 -5
  425. data/resources/locales/ro/lists.yml +23 -7
  426. data/resources/locales/ro/numbers.yml +63 -58
  427. data/resources/locales/ro/plurals.yml +5 -2
  428. data/resources/locales/ro/rbnf.yml +250 -0
  429. data/resources/locales/ro/territories.yml +264 -263
  430. data/resources/locales/ru/calendars.yml +282 -281
  431. data/resources/locales/ru/currencies.yml +1118 -1247
  432. data/resources/locales/ru/languages.yml +583 -580
  433. data/resources/locales/ru/layout.yml +5 -5
  434. data/resources/locales/ru/lists.yml +23 -7
  435. data/resources/locales/ru/numbers.yml +63 -59
  436. data/resources/locales/ru/plurals.yml +8 -4
  437. data/resources/locales/ru/rbnf.yml +385 -0
  438. data/resources/locales/ru/territories.yml +264 -263
  439. data/resources/locales/sk/calendars.yml +254 -251
  440. data/resources/locales/sk/currencies.yml +1174 -1008
  441. data/resources/locales/sk/languages.yml +583 -580
  442. data/resources/locales/sk/layout.yml +5 -5
  443. data/resources/locales/sk/lists.yml +23 -7
  444. data/resources/locales/sk/numbers.yml +64 -58
  445. data/resources/locales/sk/plurals.yml +6 -2
  446. data/resources/locales/sk/rbnf.yml +304 -0
  447. data/resources/locales/sk/territories.yml +264 -263
  448. data/resources/locales/sq/calendars.yml +283 -206
  449. data/resources/locales/sq/currencies.yml +954 -916
  450. data/resources/locales/sq/languages.yml +583 -580
  451. data/resources/locales/sq/layout.yml +5 -5
  452. data/resources/locales/sq/lists.yml +23 -7
  453. data/resources/locales/sq/numbers.yml +62 -57
  454. data/resources/locales/sq/plurals.yml +2 -2
  455. data/resources/locales/sq/rbnf.yml +181 -0
  456. data/resources/locales/sq/territories.yml +264 -263
  457. data/resources/locales/sr/calendars.yml +290 -289
  458. data/resources/locales/sr/currencies.yml +1251 -1508
  459. data/resources/locales/sr/languages.yml +583 -580
  460. data/resources/locales/sr/layout.yml +5 -5
  461. data/resources/locales/sr/lists.yml +23 -7
  462. data/resources/locales/sr/numbers.yml +62 -58
  463. data/resources/locales/sr/plurals.yml +12 -4
  464. data/resources/locales/sr/rbnf.yml +429 -0
  465. data/resources/locales/sr/territories.yml +264 -263
  466. data/resources/locales/sv/calendars.yml +290 -289
  467. data/resources/locales/sv/currencies.yml +960 -930
  468. data/resources/locales/sv/languages.yml +583 -580
  469. data/resources/locales/sv/layout.yml +5 -5
  470. data/resources/locales/sv/lists.yml +23 -7
  471. data/resources/locales/sv/numbers.yml +63 -58
  472. data/resources/locales/sv/plurals.yml +3 -2
  473. data/resources/locales/sv/rbnf.yml +692 -0
  474. data/resources/locales/sv/territories.yml +264 -263
  475. data/resources/locales/ta/calendars.yml +281 -266
  476. data/resources/locales/ta/currencies.yml +953 -915
  477. data/resources/locales/ta/languages.yml +583 -580
  478. data/resources/locales/ta/layout.yml +5 -5
  479. data/resources/locales/ta/lists.yml +23 -7
  480. data/resources/locales/ta/numbers.yml +62 -57
  481. data/resources/locales/ta/plurals.yml +2 -2
  482. data/resources/locales/ta/rbnf.yml +241 -0
  483. data/resources/locales/ta/territories.yml +264 -263
  484. data/resources/locales/th/calendars.yml +278 -289
  485. data/resources/locales/th/currencies.yml +953 -915
  486. data/resources/locales/th/languages.yml +583 -580
  487. data/resources/locales/th/layout.yml +5 -5
  488. data/resources/locales/th/lists.yml +23 -7
  489. data/resources/locales/th/numbers.yml +62 -57
  490. data/resources/locales/th/plurals.yml +2 -2
  491. data/resources/locales/th/rbnf.yml +119 -0
  492. data/resources/locales/th/territories.yml +264 -263
  493. data/resources/locales/tr/calendars.yml +287 -286
  494. data/resources/locales/tr/currencies.yml +953 -916
  495. data/resources/locales/tr/languages.yml +583 -580
  496. data/resources/locales/tr/layout.yml +5 -5
  497. data/resources/locales/tr/lists.yml +23 -7
  498. data/resources/locales/tr/numbers.yml +61 -56
  499. data/resources/locales/tr/plurals.yml +2 -2
  500. data/resources/locales/tr/rbnf.yml +277 -0
  501. data/resources/locales/tr/territories.yml +264 -263
  502. data/resources/locales/uk/calendars.yml +286 -252
  503. data/resources/locales/uk/currencies.yml +1311 -1070
  504. data/resources/locales/uk/languages.yml +583 -580
  505. data/resources/locales/uk/layout.yml +5 -5
  506. data/resources/locales/uk/lists.yml +23 -7
  507. data/resources/locales/uk/numbers.yml +64 -59
  508. data/resources/locales/uk/plurals.yml +10 -4
  509. data/resources/locales/uk/rbnf.yml +430 -0
  510. data/resources/locales/uk/territories.yml +264 -263
  511. data/resources/locales/ur/calendars.yml +267 -228
  512. data/resources/locales/ur/currencies.yml +954 -916
  513. data/resources/locales/ur/languages.yml +583 -580
  514. data/resources/locales/ur/layout.yml +5 -5
  515. data/resources/locales/ur/lists.yml +23 -7
  516. data/resources/locales/ur/numbers.yml +62 -57
  517. data/resources/locales/ur/plurals.yml +3 -2
  518. data/resources/locales/ur/rbnf.yml +4 -0
  519. data/resources/locales/ur/territories.yml +264 -263
  520. data/resources/locales/vi/calendars.yml +256 -236
  521. data/resources/locales/vi/currencies.yml +953 -915
  522. data/resources/locales/vi/languages.yml +583 -580
  523. data/resources/locales/vi/layout.yml +5 -5
  524. data/resources/locales/vi/lists.yml +23 -7
  525. data/resources/locales/vi/numbers.yml +62 -57
  526. data/resources/locales/vi/plurals.yml +2 -2
  527. data/resources/locales/vi/rbnf.yml +164 -0
  528. data/resources/locales/vi/territories.yml +264 -263
  529. data/resources/locales/zh/calendars.yml +266 -265
  530. data/resources/locales/zh/currencies.yml +953 -915
  531. data/resources/locales/zh/languages.yml +583 -580
  532. data/resources/locales/zh/layout.yml +5 -5
  533. data/resources/locales/zh/lists.yml +23 -7
  534. data/resources/locales/zh/numbers.yml +62 -57
  535. data/resources/locales/zh/plurals.yml +2 -2
  536. data/resources/locales/zh/rbnf.yml +689 -0
  537. data/resources/locales/zh/territories.yml +264 -263
  538. data/resources/locales/zh-Hant/calendars.yml +266 -265
  539. data/resources/locales/zh-Hant/currencies.yml +955 -915
  540. data/resources/locales/zh-Hant/languages.yml +583 -580
  541. data/resources/locales/zh-Hant/layout.yml +5 -5
  542. data/resources/locales/zh-Hant/lists.yml +23 -7
  543. data/resources/locales/zh-Hant/numbers.yml +62 -57
  544. data/resources/locales/zh-Hant/plurals.yml +2 -2
  545. data/resources/locales/zh-Hant/rbnf.yml +647 -0
  546. data/resources/locales/zh-Hant/territories.yml +264 -263
  547. data/resources/shared/currency_digits_and_rounding.yml +67 -64
  548. data/resources/shared/numbering_systems.yml +176 -0
  549. data/resources/shared/rbnf_root.yml +1573 -0
  550. data/resources/shared/segments/segments_root.yml +728 -0
  551. data/resources/shared/segments/tailorings/en.yml +8 -0
  552. data/resources/uli/segments/de.yml +128 -0
  553. data/resources/uli/segments/en.yml +154 -0
  554. data/resources/uli/segments/es.yml +112 -0
  555. data/resources/uli/segments/fr.yml +47 -0
  556. data/resources/uli/segments/it.yml +37 -0
  557. data/resources/uli/segments/pt.yml +173 -0
  558. data/resources/uli/segments/ru.yml +10 -0
  559. data/resources/unicode_data/casefolding.yml +4765 -0
  560. data/resources/unicode_data/indices/bidi_class.yml +4572 -0
  561. data/resources/unicode_data/indices/bidi_mirrored.yml +3087 -0
  562. data/resources/unicode_data/indices/category.yml +10918 -0
  563. data/resources/unicode_data/indices/keys.yml +101 -0
  564. data/resources/unicode_data/properties/line_break.yml +9269 -0
  565. data/resources/unicode_data/properties/sentence_break.yml +8067 -0
  566. data/resources/unicode_data/properties/word_break.yml +3001 -0
  567. data/spec/collation/collation_spec.rb +2 -1
  568. data/spec/collation/collator_spec.rb +4 -3
  569. data/spec/collation/tailoring_spec.rb +2 -2
  570. data/spec/collation/tailoring_tests/he.txt +5 -2
  571. data/spec/{tokenizers/calendars → data_readers}/additional_date_format_selector_spec.rb +13 -13
  572. data/spec/data_readers/date_time_data_reader_spec.rb +26 -0
  573. data/spec/data_readers/number_data_reader_spec.rb +18 -0
  574. data/spec/data_readers/timespan_data_reader.rb +22 -0
  575. data/spec/formatters/calendars/datetime_formatter_spec.rb +18 -22
  576. data/spec/formatters/list_formatter_spec.rb +16 -87
  577. data/spec/formatters/numbers/abbreviated/abbreviated_number_formatter_spec.rb +15 -59
  578. data/spec/formatters/numbers/abbreviated/long_decimal_formatter_spec.rb +32 -17
  579. data/spec/formatters/numbers/abbreviated/short_decimal_formatter_spec.rb +33 -17
  580. data/spec/formatters/numbers/currency_formatter_spec.rb +18 -13
  581. data/spec/formatters/numbers/decimal_formatter_spec.rb +16 -18
  582. data/spec/formatters/numbers/number_formatter_spec.rb +40 -31
  583. data/spec/formatters/numbers/percent_formatter_spec.rb +14 -6
  584. data/spec/formatters/numbers/rbnf/allowed_failures.yml +74 -0
  585. data/spec/formatters/numbers/rbnf/locales/af/rbnf_test.yml +706 -0
  586. data/spec/formatters/numbers/rbnf/locales/ar/rbnf_test.yml +706 -0
  587. data/spec/formatters/numbers/rbnf/locales/be/rbnf_test.yml +1174 -0
  588. data/spec/formatters/numbers/rbnf/locales/bg/rbnf_test.yml +706 -0
  589. data/spec/formatters/numbers/rbnf/locales/bn/rbnf_test.yml +1291 -0
  590. data/spec/formatters/numbers/rbnf/locales/ca/rbnf_test.yml +1174 -0
  591. data/spec/formatters/numbers/rbnf/locales/cs/rbnf_test.yml +823 -0
  592. data/spec/formatters/numbers/rbnf/locales/cy/rbnf_test.yml +940 -0
  593. data/spec/formatters/numbers/rbnf/locales/da/rbnf_test.yml +940 -0
  594. data/spec/formatters/numbers/rbnf/locales/de/rbnf_test.yml +940 -0
  595. data/spec/formatters/numbers/rbnf/locales/el/rbnf_test.yml +1174 -0
  596. data/spec/formatters/numbers/rbnf/locales/en/rbnf_test.yml +1291 -0
  597. data/spec/formatters/numbers/rbnf/locales/en-GB/rbnf_test.yml +1291 -0
  598. data/spec/formatters/numbers/rbnf/locales/es/rbnf_test.yml +1642 -0
  599. data/spec/formatters/numbers/rbnf/locales/eu/rbnf_test.yml +1291 -0
  600. data/spec/formatters/numbers/rbnf/locales/fa/rbnf_test.yml +589 -0
  601. data/spec/formatters/numbers/rbnf/locales/fi/rbnf_test.yml +706 -0
  602. data/spec/formatters/numbers/rbnf/locales/fil/rbnf_test.yml +706 -0
  603. data/spec/formatters/numbers/rbnf/locales/fr/rbnf_test.yml +1408 -0
  604. data/spec/formatters/numbers/rbnf/locales/ga/rbnf_test.yml +940 -0
  605. data/spec/formatters/numbers/rbnf/locales/gl/rbnf_test.yml +1291 -0
  606. data/spec/formatters/numbers/rbnf/locales/he/rbnf_test.yml +1057 -0
  607. data/spec/formatters/numbers/rbnf/locales/hi/rbnf_test.yml +823 -0
  608. data/spec/formatters/numbers/rbnf/locales/hr/rbnf_test.yml +1174 -0
  609. data/spec/formatters/numbers/rbnf/locales/hu/rbnf_test.yml +940 -0
  610. data/spec/formatters/numbers/rbnf/locales/id/rbnf_test.yml +706 -0
  611. data/spec/formatters/numbers/rbnf/locales/is/rbnf_test.yml +823 -0
  612. data/spec/formatters/numbers/rbnf/locales/it/rbnf_test.yml +1174 -0
  613. data/spec/formatters/numbers/rbnf/locales/ja/rbnf_test.yml +823 -0
  614. data/spec/formatters/numbers/rbnf/locales/ko/rbnf_test.yml +1408 -0
  615. data/spec/formatters/numbers/rbnf/locales/lv/rbnf_test.yml +706 -0
  616. data/spec/formatters/numbers/rbnf/locales/ms/rbnf_test.yml +706 -0
  617. data/spec/formatters/numbers/rbnf/locales/nb/rbnf_test.yml +940 -0
  618. data/spec/formatters/numbers/rbnf/locales/nl/rbnf_test.yml +706 -0
  619. data/spec/formatters/numbers/rbnf/locales/pl/rbnf_test.yml +823 -0
  620. data/spec/formatters/numbers/rbnf/locales/pt/rbnf_test.yml +1174 -0
  621. data/spec/formatters/numbers/rbnf/locales/ro/rbnf_test.yml +823 -0
  622. data/spec/formatters/numbers/rbnf/locales/ru/rbnf_test.yml +823 -0
  623. data/spec/formatters/numbers/rbnf/locales/sk/rbnf_test.yml +823 -0
  624. data/spec/formatters/numbers/rbnf/locales/sq/rbnf_test.yml +706 -0
  625. data/spec/formatters/numbers/rbnf/locales/sr/rbnf_test.yml +940 -0
  626. data/spec/formatters/numbers/rbnf/locales/sv/rbnf_test.yml +1876 -0
  627. data/spec/formatters/numbers/rbnf/locales/ta/rbnf_test.yml +706 -0
  628. data/spec/formatters/numbers/rbnf/locales/th/rbnf_test.yml +706 -0
  629. data/spec/formatters/numbers/rbnf/locales/tr/rbnf_test.yml +706 -0
  630. data/spec/formatters/numbers/rbnf/locales/uk/rbnf_test.yml +823 -0
  631. data/spec/formatters/numbers/rbnf/locales/ur/rbnf_test.yml +1291 -0
  632. data/spec/formatters/numbers/rbnf/locales/vi/rbnf_test.yml +706 -0
  633. data/spec/formatters/numbers/rbnf/locales/zh/rbnf_test.yml +940 -0
  634. data/spec/formatters/numbers/rbnf/locales/zh-Hant/rbnf_test.yml +940 -0
  635. data/spec/formatters/numbers/rbnf/rbnf_spec.rb +98 -0
  636. data/spec/formatters/plurals/plural_formatter_spec.rb +4 -4
  637. data/spec/formatters/plurals/rules_spec.rb +5 -5
  638. data/spec/localized/localized_date_spec.rb +1 -1
  639. data/spec/localized/localized_datetime_spec.rb +8 -13
  640. data/spec/localized/localized_number_spec.rb +17 -32
  641. data/spec/localized/localized_object_spec.rb +0 -5
  642. data/spec/localized/localized_string_spec.rb +40 -2
  643. data/spec/localized/localized_time_spec.rb +3 -6
  644. data/spec/localized/localized_timespan_spec.rb +144 -0
  645. data/spec/normalization_spec.rb +12 -12
  646. data/spec/parsers/number_parser_spec.rb +5 -5
  647. data/spec/parsers/parser_spec.rb +60 -0
  648. data/spec/parsers/segmentation_parser_spec.rb +96 -0
  649. data/spec/parsers/symbol_table_spec.rb +32 -0
  650. data/spec/parsers/unicode_regex/character_class_spec.rb +117 -0
  651. data/spec/parsers/unicode_regex/character_range_spec.rb +21 -0
  652. data/spec/parsers/unicode_regex/character_set_spec.rb +36 -0
  653. data/spec/parsers/unicode_regex/literal_spec.rb +34 -0
  654. data/spec/parsers/unicode_regex/unicode_string_spec.rb +22 -0
  655. data/spec/parsers/unicode_regex_parser_spec.rb +86 -0
  656. data/spec/readme_spec.rb +8 -269
  657. data/spec/shared/break_iterator_spec.rb +72 -0
  658. data/spec/shared/calendar_spec.rb +5 -4
  659. data/spec/shared/casefolder_spec.rb +30 -0
  660. data/spec/shared/casefolding.txt +251 -0
  661. data/spec/shared/casefolding_expected.txt +251 -0
  662. data/spec/shared/code_point_spec.rb +44 -14
  663. data/spec/shared/numbering_system_spec.rb +41 -0
  664. data/spec/shared/territories_spec.rb +14 -6
  665. data/spec/shared/unicode_regex_spec.rb +203 -0
  666. data/spec/spec_helper.rb +17 -0
  667. data/spec/tokenizers/calendars/date_tokenizer_spec.rb +26 -30
  668. data/spec/tokenizers/calendars/datetime_tokenizer_spec.rb +11 -90
  669. data/spec/tokenizers/calendars/time_tokenizer_spec.rb +5 -5
  670. data/spec/tokenizers/calendars/timespan_tokenizer_spec.rb +17 -7
  671. data/spec/tokenizers/numbers/number_tokenizer_spec.rb +28 -27
  672. data/spec/tokenizers/segmentation/segmentation_tokenizer_spec.rb +40 -0
  673. data/spec/tokenizers/unicode_regex/unicode_regex_tokenizer_spec.rb +190 -0
  674. data/spec/utils/range_set_spec.rb +171 -0
  675. data/spec/utils/yaml/yaml_spec.rb +62 -51
  676. data/twitter_cldr.gemspec +1 -1
  677. metadata +199 -30
  678. data/lib/twitter_cldr/formatters/base.rb +0 -47
  679. data/lib/twitter_cldr/formatters/calendars/date_formatter.rb +0 -19
  680. data/lib/twitter_cldr/formatters/calendars/time_formatter.rb +0 -19
  681. data/lib/twitter_cldr/normalization/base.rb +0 -37
  682. data/lib/twitter_cldr/normalization/hangul.rb +0 -79
  683. data/lib/twitter_cldr/normalization/nfc.rb +0 -24
  684. data/lib/twitter_cldr/normalization/nfd.rb +0 -26
  685. data/lib/twitter_cldr/normalization/nfkc.rb +0 -114
  686. data/lib/twitter_cldr/normalization/nfkd.rb +0 -120
  687. data/lib/twitter_cldr/normalization/quick_check.rb +0 -41
  688. data/lib/twitter_cldr/tokenizers/base.rb +0 -169
  689. data/lib/twitter_cldr/tokenizers/calendars/datetime_tokenizer.rb +0 -131
  690. data/lib/twitter_cldr/utils/territories.rb +0 -56
  691. data/spec/formatters/base_spec.rb +0 -18
  692. data/spec/formatters/calendars/timespan_formatter_spec.rb +0 -112
  693. data/spec/normalization/NormalizationTestShort.txt +0 -602
  694. data/spec/normalization/base_spec.rb +0 -16
  695. data/spec/normalization/hangul_spec.rb +0 -42
  696. data/spec/normalization/normalization_spec.rb +0 -113
  697. data/spec/tokenizers/base_spec.rb +0 -259
  698. data/spec/utils/territories_spec.rb +0 -16
@@ -0,0 +1,706 @@
1
+ ---
2
+ SpelloutRules:
3
+ spellout-ordinal:
4
+ -1141: thứ âm một nghìn một trăm bốn mươi mốt
5
+ -1142: thứ âm một nghìn một trăm bốn mươi hai
6
+ -1143: thứ âm một nghìn một trăm bốn mươi ba
7
+ -100: thứ âm một trăm
8
+ -75: thứ âm bảy mươi lăm
9
+ -50: thứ âm năm mươi
10
+ -24: thứ âm hai mươi bốn
11
+ 0: thứ không
12
+ 1: thứ nhất
13
+ 2: thứ nhì
14
+ 3: thứ ba
15
+ 4: thứ tư
16
+ 5: thứ năm
17
+ 6: thứ sáu
18
+ 7: thứ bảy
19
+ 8: thứ tám
20
+ 9: thứ chín
21
+ 10: thứ mười
22
+ 11: thứ mười một
23
+ 12: thứ mười hai
24
+ 13: thứ mười ba
25
+ 14: thứ mười bốn
26
+ 15: thứ mười lăm
27
+ 16: thứ mười sáu
28
+ 17: thứ mười bảy
29
+ 18: thứ mười tám
30
+ 19: thứ mười chín
31
+ 20: thứ hai mươi
32
+ 21: thứ hai mươi mốt
33
+ 22: thứ hai mươi hai
34
+ 23: thứ hai mươi ba
35
+ 24: thứ hai mươi bốn
36
+ 25: thứ hai mươi lăm
37
+ 26: thứ hai mươi sáu
38
+ 27: thứ hai mươi bảy
39
+ 28: thứ hai mươi tám
40
+ 29: thứ hai mươi chín
41
+ 30: thứ ba mươi
42
+ 31: thứ ba mươi mốt
43
+ 32: thứ ba mươi hai
44
+ 33: thứ ba mươi ba
45
+ 34: thứ ba mươi bốn
46
+ 35: thứ ba mươi lăm
47
+ 36: thứ ba mươi sáu
48
+ 37: thứ ba mươi bảy
49
+ 38: thứ ba mươi tám
50
+ 39: thứ ba mươi chín
51
+ 40: thứ bốn mươi
52
+ 41: thứ bốn mươi mốt
53
+ 42: thứ bốn mươi hai
54
+ 43: thứ bốn mươi ba
55
+ 44: thứ bốn mươi bốn
56
+ 45: thứ bốn mươi lăm
57
+ 46: thứ bốn mươi sáu
58
+ 47: thứ bốn mươi bảy
59
+ 48: thứ bốn mươi tám
60
+ 49: thứ bốn mươi chín
61
+ 50: thứ năm mươi
62
+ 51: thứ năm mươi mốt
63
+ 52: thứ năm mươi hai
64
+ 53: thứ năm mươi ba
65
+ 54: thứ năm mươi bốn
66
+ 55: thứ năm mươi lăm
67
+ 56: thứ năm mươi sáu
68
+ 57: thứ năm mươi bảy
69
+ 58: thứ năm mươi tám
70
+ 59: thứ năm mươi chín
71
+ 60: thứ sáu mươi
72
+ 61: thứ sáu mươi mốt
73
+ 62: thứ sáu mươi hai
74
+ 63: thứ sáu mươi ba
75
+ 64: thứ sáu mươi bốn
76
+ 65: thứ sáu mươi lăm
77
+ 66: thứ sáu mươi sáu
78
+ 67: thứ sáu mươi bảy
79
+ 68: thứ sáu mươi tám
80
+ 69: thứ sáu mươi chín
81
+ 70: thứ bảy mươi
82
+ 71: thứ bảy mươi mốt
83
+ 72: thứ bảy mươi hai
84
+ 73: thứ bảy mươi ba
85
+ 74: thứ bảy mươi bốn
86
+ 75: thứ bảy mươi lăm
87
+ 76: thứ bảy mươi sáu
88
+ 77: thứ bảy mươi bảy
89
+ 78: thứ bảy mươi tám
90
+ 79: thứ bảy mươi chín
91
+ 80: thứ tám mươi
92
+ 81: thứ tám mươi mốt
93
+ 82: thứ tám mươi hai
94
+ 83: thứ tám mươi ba
95
+ 84: thứ tám mươi bốn
96
+ 85: thứ tám mươi lăm
97
+ 86: thứ tám mươi sáu
98
+ 87: thứ tám mươi bảy
99
+ 88: thứ tám mươi tám
100
+ 89: thứ tám mươi chín
101
+ 90: thứ chín mươi
102
+ 91: thứ chín mươi mốt
103
+ 92: thứ chín mươi hai
104
+ 93: thứ chín mươi ba
105
+ 94: thứ chín mươi bốn
106
+ 95: thứ chín mươi lăm
107
+ 96: thứ chín mươi sáu
108
+ 97: thứ chín mươi bảy
109
+ 98: thứ chín mươi tám
110
+ 99: thứ chín mươi chín
111
+ 100: thứ một trăm
112
+ 321: thứ ba trăm hai mươi mốt
113
+ 322: thứ ba trăm hai mươi hai
114
+ 323: thứ ba trăm hai mươi ba
115
+ 1141: thứ một nghìn một trăm bốn mươi mốt
116
+ 1142: thứ một nghìn một trăm bốn mươi hai
117
+ 1143: thứ một nghìn một trăm bốn mươi ba
118
+ 10311: thứ mười nghìn ba trăm mười một
119
+ 138400: thứ một trăm ba mươi tám nghìn bốn trăm
120
+ spellout-cardinal:
121
+ -1141: âm một nghìn một trăm bốn mươi mốt
122
+ -1142: âm một nghìn một trăm bốn mươi hai
123
+ -1143: âm một nghìn một trăm bốn mươi ba
124
+ -100: âm một trăm
125
+ -75: âm bảy mươi lăm
126
+ -50: âm năm mươi
127
+ -24: âm hai mươi bốn
128
+ 0: không
129
+ 1: một
130
+ 2: hai
131
+ 3: ba
132
+ 4: bốn
133
+ 5: năm
134
+ 6: sáu
135
+ 7: bảy
136
+ 8: tám
137
+ 9: chín
138
+ 10: mười
139
+ 11: mười một
140
+ 12: mười hai
141
+ 13: mười ba
142
+ 14: mười bốn
143
+ 15: mười lăm
144
+ 16: mười sáu
145
+ 17: mười bảy
146
+ 18: mười tám
147
+ 19: mười chín
148
+ 20: hai mươi
149
+ 21: hai mươi mốt
150
+ 22: hai mươi hai
151
+ 23: hai mươi ba
152
+ 24: hai mươi bốn
153
+ 25: hai mươi lăm
154
+ 26: hai mươi sáu
155
+ 27: hai mươi bảy
156
+ 28: hai mươi tám
157
+ 29: hai mươi chín
158
+ 30: ba mươi
159
+ 31: ba mươi mốt
160
+ 32: ba mươi hai
161
+ 33: ba mươi ba
162
+ 34: ba mươi bốn
163
+ 35: ba mươi lăm
164
+ 36: ba mươi sáu
165
+ 37: ba mươi bảy
166
+ 38: ba mươi tám
167
+ 39: ba mươi chín
168
+ 40: bốn mươi
169
+ 41: bốn mươi mốt
170
+ 42: bốn mươi hai
171
+ 43: bốn mươi ba
172
+ 44: bốn mươi bốn
173
+ 45: bốn mươi lăm
174
+ 46: bốn mươi sáu
175
+ 47: bốn mươi bảy
176
+ 48: bốn mươi tám
177
+ 49: bốn mươi chín
178
+ 50: năm mươi
179
+ 51: năm mươi mốt
180
+ 52: năm mươi hai
181
+ 53: năm mươi ba
182
+ 54: năm mươi bốn
183
+ 55: năm mươi lăm
184
+ 56: năm mươi sáu
185
+ 57: năm mươi bảy
186
+ 58: năm mươi tám
187
+ 59: năm mươi chín
188
+ 60: sáu mươi
189
+ 61: sáu mươi mốt
190
+ 62: sáu mươi hai
191
+ 63: sáu mươi ba
192
+ 64: sáu mươi bốn
193
+ 65: sáu mươi lăm
194
+ 66: sáu mươi sáu
195
+ 67: sáu mươi bảy
196
+ 68: sáu mươi tám
197
+ 69: sáu mươi chín
198
+ 70: bảy mươi
199
+ 71: bảy mươi mốt
200
+ 72: bảy mươi hai
201
+ 73: bảy mươi ba
202
+ 74: bảy mươi bốn
203
+ 75: bảy mươi lăm
204
+ 76: bảy mươi sáu
205
+ 77: bảy mươi bảy
206
+ 78: bảy mươi tám
207
+ 79: bảy mươi chín
208
+ 80: tám mươi
209
+ 81: tám mươi mốt
210
+ 82: tám mươi hai
211
+ 83: tám mươi ba
212
+ 84: tám mươi bốn
213
+ 85: tám mươi lăm
214
+ 86: tám mươi sáu
215
+ 87: tám mươi bảy
216
+ 88: tám mươi tám
217
+ 89: tám mươi chín
218
+ 90: chín mươi
219
+ 91: chín mươi mốt
220
+ 92: chín mươi hai
221
+ 93: chín mươi ba
222
+ 94: chín mươi bốn
223
+ 95: chín mươi lăm
224
+ 96: chín mươi sáu
225
+ 97: chín mươi bảy
226
+ 98: chín mươi tám
227
+ 99: chín mươi chín
228
+ 100: một trăm
229
+ 321: ba trăm hai mươi mốt
230
+ 322: ba trăm hai mươi hai
231
+ 323: ba trăm hai mươi ba
232
+ 1141: một nghìn một trăm bốn mươi mốt
233
+ 1142: một nghìn một trăm bốn mươi hai
234
+ 1143: một nghìn một trăm bốn mươi ba
235
+ 10311: mười nghìn ba trăm mười một
236
+ 138400: một trăm ba mươi tám nghìn bốn trăm
237
+ spellout-numbering:
238
+ -1141: âm một nghìn một trăm bốn mươi mốt
239
+ -1142: âm một nghìn một trăm bốn mươi hai
240
+ -1143: âm một nghìn một trăm bốn mươi ba
241
+ -100: âm một trăm
242
+ -75: âm bảy mươi lăm
243
+ -50: âm năm mươi
244
+ -24: âm hai mươi bốn
245
+ 0: không
246
+ 1: một
247
+ 2: hai
248
+ 3: ba
249
+ 4: bốn
250
+ 5: năm
251
+ 6: sáu
252
+ 7: bảy
253
+ 8: tám
254
+ 9: chín
255
+ 10: mười
256
+ 11: mười một
257
+ 12: mười hai
258
+ 13: mười ba
259
+ 14: mười bốn
260
+ 15: mười lăm
261
+ 16: mười sáu
262
+ 17: mười bảy
263
+ 18: mười tám
264
+ 19: mười chín
265
+ 20: hai mươi
266
+ 21: hai mươi mốt
267
+ 22: hai mươi hai
268
+ 23: hai mươi ba
269
+ 24: hai mươi bốn
270
+ 25: hai mươi lăm
271
+ 26: hai mươi sáu
272
+ 27: hai mươi bảy
273
+ 28: hai mươi tám
274
+ 29: hai mươi chín
275
+ 30: ba mươi
276
+ 31: ba mươi mốt
277
+ 32: ba mươi hai
278
+ 33: ba mươi ba
279
+ 34: ba mươi bốn
280
+ 35: ba mươi lăm
281
+ 36: ba mươi sáu
282
+ 37: ba mươi bảy
283
+ 38: ba mươi tám
284
+ 39: ba mươi chín
285
+ 40: bốn mươi
286
+ 41: bốn mươi mốt
287
+ 42: bốn mươi hai
288
+ 43: bốn mươi ba
289
+ 44: bốn mươi bốn
290
+ 45: bốn mươi lăm
291
+ 46: bốn mươi sáu
292
+ 47: bốn mươi bảy
293
+ 48: bốn mươi tám
294
+ 49: bốn mươi chín
295
+ 50: năm mươi
296
+ 51: năm mươi mốt
297
+ 52: năm mươi hai
298
+ 53: năm mươi ba
299
+ 54: năm mươi bốn
300
+ 55: năm mươi lăm
301
+ 56: năm mươi sáu
302
+ 57: năm mươi bảy
303
+ 58: năm mươi tám
304
+ 59: năm mươi chín
305
+ 60: sáu mươi
306
+ 61: sáu mươi mốt
307
+ 62: sáu mươi hai
308
+ 63: sáu mươi ba
309
+ 64: sáu mươi bốn
310
+ 65: sáu mươi lăm
311
+ 66: sáu mươi sáu
312
+ 67: sáu mươi bảy
313
+ 68: sáu mươi tám
314
+ 69: sáu mươi chín
315
+ 70: bảy mươi
316
+ 71: bảy mươi mốt
317
+ 72: bảy mươi hai
318
+ 73: bảy mươi ba
319
+ 74: bảy mươi bốn
320
+ 75: bảy mươi lăm
321
+ 76: bảy mươi sáu
322
+ 77: bảy mươi bảy
323
+ 78: bảy mươi tám
324
+ 79: bảy mươi chín
325
+ 80: tám mươi
326
+ 81: tám mươi mốt
327
+ 82: tám mươi hai
328
+ 83: tám mươi ba
329
+ 84: tám mươi bốn
330
+ 85: tám mươi lăm
331
+ 86: tám mươi sáu
332
+ 87: tám mươi bảy
333
+ 88: tám mươi tám
334
+ 89: tám mươi chín
335
+ 90: chín mươi
336
+ 91: chín mươi mốt
337
+ 92: chín mươi hai
338
+ 93: chín mươi ba
339
+ 94: chín mươi bốn
340
+ 95: chín mươi lăm
341
+ 96: chín mươi sáu
342
+ 97: chín mươi bảy
343
+ 98: chín mươi tám
344
+ 99: chín mươi chín
345
+ 100: một trăm
346
+ 321: ba trăm hai mươi mốt
347
+ 322: ba trăm hai mươi hai
348
+ 323: ba trăm hai mươi ba
349
+ 1141: một nghìn một trăm bốn mươi mốt
350
+ 1142: một nghìn một trăm bốn mươi hai
351
+ 1143: một nghìn một trăm bốn mươi ba
352
+ 10311: mười nghìn ba trăm mười một
353
+ 138400: một trăm ba mươi tám nghìn bốn trăm
354
+ spellout-numbering-year:
355
+ -1141: âm một nghìn một trăm bốn mươi mốt
356
+ -1142: âm một nghìn một trăm bốn mươi hai
357
+ -1143: âm một nghìn một trăm bốn mươi ba
358
+ -100: âm một trăm
359
+ -75: âm bảy mươi lăm
360
+ -50: âm năm mươi
361
+ -24: âm hai mươi bốn
362
+ 0: không
363
+ 1: một
364
+ 2: hai
365
+ 3: ba
366
+ 4: bốn
367
+ 5: năm
368
+ 6: sáu
369
+ 7: bảy
370
+ 8: tám
371
+ 9: chín
372
+ 10: mười
373
+ 11: mười một
374
+ 12: mười hai
375
+ 13: mười ba
376
+ 14: mười bốn
377
+ 15: mười lăm
378
+ 16: mười sáu
379
+ 17: mười bảy
380
+ 18: mười tám
381
+ 19: mười chín
382
+ 20: hai mươi
383
+ 21: hai mươi mốt
384
+ 22: hai mươi hai
385
+ 23: hai mươi ba
386
+ 24: hai mươi bốn
387
+ 25: hai mươi lăm
388
+ 26: hai mươi sáu
389
+ 27: hai mươi bảy
390
+ 28: hai mươi tám
391
+ 29: hai mươi chín
392
+ 30: ba mươi
393
+ 31: ba mươi mốt
394
+ 32: ba mươi hai
395
+ 33: ba mươi ba
396
+ 34: ba mươi bốn
397
+ 35: ba mươi lăm
398
+ 36: ba mươi sáu
399
+ 37: ba mươi bảy
400
+ 38: ba mươi tám
401
+ 39: ba mươi chín
402
+ 40: bốn mươi
403
+ 41: bốn mươi mốt
404
+ 42: bốn mươi hai
405
+ 43: bốn mươi ba
406
+ 44: bốn mươi bốn
407
+ 45: bốn mươi lăm
408
+ 46: bốn mươi sáu
409
+ 47: bốn mươi bảy
410
+ 48: bốn mươi tám
411
+ 49: bốn mươi chín
412
+ 50: năm mươi
413
+ 51: năm mươi mốt
414
+ 52: năm mươi hai
415
+ 53: năm mươi ba
416
+ 54: năm mươi bốn
417
+ 55: năm mươi lăm
418
+ 56: năm mươi sáu
419
+ 57: năm mươi bảy
420
+ 58: năm mươi tám
421
+ 59: năm mươi chín
422
+ 60: sáu mươi
423
+ 61: sáu mươi mốt
424
+ 62: sáu mươi hai
425
+ 63: sáu mươi ba
426
+ 64: sáu mươi bốn
427
+ 65: sáu mươi lăm
428
+ 66: sáu mươi sáu
429
+ 67: sáu mươi bảy
430
+ 68: sáu mươi tám
431
+ 69: sáu mươi chín
432
+ 70: bảy mươi
433
+ 71: bảy mươi mốt
434
+ 72: bảy mươi hai
435
+ 73: bảy mươi ba
436
+ 74: bảy mươi bốn
437
+ 75: bảy mươi lăm
438
+ 76: bảy mươi sáu
439
+ 77: bảy mươi bảy
440
+ 78: bảy mươi tám
441
+ 79: bảy mươi chín
442
+ 80: tám mươi
443
+ 81: tám mươi mốt
444
+ 82: tám mươi hai
445
+ 83: tám mươi ba
446
+ 84: tám mươi bốn
447
+ 85: tám mươi lăm
448
+ 86: tám mươi sáu
449
+ 87: tám mươi bảy
450
+ 88: tám mươi tám
451
+ 89: tám mươi chín
452
+ 90: chín mươi
453
+ 91: chín mươi mốt
454
+ 92: chín mươi hai
455
+ 93: chín mươi ba
456
+ 94: chín mươi bốn
457
+ 95: chín mươi lăm
458
+ 96: chín mươi sáu
459
+ 97: chín mươi bảy
460
+ 98: chín mươi tám
461
+ 99: chín mươi chín
462
+ 100: một trăm
463
+ 321: ba trăm hai mươi mốt
464
+ 322: ba trăm hai mươi hai
465
+ 323: ba trăm hai mươi ba
466
+ 1141: một nghìn một trăm bốn mươi mốt
467
+ 1142: một nghìn một trăm bốn mươi hai
468
+ 1143: một nghìn một trăm bốn mươi ba
469
+ 10311: mười nghìn ba trăm mười một
470
+ 138400: một trăm ba mươi tám nghìn bốn trăm
471
+ OrdinalRules:
472
+ digits-ordinal:
473
+ -1141: −thứ 1.141
474
+ -1142: −thứ 1.142
475
+ -1143: −thứ 1.143
476
+ -100: −thứ 100
477
+ -75: −thứ 75
478
+ -50: −thứ 50
479
+ -24: −thứ 24
480
+ 0: thứ 0
481
+ 1: thứ 1
482
+ 2: thứ 2
483
+ 3: thứ 3
484
+ 4: thứ 4
485
+ 5: thứ 5
486
+ 6: thứ 6
487
+ 7: thứ 7
488
+ 8: thứ 8
489
+ 9: thứ 9
490
+ 10: thứ 10
491
+ 11: thứ 11
492
+ 12: thứ 12
493
+ 13: thứ 13
494
+ 14: thứ 14
495
+ 15: thứ 15
496
+ 16: thứ 16
497
+ 17: thứ 17
498
+ 18: thứ 18
499
+ 19: thứ 19
500
+ 20: thứ 20
501
+ 21: thứ 21
502
+ 22: thứ 22
503
+ 23: thứ 23
504
+ 24: thứ 24
505
+ 25: thứ 25
506
+ 26: thứ 26
507
+ 27: thứ 27
508
+ 28: thứ 28
509
+ 29: thứ 29
510
+ 30: thứ 30
511
+ 31: thứ 31
512
+ 32: thứ 32
513
+ 33: thứ 33
514
+ 34: thứ 34
515
+ 35: thứ 35
516
+ 36: thứ 36
517
+ 37: thứ 37
518
+ 38: thứ 38
519
+ 39: thứ 39
520
+ 40: thứ 40
521
+ 41: thứ 41
522
+ 42: thứ 42
523
+ 43: thứ 43
524
+ 44: thứ 44
525
+ 45: thứ 45
526
+ 46: thứ 46
527
+ 47: thứ 47
528
+ 48: thứ 48
529
+ 49: thứ 49
530
+ 50: thứ 50
531
+ 51: thứ 51
532
+ 52: thứ 52
533
+ 53: thứ 53
534
+ 54: thứ 54
535
+ 55: thứ 55
536
+ 56: thứ 56
537
+ 57: thứ 57
538
+ 58: thứ 58
539
+ 59: thứ 59
540
+ 60: thứ 60
541
+ 61: thứ 61
542
+ 62: thứ 62
543
+ 63: thứ 63
544
+ 64: thứ 64
545
+ 65: thứ 65
546
+ 66: thứ 66
547
+ 67: thứ 67
548
+ 68: thứ 68
549
+ 69: thứ 69
550
+ 70: thứ 70
551
+ 71: thứ 71
552
+ 72: thứ 72
553
+ 73: thứ 73
554
+ 74: thứ 74
555
+ 75: thứ 75
556
+ 76: thứ 76
557
+ 77: thứ 77
558
+ 78: thứ 78
559
+ 79: thứ 79
560
+ 80: thứ 80
561
+ 81: thứ 81
562
+ 82: thứ 82
563
+ 83: thứ 83
564
+ 84: thứ 84
565
+ 85: thứ 85
566
+ 86: thứ 86
567
+ 87: thứ 87
568
+ 88: thứ 88
569
+ 89: thứ 89
570
+ 90: thứ 90
571
+ 91: thứ 91
572
+ 92: thứ 92
573
+ 93: thứ 93
574
+ 94: thứ 94
575
+ 95: thứ 95
576
+ 96: thứ 96
577
+ 97: thứ 97
578
+ 98: thứ 98
579
+ 99: thứ 99
580
+ 100: thứ 100
581
+ 321: thứ 321
582
+ 322: thứ 322
583
+ 323: thứ 323
584
+ 1141: thứ 1.141
585
+ 1142: thứ 1.142
586
+ 1143: thứ 1.143
587
+ 10311: thứ 10.311
588
+ 138400: thứ 138.400
589
+ DurationRules:
590
+ duration:
591
+ -1141: '-1.141'
592
+ -1142: '-1.142'
593
+ -1143: '-1.143'
594
+ -100: '-100'
595
+ -75: '-75'
596
+ -50: '-50'
597
+ -24: '-24'
598
+ 0: '0'
599
+ 1: '1'
600
+ 2: '2'
601
+ 3: '3'
602
+ 4: '4'
603
+ 5: '5'
604
+ 6: '6'
605
+ 7: '7'
606
+ 8: '8'
607
+ 9: '9'
608
+ 10: '10'
609
+ 11: '11'
610
+ 12: '12'
611
+ 13: '13'
612
+ 14: '14'
613
+ 15: '15'
614
+ 16: '16'
615
+ 17: '17'
616
+ 18: '18'
617
+ 19: '19'
618
+ 20: '20'
619
+ 21: '21'
620
+ 22: '22'
621
+ 23: '23'
622
+ 24: '24'
623
+ 25: '25'
624
+ 26: '26'
625
+ 27: '27'
626
+ 28: '28'
627
+ 29: '29'
628
+ 30: '30'
629
+ 31: '31'
630
+ 32: '32'
631
+ 33: '33'
632
+ 34: '34'
633
+ 35: '35'
634
+ 36: '36'
635
+ 37: '37'
636
+ 38: '38'
637
+ 39: '39'
638
+ 40: '40'
639
+ 41: '41'
640
+ 42: '42'
641
+ 43: '43'
642
+ 44: '44'
643
+ 45: '45'
644
+ 46: '46'
645
+ 47: '47'
646
+ 48: '48'
647
+ 49: '49'
648
+ 50: '50'
649
+ 51: '51'
650
+ 52: '52'
651
+ 53: '53'
652
+ 54: '54'
653
+ 55: '55'
654
+ 56: '56'
655
+ 57: '57'
656
+ 58: '58'
657
+ 59: '59'
658
+ 60: '60'
659
+ 61: '61'
660
+ 62: '62'
661
+ 63: '63'
662
+ 64: '64'
663
+ 65: '65'
664
+ 66: '66'
665
+ 67: '67'
666
+ 68: '68'
667
+ 69: '69'
668
+ 70: '70'
669
+ 71: '71'
670
+ 72: '72'
671
+ 73: '73'
672
+ 74: '74'
673
+ 75: '75'
674
+ 76: '76'
675
+ 77: '77'
676
+ 78: '78'
677
+ 79: '79'
678
+ 80: '80'
679
+ 81: '81'
680
+ 82: '82'
681
+ 83: '83'
682
+ 84: '84'
683
+ 85: '85'
684
+ 86: '86'
685
+ 87: '87'
686
+ 88: '88'
687
+ 89: '89'
688
+ 90: '90'
689
+ 91: '91'
690
+ 92: '92'
691
+ 93: '93'
692
+ 94: '94'
693
+ 95: '95'
694
+ 96: '96'
695
+ 97: '97'
696
+ 98: '98'
697
+ 99: '99'
698
+ 100: '100'
699
+ 321: '321'
700
+ 322: '322'
701
+ 323: '323'
702
+ 1141: '1.141'
703
+ 1142: '1.142'
704
+ 1143: '1.143'
705
+ 10311: '10.311'
706
+ 138400: '138.400'