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