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,823 @@
1
+ ---
2
+ SpelloutRules:
3
+ spellout-cardinal-neuter:
4
+ -1141: minus una mie una sută patruzeci şi unu
5
+ -1142: minus una mie una sută patruzeci şi două
6
+ -1143: minus una mie una sută patruzeci şi trei
7
+ -100: minus una sută
8
+ -75: minus şaptezeci şi cinci
9
+ -50: minus cincizeci
10
+ -24: minus douăzeci şi patru
11
+ 0: zero
12
+ 1: unu
13
+ 2: două
14
+ 3: trei
15
+ 4: patru
16
+ 5: cinci
17
+ 6: şase
18
+ 7: şapte
19
+ 8: opt
20
+ 9: nouă
21
+ 10: zece
22
+ 11: unsprezece
23
+ 12: douăsprezece
24
+ 13: treisprezece
25
+ 14: patrusprezece
26
+ 15: cincisprezece
27
+ 16: şasesprezece
28
+ 17: şaptesprezece
29
+ 18: optsprezece
30
+ 19: nouăsprezece
31
+ 20: douăzeci
32
+ 21: douăzeci şi unu
33
+ 22: douăzeci şi două
34
+ 23: douăzeci şi trei
35
+ 24: douăzeci şi patru
36
+ 25: douăzeci şi cinci
37
+ 26: douăzeci şi şase
38
+ 27: douăzeci şi şapte
39
+ 28: douăzeci şi opt
40
+ 29: douăzeci şi nouă
41
+ 30: treizeci
42
+ 31: treizeci şi unu
43
+ 32: treizeci şi două
44
+ 33: treizeci şi trei
45
+ 34: treizeci şi patru
46
+ 35: treizeci şi cinci
47
+ 36: treizeci şi şase
48
+ 37: treizeci şi şapte
49
+ 38: treizeci şi opt
50
+ 39: treizeci şi nouă
51
+ 40: patruzeci
52
+ 41: patruzeci şi unu
53
+ 42: patruzeci şi două
54
+ 43: patruzeci şi trei
55
+ 44: patruzeci şi patru
56
+ 45: patruzeci şi cinci
57
+ 46: patruzeci şi şase
58
+ 47: patruzeci şi şapte
59
+ 48: patruzeci şi opt
60
+ 49: patruzeci şi nouă
61
+ 50: cincizeci
62
+ 51: cincizeci şi unu
63
+ 52: cincizeci şi două
64
+ 53: cincizeci şi trei
65
+ 54: cincizeci şi patru
66
+ 55: cincizeci şi cinci
67
+ 56: cincizeci şi şase
68
+ 57: cincizeci şi şapte
69
+ 58: cincizeci şi opt
70
+ 59: cincizeci şi nouă
71
+ 60: şasezeci
72
+ 61: şasezeci şi unu
73
+ 62: şasezeci şi două
74
+ 63: şasezeci şi trei
75
+ 64: şasezeci şi patru
76
+ 65: şasezeci şi cinci
77
+ 66: şasezeci şi şase
78
+ 67: şasezeci şi şapte
79
+ 68: şasezeci şi opt
80
+ 69: şasezeci şi nouă
81
+ 70: şaptezeci
82
+ 71: şaptezeci şi unu
83
+ 72: şaptezeci şi două
84
+ 73: şaptezeci şi trei
85
+ 74: şaptezeci şi patru
86
+ 75: şaptezeci şi cinci
87
+ 76: şaptezeci şi şase
88
+ 77: şaptezeci şi şapte
89
+ 78: şaptezeci şi opt
90
+ 79: şaptezeci şi nouă
91
+ 80: optzeci
92
+ 81: optzeci şi unu
93
+ 82: optzeci şi două
94
+ 83: optzeci şi trei
95
+ 84: optzeci şi patru
96
+ 85: optzeci şi cinci
97
+ 86: optzeci şi şase
98
+ 87: optzeci şi şapte
99
+ 88: optzeci şi opt
100
+ 89: optzeci şi nouă
101
+ 90: nouăzeci
102
+ 91: nouăzeci şi unu
103
+ 92: nouăzeci şi două
104
+ 93: nouăzeci şi trei
105
+ 94: nouăzeci şi patru
106
+ 95: nouăzeci şi cinci
107
+ 96: nouăzeci şi şase
108
+ 97: nouăzeci şi şapte
109
+ 98: nouăzeci şi opt
110
+ 99: nouăzeci şi nouă
111
+ 100: una sută
112
+ 321: trei sute douăzeci şi unu
113
+ 322: trei sute douăzeci şi două
114
+ 323: trei sute douăzeci şi trei
115
+ 1141: una mie una sută patruzeci şi unu
116
+ 1142: una mie una sută patruzeci şi două
117
+ 1143: una mie una sută patruzeci şi trei
118
+ 10311: zece mii trei sute unsprezece
119
+ 138400: una sută treizeci şi opt mii patru sute
120
+ spellout-cardinal-feminine:
121
+ -1141: minus una mie una sută patruzeci şi una
122
+ -1142: minus una mie una sută patruzeci şi două
123
+ -1143: minus una mie una sută patruzeci şi trei
124
+ -100: minus una sută
125
+ -75: minus şaptezeci şi cinci
126
+ -50: minus cincizeci
127
+ -24: minus douăzeci şi patru
128
+ 0: zero
129
+ 1: una
130
+ 2: două
131
+ 3: trei
132
+ 4: patru
133
+ 5: cinci
134
+ 6: şase
135
+ 7: şapte
136
+ 8: opt
137
+ 9: nouă
138
+ 10: zece
139
+ 11: unsprezece
140
+ 12: douăsprezece
141
+ 13: treisprezece
142
+ 14: patrusprezece
143
+ 15: cincisprezece
144
+ 16: şasesprezece
145
+ 17: şaptesprezece
146
+ 18: optsprezece
147
+ 19: nouăsprezece
148
+ 20: douăzeci
149
+ 21: douăzeci şi una
150
+ 22: douăzeci şi două
151
+ 23: douăzeci şi trei
152
+ 24: douăzeci şi patru
153
+ 25: douăzeci şi cinci
154
+ 26: douăzeci şi şase
155
+ 27: douăzeci şi şapte
156
+ 28: douăzeci şi opt
157
+ 29: douăzeci şi nouă
158
+ 30: treizeci
159
+ 31: treizeci şi una
160
+ 32: treizeci şi două
161
+ 33: treizeci şi trei
162
+ 34: treizeci şi patru
163
+ 35: treizeci şi cinci
164
+ 36: treizeci şi şase
165
+ 37: treizeci şi şapte
166
+ 38: treizeci şi opt
167
+ 39: treizeci şi nouă
168
+ 40: patruzeci
169
+ 41: patruzeci şi una
170
+ 42: patruzeci şi două
171
+ 43: patruzeci şi trei
172
+ 44: patruzeci şi patru
173
+ 45: patruzeci şi cinci
174
+ 46: patruzeci şi şase
175
+ 47: patruzeci şi şapte
176
+ 48: patruzeci şi opt
177
+ 49: patruzeci şi nouă
178
+ 50: cincizeci
179
+ 51: cincizeci şi una
180
+ 52: cincizeci şi două
181
+ 53: cincizeci şi trei
182
+ 54: cincizeci şi patru
183
+ 55: cincizeci şi cinci
184
+ 56: cincizeci şi şase
185
+ 57: cincizeci şi şapte
186
+ 58: cincizeci şi opt
187
+ 59: cincizeci şi nouă
188
+ 60: şasezeci
189
+ 61: şasezeci şi una
190
+ 62: şasezeci şi două
191
+ 63: şasezeci şi trei
192
+ 64: şasezeci şi patru
193
+ 65: şasezeci şi cinci
194
+ 66: şasezeci şi şase
195
+ 67: şasezeci şi şapte
196
+ 68: şasezeci şi opt
197
+ 69: şasezeci şi nouă
198
+ 70: şaptezeci
199
+ 71: şaptezeci şi una
200
+ 72: şaptezeci şi două
201
+ 73: şaptezeci şi trei
202
+ 74: şaptezeci şi patru
203
+ 75: şaptezeci şi cinci
204
+ 76: şaptezeci şi şase
205
+ 77: şaptezeci şi şapte
206
+ 78: şaptezeci şi opt
207
+ 79: şaptezeci şi nouă
208
+ 80: optzeci
209
+ 81: optzeci şi una
210
+ 82: optzeci şi două
211
+ 83: optzeci şi trei
212
+ 84: optzeci şi patru
213
+ 85: optzeci şi cinci
214
+ 86: optzeci şi şase
215
+ 87: optzeci şi şapte
216
+ 88: optzeci şi opt
217
+ 89: optzeci şi nouă
218
+ 90: nouăzeci
219
+ 91: nouăzeci şi una
220
+ 92: nouăzeci şi două
221
+ 93: nouăzeci şi trei
222
+ 94: nouăzeci şi patru
223
+ 95: nouăzeci şi cinci
224
+ 96: nouăzeci şi şase
225
+ 97: nouăzeci şi şapte
226
+ 98: nouăzeci şi opt
227
+ 99: nouăzeci şi nouă
228
+ 100: una sută
229
+ 321: trei sute douăzeci şi una
230
+ 322: trei sute douăzeci şi două
231
+ 323: trei sute douăzeci şi trei
232
+ 1141: una mie una sută patruzeci şi una
233
+ 1142: una mie una sută patruzeci şi două
234
+ 1143: una mie una sută patruzeci şi trei
235
+ 10311: zece mii trei sute unsprezece
236
+ 138400: una sută treizeci şi opt mii patru sute
237
+ spellout-cardinal-masculine:
238
+ -1141: minus una mie una sută patruzeci şi unu
239
+ -1142: minus una mie una sută patruzeci şi doi
240
+ -1143: minus una mie una sută patruzeci şi trei
241
+ -100: minus una sută
242
+ -75: minus şaptezeci şi cinci
243
+ -50: minus cincizeci
244
+ -24: minus douăzeci şi patru
245
+ 0: zero
246
+ 1: unu
247
+ 2: doi
248
+ 3: trei
249
+ 4: patru
250
+ 5: cinci
251
+ 6: şase
252
+ 7: şapte
253
+ 8: opt
254
+ 9: nouă
255
+ 10: zece
256
+ 11: unsprezece
257
+ 12: doisprezece
258
+ 13: treisprezece
259
+ 14: patrusprezece
260
+ 15: cincisprezece
261
+ 16: şasesprezece
262
+ 17: şaptesprezece
263
+ 18: optsprezece
264
+ 19: nouăsprezece
265
+ 20: douăzeci
266
+ 21: douăzeci şi unu
267
+ 22: douăzeci şi doi
268
+ 23: douăzeci şi trei
269
+ 24: douăzeci şi patru
270
+ 25: douăzeci şi cinci
271
+ 26: douăzeci şi şase
272
+ 27: douăzeci şi şapte
273
+ 28: douăzeci şi opt
274
+ 29: douăzeci şi nouă
275
+ 30: treizeci
276
+ 31: treizeci şi unu
277
+ 32: treizeci şi doi
278
+ 33: treizeci şi trei
279
+ 34: treizeci şi patru
280
+ 35: treizeci şi cinci
281
+ 36: treizeci şi şase
282
+ 37: treizeci şi şapte
283
+ 38: treizeci şi opt
284
+ 39: treizeci şi nouă
285
+ 40: patruzeci
286
+ 41: patruzeci şi unu
287
+ 42: patruzeci şi doi
288
+ 43: patruzeci şi trei
289
+ 44: patruzeci şi patru
290
+ 45: patruzeci şi cinci
291
+ 46: patruzeci şi şase
292
+ 47: patruzeci şi şapte
293
+ 48: patruzeci şi opt
294
+ 49: patruzeci şi nouă
295
+ 50: cincizeci
296
+ 51: cincizeci şi unu
297
+ 52: cincizeci şi doi
298
+ 53: cincizeci şi trei
299
+ 54: cincizeci şi patru
300
+ 55: cincizeci şi cinci
301
+ 56: cincizeci şi şase
302
+ 57: cincizeci şi şapte
303
+ 58: cincizeci şi opt
304
+ 59: cincizeci şi nouă
305
+ 60: şasezeci
306
+ 61: şasezeci şi unu
307
+ 62: şasezeci şi doi
308
+ 63: şasezeci şi trei
309
+ 64: şasezeci şi patru
310
+ 65: şasezeci şi cinci
311
+ 66: şasezeci şi şase
312
+ 67: şasezeci şi şapte
313
+ 68: şasezeci şi opt
314
+ 69: şasezeci şi nouă
315
+ 70: şaptezeci
316
+ 71: şaptezeci şi unu
317
+ 72: şaptezeci şi doi
318
+ 73: şaptezeci şi trei
319
+ 74: şaptezeci şi patru
320
+ 75: şaptezeci şi cinci
321
+ 76: şaptezeci şi şase
322
+ 77: şaptezeci şi şapte
323
+ 78: şaptezeci şi opt
324
+ 79: şaptezeci şi nouă
325
+ 80: optzeci
326
+ 81: optzeci şi unu
327
+ 82: optzeci şi doi
328
+ 83: optzeci şi trei
329
+ 84: optzeci şi patru
330
+ 85: optzeci şi cinci
331
+ 86: optzeci şi şase
332
+ 87: optzeci şi şapte
333
+ 88: optzeci şi opt
334
+ 89: optzeci şi nouă
335
+ 90: nouăzeci
336
+ 91: nouăzeci şi unu
337
+ 92: nouăzeci şi doi
338
+ 93: nouăzeci şi trei
339
+ 94: nouăzeci şi patru
340
+ 95: nouăzeci şi cinci
341
+ 96: nouăzeci şi şase
342
+ 97: nouăzeci şi şapte
343
+ 98: nouăzeci şi opt
344
+ 99: nouăzeci şi nouă
345
+ 100: una sută
346
+ 321: trei sute douăzeci şi unu
347
+ 322: trei sute douăzeci şi doi
348
+ 323: trei sute douăzeci şi trei
349
+ 1141: una mie una sută patruzeci şi unu
350
+ 1142: una mie una sută patruzeci şi doi
351
+ 1143: una mie una sută patruzeci şi trei
352
+ 10311: zece mii trei sute unsprezece
353
+ 138400: una sută treizeci şi opt mii patru sute
354
+ spellout-numbering:
355
+ -1141: minus una mie una sută patruzeci şi unu
356
+ -1142: minus una mie una sută patruzeci şi doi
357
+ -1143: minus una mie una sută patruzeci şi trei
358
+ -100: minus una sută
359
+ -75: minus şaptezeci şi cinci
360
+ -50: minus cincizeci
361
+ -24: minus douăzeci şi patru
362
+ 0: zero
363
+ 1: unu
364
+ 2: doi
365
+ 3: trei
366
+ 4: patru
367
+ 5: cinci
368
+ 6: şase
369
+ 7: şapte
370
+ 8: opt
371
+ 9: nouă
372
+ 10: zece
373
+ 11: unsprezece
374
+ 12: doisprezece
375
+ 13: treisprezece
376
+ 14: patrusprezece
377
+ 15: cincisprezece
378
+ 16: şasesprezece
379
+ 17: şaptesprezece
380
+ 18: optsprezece
381
+ 19: nouăsprezece
382
+ 20: douăzeci
383
+ 21: douăzeci şi unu
384
+ 22: douăzeci şi doi
385
+ 23: douăzeci şi trei
386
+ 24: douăzeci şi patru
387
+ 25: douăzeci şi cinci
388
+ 26: douăzeci şi şase
389
+ 27: douăzeci şi şapte
390
+ 28: douăzeci şi opt
391
+ 29: douăzeci şi nouă
392
+ 30: treizeci
393
+ 31: treizeci şi unu
394
+ 32: treizeci şi doi
395
+ 33: treizeci şi trei
396
+ 34: treizeci şi patru
397
+ 35: treizeci şi cinci
398
+ 36: treizeci şi şase
399
+ 37: treizeci şi şapte
400
+ 38: treizeci şi opt
401
+ 39: treizeci şi nouă
402
+ 40: patruzeci
403
+ 41: patruzeci şi unu
404
+ 42: patruzeci şi doi
405
+ 43: patruzeci şi trei
406
+ 44: patruzeci şi patru
407
+ 45: patruzeci şi cinci
408
+ 46: patruzeci şi şase
409
+ 47: patruzeci şi şapte
410
+ 48: patruzeci şi opt
411
+ 49: patruzeci şi nouă
412
+ 50: cincizeci
413
+ 51: cincizeci şi unu
414
+ 52: cincizeci şi doi
415
+ 53: cincizeci şi trei
416
+ 54: cincizeci şi patru
417
+ 55: cincizeci şi cinci
418
+ 56: cincizeci şi şase
419
+ 57: cincizeci şi şapte
420
+ 58: cincizeci şi opt
421
+ 59: cincizeci şi nouă
422
+ 60: şasezeci
423
+ 61: şasezeci şi unu
424
+ 62: şasezeci şi doi
425
+ 63: şasezeci şi trei
426
+ 64: şasezeci şi patru
427
+ 65: şasezeci şi cinci
428
+ 66: şasezeci şi şase
429
+ 67: şasezeci şi şapte
430
+ 68: şasezeci şi opt
431
+ 69: şasezeci şi nouă
432
+ 70: şaptezeci
433
+ 71: şaptezeci şi unu
434
+ 72: şaptezeci şi doi
435
+ 73: şaptezeci şi trei
436
+ 74: şaptezeci şi patru
437
+ 75: şaptezeci şi cinci
438
+ 76: şaptezeci şi şase
439
+ 77: şaptezeci şi şapte
440
+ 78: şaptezeci şi opt
441
+ 79: şaptezeci şi nouă
442
+ 80: optzeci
443
+ 81: optzeci şi unu
444
+ 82: optzeci şi doi
445
+ 83: optzeci şi trei
446
+ 84: optzeci şi patru
447
+ 85: optzeci şi cinci
448
+ 86: optzeci şi şase
449
+ 87: optzeci şi şapte
450
+ 88: optzeci şi opt
451
+ 89: optzeci şi nouă
452
+ 90: nouăzeci
453
+ 91: nouăzeci şi unu
454
+ 92: nouăzeci şi doi
455
+ 93: nouăzeci şi trei
456
+ 94: nouăzeci şi patru
457
+ 95: nouăzeci şi cinci
458
+ 96: nouăzeci şi şase
459
+ 97: nouăzeci şi şapte
460
+ 98: nouăzeci şi opt
461
+ 99: nouăzeci şi nouă
462
+ 100: una sută
463
+ 321: trei sute douăzeci şi unu
464
+ 322: trei sute douăzeci şi doi
465
+ 323: trei sute douăzeci şi trei
466
+ 1141: una mie una sută patruzeci şi unu
467
+ 1142: una mie una sută patruzeci şi doi
468
+ 1143: una mie una sută patruzeci şi trei
469
+ 10311: zece mii trei sute unsprezece
470
+ 138400: una sută treizeci şi opt mii patru sute
471
+ spellout-numbering-year:
472
+ -1141: minus una mie una sută patruzeci şi unu
473
+ -1142: minus una mie una sută patruzeci şi doi
474
+ -1143: minus una mie una sută patruzeci şi trei
475
+ -100: minus una sută
476
+ -75: minus şaptezeci şi cinci
477
+ -50: minus cincizeci
478
+ -24: minus douăzeci şi patru
479
+ 0: zero
480
+ 1: unu
481
+ 2: doi
482
+ 3: trei
483
+ 4: patru
484
+ 5: cinci
485
+ 6: şase
486
+ 7: şapte
487
+ 8: opt
488
+ 9: nouă
489
+ 10: zece
490
+ 11: unsprezece
491
+ 12: doisprezece
492
+ 13: treisprezece
493
+ 14: patrusprezece
494
+ 15: cincisprezece
495
+ 16: şasesprezece
496
+ 17: şaptesprezece
497
+ 18: optsprezece
498
+ 19: nouăsprezece
499
+ 20: douăzeci
500
+ 21: douăzeci şi unu
501
+ 22: douăzeci şi doi
502
+ 23: douăzeci şi trei
503
+ 24: douăzeci şi patru
504
+ 25: douăzeci şi cinci
505
+ 26: douăzeci şi şase
506
+ 27: douăzeci şi şapte
507
+ 28: douăzeci şi opt
508
+ 29: douăzeci şi nouă
509
+ 30: treizeci
510
+ 31: treizeci şi unu
511
+ 32: treizeci şi doi
512
+ 33: treizeci şi trei
513
+ 34: treizeci şi patru
514
+ 35: treizeci şi cinci
515
+ 36: treizeci şi şase
516
+ 37: treizeci şi şapte
517
+ 38: treizeci şi opt
518
+ 39: treizeci şi nouă
519
+ 40: patruzeci
520
+ 41: patruzeci şi unu
521
+ 42: patruzeci şi doi
522
+ 43: patruzeci şi trei
523
+ 44: patruzeci şi patru
524
+ 45: patruzeci şi cinci
525
+ 46: patruzeci şi şase
526
+ 47: patruzeci şi şapte
527
+ 48: patruzeci şi opt
528
+ 49: patruzeci şi nouă
529
+ 50: cincizeci
530
+ 51: cincizeci şi unu
531
+ 52: cincizeci şi doi
532
+ 53: cincizeci şi trei
533
+ 54: cincizeci şi patru
534
+ 55: cincizeci şi cinci
535
+ 56: cincizeci şi şase
536
+ 57: cincizeci şi şapte
537
+ 58: cincizeci şi opt
538
+ 59: cincizeci şi nouă
539
+ 60: şasezeci
540
+ 61: şasezeci şi unu
541
+ 62: şasezeci şi doi
542
+ 63: şasezeci şi trei
543
+ 64: şasezeci şi patru
544
+ 65: şasezeci şi cinci
545
+ 66: şasezeci şi şase
546
+ 67: şasezeci şi şapte
547
+ 68: şasezeci şi opt
548
+ 69: şasezeci şi nouă
549
+ 70: şaptezeci
550
+ 71: şaptezeci şi unu
551
+ 72: şaptezeci şi doi
552
+ 73: şaptezeci şi trei
553
+ 74: şaptezeci şi patru
554
+ 75: şaptezeci şi cinci
555
+ 76: şaptezeci şi şase
556
+ 77: şaptezeci şi şapte
557
+ 78: şaptezeci şi opt
558
+ 79: şaptezeci şi nouă
559
+ 80: optzeci
560
+ 81: optzeci şi unu
561
+ 82: optzeci şi doi
562
+ 83: optzeci şi trei
563
+ 84: optzeci şi patru
564
+ 85: optzeci şi cinci
565
+ 86: optzeci şi şase
566
+ 87: optzeci şi şapte
567
+ 88: optzeci şi opt
568
+ 89: optzeci şi nouă
569
+ 90: nouăzeci
570
+ 91: nouăzeci şi unu
571
+ 92: nouăzeci şi doi
572
+ 93: nouăzeci şi trei
573
+ 94: nouăzeci şi patru
574
+ 95: nouăzeci şi cinci
575
+ 96: nouăzeci şi şase
576
+ 97: nouăzeci şi şapte
577
+ 98: nouăzeci şi opt
578
+ 99: nouăzeci şi nouă
579
+ 100: una sută
580
+ 321: trei sute douăzeci şi unu
581
+ 322: trei sute douăzeci şi doi
582
+ 323: trei sute douăzeci şi trei
583
+ 1141: una mie una sută patruzeci şi unu
584
+ 1142: una mie una sută patruzeci şi doi
585
+ 1143: una mie una sută patruzeci şi trei
586
+ 10311: zece mii trei sute unsprezece
587
+ 138400: una sută treizeci şi opt mii patru sute
588
+ OrdinalRules:
589
+ digits-ordinal:
590
+ -1141: −1.141a
591
+ -1142: −1.142a
592
+ -1143: −1.143a
593
+ -100: −100a
594
+ -75: −75a
595
+ -50: −50a
596
+ -24: −24a
597
+ 0: 0a
598
+ 1: 1a
599
+ 2: 2a
600
+ 3: 3a
601
+ 4: 4a
602
+ 5: 5a
603
+ 6: 6a
604
+ 7: 7a
605
+ 8: 8a
606
+ 9: 9a
607
+ 10: 10a
608
+ 11: 11a
609
+ 12: 12a
610
+ 13: 13a
611
+ 14: 14a
612
+ 15: 15a
613
+ 16: 16a
614
+ 17: 17a
615
+ 18: 18a
616
+ 19: 19a
617
+ 20: 20a
618
+ 21: 21a
619
+ 22: 22a
620
+ 23: 23a
621
+ 24: 24a
622
+ 25: 25a
623
+ 26: 26a
624
+ 27: 27a
625
+ 28: 28a
626
+ 29: 29a
627
+ 30: 30a
628
+ 31: 31a
629
+ 32: 32a
630
+ 33: 33a
631
+ 34: 34a
632
+ 35: 35a
633
+ 36: 36a
634
+ 37: 37a
635
+ 38: 38a
636
+ 39: 39a
637
+ 40: 40a
638
+ 41: 41a
639
+ 42: 42a
640
+ 43: 43a
641
+ 44: 44a
642
+ 45: 45a
643
+ 46: 46a
644
+ 47: 47a
645
+ 48: 48a
646
+ 49: 49a
647
+ 50: 50a
648
+ 51: 51a
649
+ 52: 52a
650
+ 53: 53a
651
+ 54: 54a
652
+ 55: 55a
653
+ 56: 56a
654
+ 57: 57a
655
+ 58: 58a
656
+ 59: 59a
657
+ 60: 60a
658
+ 61: 61a
659
+ 62: 62a
660
+ 63: 63a
661
+ 64: 64a
662
+ 65: 65a
663
+ 66: 66a
664
+ 67: 67a
665
+ 68: 68a
666
+ 69: 69a
667
+ 70: 70a
668
+ 71: 71a
669
+ 72: 72a
670
+ 73: 73a
671
+ 74: 74a
672
+ 75: 75a
673
+ 76: 76a
674
+ 77: 77a
675
+ 78: 78a
676
+ 79: 79a
677
+ 80: 80a
678
+ 81: 81a
679
+ 82: 82a
680
+ 83: 83a
681
+ 84: 84a
682
+ 85: 85a
683
+ 86: 86a
684
+ 87: 87a
685
+ 88: 88a
686
+ 89: 89a
687
+ 90: 90a
688
+ 91: 91a
689
+ 92: 92a
690
+ 93: 93a
691
+ 94: 94a
692
+ 95: 95a
693
+ 96: 96a
694
+ 97: 97a
695
+ 98: 98a
696
+ 99: 99a
697
+ 100: 100a
698
+ 321: 321a
699
+ 322: 322a
700
+ 323: 323a
701
+ 1141: 1.141a
702
+ 1142: 1.142a
703
+ 1143: 1.143a
704
+ 10311: 10.311a
705
+ 138400: 138.400a
706
+ DurationRules:
707
+ duration:
708
+ -1141: '-1.141'
709
+ -1142: '-1.142'
710
+ -1143: '-1.143'
711
+ -100: '-100'
712
+ -75: '-75'
713
+ -50: '-50'
714
+ -24: '-24'
715
+ 0: '0'
716
+ 1: '1'
717
+ 2: '2'
718
+ 3: '3'
719
+ 4: '4'
720
+ 5: '5'
721
+ 6: '6'
722
+ 7: '7'
723
+ 8: '8'
724
+ 9: '9'
725
+ 10: '10'
726
+ 11: '11'
727
+ 12: '12'
728
+ 13: '13'
729
+ 14: '14'
730
+ 15: '15'
731
+ 16: '16'
732
+ 17: '17'
733
+ 18: '18'
734
+ 19: '19'
735
+ 20: '20'
736
+ 21: '21'
737
+ 22: '22'
738
+ 23: '23'
739
+ 24: '24'
740
+ 25: '25'
741
+ 26: '26'
742
+ 27: '27'
743
+ 28: '28'
744
+ 29: '29'
745
+ 30: '30'
746
+ 31: '31'
747
+ 32: '32'
748
+ 33: '33'
749
+ 34: '34'
750
+ 35: '35'
751
+ 36: '36'
752
+ 37: '37'
753
+ 38: '38'
754
+ 39: '39'
755
+ 40: '40'
756
+ 41: '41'
757
+ 42: '42'
758
+ 43: '43'
759
+ 44: '44'
760
+ 45: '45'
761
+ 46: '46'
762
+ 47: '47'
763
+ 48: '48'
764
+ 49: '49'
765
+ 50: '50'
766
+ 51: '51'
767
+ 52: '52'
768
+ 53: '53'
769
+ 54: '54'
770
+ 55: '55'
771
+ 56: '56'
772
+ 57: '57'
773
+ 58: '58'
774
+ 59: '59'
775
+ 60: '60'
776
+ 61: '61'
777
+ 62: '62'
778
+ 63: '63'
779
+ 64: '64'
780
+ 65: '65'
781
+ 66: '66'
782
+ 67: '67'
783
+ 68: '68'
784
+ 69: '69'
785
+ 70: '70'
786
+ 71: '71'
787
+ 72: '72'
788
+ 73: '73'
789
+ 74: '74'
790
+ 75: '75'
791
+ 76: '76'
792
+ 77: '77'
793
+ 78: '78'
794
+ 79: '79'
795
+ 80: '80'
796
+ 81: '81'
797
+ 82: '82'
798
+ 83: '83'
799
+ 84: '84'
800
+ 85: '85'
801
+ 86: '86'
802
+ 87: '87'
803
+ 88: '88'
804
+ 89: '89'
805
+ 90: '90'
806
+ 91: '91'
807
+ 92: '92'
808
+ 93: '93'
809
+ 94: '94'
810
+ 95: '95'
811
+ 96: '96'
812
+ 97: '97'
813
+ 98: '98'
814
+ 99: '99'
815
+ 100: '100'
816
+ 321: '321'
817
+ 322: '322'
818
+ 323: '323'
819
+ 1141: '1.141'
820
+ 1142: '1.142'
821
+ 1143: '1.143'
822
+ 10311: '10.311'
823
+ 138400: '138.400'