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: minus ein­tausend­ein­hundert­ein­und­vierzigste
5
+ -1142: minus ein­tausend­ein­hundert­zwei­und­vierzigste
6
+ -1143: minus ein­tausend­ein­hundert­drei­und­vierzigste
7
+ -100: minus ein­hundertste
8
+ -75: minus fünf­und­siebzigste
9
+ -50: minus fünfzigste
10
+ -24: minus vier­und­zwanzigste
11
+ 0: nullte
12
+ 1: erste
13
+ 2: zweite
14
+ 3: dritte
15
+ 4: vierte
16
+ 5: fünfte
17
+ 6: sechste
18
+ 7: siebte
19
+ 8: achte
20
+ 9: neunte
21
+ 10: zehnte
22
+ 11: elfte
23
+ 12: zwölfte
24
+ 13: dreizehnte
25
+ 14: vierzehnte
26
+ 15: fünfzehnte
27
+ 16: sechzehnte
28
+ 17: siebzehnte
29
+ 18: achtzehnte
30
+ 19: neunzehnte
31
+ 20: zwanzigste
32
+ 21: ein­und­zwanzigste
33
+ 22: zwei­und­zwanzigste
34
+ 23: drei­und­zwanzigste
35
+ 24: vier­und­zwanzigste
36
+ 25: fünf­und­zwanzigste
37
+ 26: sechs­und­zwanzigste
38
+ 27: sieben­und­zwanzigste
39
+ 28: acht­und­zwanzigste
40
+ 29: neun­und­zwanzigste
41
+ 30: dreißigste
42
+ 31: ein­und­dreißigste
43
+ 32: zwei­und­dreißigste
44
+ 33: drei­und­dreißigste
45
+ 34: vier­und­dreißigste
46
+ 35: fünf­und­dreißigste
47
+ 36: sechs­und­dreißigste
48
+ 37: sieben­und­dreißigste
49
+ 38: acht­und­dreißigste
50
+ 39: neun­und­dreißigste
51
+ 40: vierzigste
52
+ 41: ein­und­vierzigste
53
+ 42: zwei­und­vierzigste
54
+ 43: drei­und­vierzigste
55
+ 44: vier­und­vierzigste
56
+ 45: fünf­und­vierzigste
57
+ 46: sechs­und­vierzigste
58
+ 47: sieben­und­vierzigste
59
+ 48: acht­und­vierzigste
60
+ 49: neun­und­vierzigste
61
+ 50: fünfzigste
62
+ 51: ein­und­fünfzigste
63
+ 52: zwei­und­fünfzigste
64
+ 53: drei­und­fünfzigste
65
+ 54: vier­und­fünfzigste
66
+ 55: fünf­und­fünfzigste
67
+ 56: sechs­und­fünfzigste
68
+ 57: sieben­und­fünfzigste
69
+ 58: acht­und­fünfzigste
70
+ 59: neun­und­fünfzigste
71
+ 60: sechzigste
72
+ 61: ein­und­sechzigste
73
+ 62: zwei­und­sechzigste
74
+ 63: drei­und­sechzigste
75
+ 64: vier­und­sechzigste
76
+ 65: fünf­und­sechzigste
77
+ 66: sechs­und­sechzigste
78
+ 67: sieben­und­sechzigste
79
+ 68: acht­und­sechzigste
80
+ 69: neun­und­sechzigste
81
+ 70: siebzigste
82
+ 71: ein­und­siebzigste
83
+ 72: zwei­und­siebzigste
84
+ 73: drei­und­siebzigste
85
+ 74: vier­und­siebzigste
86
+ 75: fünf­und­siebzigste
87
+ 76: sechs­und­siebzigste
88
+ 77: sieben­und­siebzigste
89
+ 78: acht­und­siebzigste
90
+ 79: neun­und­siebzigste
91
+ 80: achtzigste
92
+ 81: ein­und­achtzigste
93
+ 82: zwei­und­achtzigste
94
+ 83: drei­und­achtzigste
95
+ 84: vier­und­achtzigste
96
+ 85: fünf­und­achtzigste
97
+ 86: sechs­und­achtzigste
98
+ 87: sieben­und­achtzigste
99
+ 88: acht­und­achtzigste
100
+ 89: neun­und­achtzigste
101
+ 90: neunzigste
102
+ 91: ein­und­neunzigste
103
+ 92: zwei­und­neunzigste
104
+ 93: drei­und­neunzigste
105
+ 94: vier­und­neunzigste
106
+ 95: fünf­und­neunzigste
107
+ 96: sechs­und­neunzigste
108
+ 97: sieben­und­neunzigste
109
+ 98: acht­und­neunzigste
110
+ 99: neun­und­neunzigste
111
+ 100: ein­hundertste
112
+ 321: drei­hundert­ein­und­zwanzigste
113
+ 322: drei­hundert­zwei­und­zwanzigste
114
+ 323: drei­hundert­drei­und­zwanzigste
115
+ 1141: ein­tausend­ein­hundert­ein­und­vierzigste
116
+ 1142: ein­tausend­ein­hundert­zwei­und­vierzigste
117
+ 1143: ein­tausend­ein­hundert­drei­und­vierzigste
118
+ 10311: zehn­tausend­drei­hundert­elfte
119
+ 138400: ein­hundert­acht­und­dreißig­tausend­vier­hundertste
120
+ spellout-cardinal-feminine:
121
+ -1141: minus ein­tausend­ein­hundert­ein­und­vierzig
122
+ -1142: minus ein­tausend­ein­hundert­zwei­und­vierzig
123
+ -1143: minus ein­tausend­ein­hundert­drei­und­vierzig
124
+ -100: minus ein­hundert
125
+ -75: minus fünf­und­siebzig
126
+ -50: minus fünfzig
127
+ -24: minus vier­und­zwanzig
128
+ 0: 'null'
129
+ 1: eine
130
+ 2: zwei
131
+ 3: drei
132
+ 4: vier
133
+ 5: fünf
134
+ 6: sechs
135
+ 7: sieben
136
+ 8: acht
137
+ 9: neun
138
+ 10: zehn
139
+ 11: elf
140
+ 12: zwölf
141
+ 13: dreizehn
142
+ 14: vierzehn
143
+ 15: fünfzehn
144
+ 16: sechzehn
145
+ 17: siebzehn
146
+ 18: achtzehn
147
+ 19: neunzehn
148
+ 20: zwanzig
149
+ 21: ein­und­zwanzig
150
+ 22: zwei­und­zwanzig
151
+ 23: drei­und­zwanzig
152
+ 24: vier­und­zwanzig
153
+ 25: fünf­und­zwanzig
154
+ 26: sechs­und­zwanzig
155
+ 27: sieben­und­zwanzig
156
+ 28: acht­und­zwanzig
157
+ 29: neun­und­zwanzig
158
+ 30: dreißig
159
+ 31: ein­und­dreißig
160
+ 32: zwei­und­dreißig
161
+ 33: drei­und­dreißig
162
+ 34: vier­und­dreißig
163
+ 35: fünf­und­dreißig
164
+ 36: sechs­und­dreißig
165
+ 37: sieben­und­dreißig
166
+ 38: acht­und­dreißig
167
+ 39: neun­und­dreißig
168
+ 40: vierzig
169
+ 41: ein­und­vierzig
170
+ 42: zwei­und­vierzig
171
+ 43: drei­und­vierzig
172
+ 44: vier­und­vierzig
173
+ 45: fünf­und­vierzig
174
+ 46: sechs­und­vierzig
175
+ 47: sieben­und­vierzig
176
+ 48: acht­und­vierzig
177
+ 49: neun­und­vierzig
178
+ 50: fünfzig
179
+ 51: ein­und­fünfzig
180
+ 52: zwei­und­fünfzig
181
+ 53: drei­und­fünfzig
182
+ 54: vier­und­fünfzig
183
+ 55: fünf­und­fünfzig
184
+ 56: sechs­und­fünfzig
185
+ 57: sieben­und­fünfzig
186
+ 58: acht­und­fünfzig
187
+ 59: neun­und­fünfzig
188
+ 60: sechzig
189
+ 61: ein­und­sechzig
190
+ 62: zwei­und­sechzig
191
+ 63: drei­und­sechzig
192
+ 64: vier­und­sechzig
193
+ 65: fünf­und­sechzig
194
+ 66: sechs­und­sechzig
195
+ 67: sieben­und­sechzig
196
+ 68: acht­und­sechzig
197
+ 69: neun­und­sechzig
198
+ 70: siebzig
199
+ 71: ein­und­siebzig
200
+ 72: zwei­und­siebzig
201
+ 73: drei­und­siebzig
202
+ 74: vier­und­siebzig
203
+ 75: fünf­und­siebzig
204
+ 76: sechs­und­siebzig
205
+ 77: sieben­und­siebzig
206
+ 78: acht­und­siebzig
207
+ 79: neun­und­siebzig
208
+ 80: achtzig
209
+ 81: ein­und­achtzig
210
+ 82: zwei­und­achtzig
211
+ 83: drei­und­achtzig
212
+ 84: vier­und­achtzig
213
+ 85: fünf­und­achtzig
214
+ 86: sechs­und­achtzig
215
+ 87: sieben­und­achtzig
216
+ 88: acht­und­achtzig
217
+ 89: neun­und­achtzig
218
+ 90: neunzig
219
+ 91: ein­und­neunzig
220
+ 92: zwei­und­neunzig
221
+ 93: drei­und­neunzig
222
+ 94: vier­und­neunzig
223
+ 95: fünf­und­neunzig
224
+ 96: sechs­und­neunzig
225
+ 97: sieben­und­neunzig
226
+ 98: acht­und­neunzig
227
+ 99: neun­und­neunzig
228
+ 100: ein­hundert
229
+ 321: drei­hundert­ein­und­zwanzig
230
+ 322: drei­hundert­zwei­und­zwanzig
231
+ 323: drei­hundert­drei­und­zwanzig
232
+ 1141: ein­tausend­ein­hundert­ein­und­vierzig
233
+ 1142: ein­tausend­ein­hundert­zwei­und­vierzig
234
+ 1143: ein­tausend­ein­hundert­drei­und­vierzig
235
+ 10311: zehn­tausend­drei­hundert­elf
236
+ 138400: ein­hundert­acht­und­dreißig­tausend­vier­hundert
237
+ spellout-cardinal-masculine:
238
+ -1141: minus ein­tausend­ein­hundert­ein­und­vierzig
239
+ -1142: minus ein­tausend­ein­hundert­zwei­und­vierzig
240
+ -1143: minus ein­tausend­ein­hundert­drei­und­vierzig
241
+ -100: minus ein­hundert
242
+ -75: minus fünf­und­siebzig
243
+ -50: minus fünfzig
244
+ -24: minus vier­und­zwanzig
245
+ 0: 'null'
246
+ 1: ein
247
+ 2: zwei
248
+ 3: drei
249
+ 4: vier
250
+ 5: fünf
251
+ 6: sechs
252
+ 7: sieben
253
+ 8: acht
254
+ 9: neun
255
+ 10: zehn
256
+ 11: elf
257
+ 12: zwölf
258
+ 13: dreizehn
259
+ 14: vierzehn
260
+ 15: fünfzehn
261
+ 16: sechzehn
262
+ 17: siebzehn
263
+ 18: achtzehn
264
+ 19: neunzehn
265
+ 20: zwanzig
266
+ 21: ein­und­zwanzig
267
+ 22: zwei­und­zwanzig
268
+ 23: drei­und­zwanzig
269
+ 24: vier­und­zwanzig
270
+ 25: fünf­und­zwanzig
271
+ 26: sechs­und­zwanzig
272
+ 27: sieben­und­zwanzig
273
+ 28: acht­und­zwanzig
274
+ 29: neun­und­zwanzig
275
+ 30: dreißig
276
+ 31: ein­und­dreißig
277
+ 32: zwei­und­dreißig
278
+ 33: drei­und­dreißig
279
+ 34: vier­und­dreißig
280
+ 35: fünf­und­dreißig
281
+ 36: sechs­und­dreißig
282
+ 37: sieben­und­dreißig
283
+ 38: acht­und­dreißig
284
+ 39: neun­und­dreißig
285
+ 40: vierzig
286
+ 41: ein­und­vierzig
287
+ 42: zwei­und­vierzig
288
+ 43: drei­und­vierzig
289
+ 44: vier­und­vierzig
290
+ 45: fünf­und­vierzig
291
+ 46: sechs­und­vierzig
292
+ 47: sieben­und­vierzig
293
+ 48: acht­und­vierzig
294
+ 49: neun­und­vierzig
295
+ 50: fünfzig
296
+ 51: ein­und­fünfzig
297
+ 52: zwei­und­fünfzig
298
+ 53: drei­und­fünfzig
299
+ 54: vier­und­fünfzig
300
+ 55: fünf­und­fünfzig
301
+ 56: sechs­und­fünfzig
302
+ 57: sieben­und­fünfzig
303
+ 58: acht­und­fünfzig
304
+ 59: neun­und­fünfzig
305
+ 60: sechzig
306
+ 61: ein­und­sechzig
307
+ 62: zwei­und­sechzig
308
+ 63: drei­und­sechzig
309
+ 64: vier­und­sechzig
310
+ 65: fünf­und­sechzig
311
+ 66: sechs­und­sechzig
312
+ 67: sieben­und­sechzig
313
+ 68: acht­und­sechzig
314
+ 69: neun­und­sechzig
315
+ 70: siebzig
316
+ 71: ein­und­siebzig
317
+ 72: zwei­und­siebzig
318
+ 73: drei­und­siebzig
319
+ 74: vier­und­siebzig
320
+ 75: fünf­und­siebzig
321
+ 76: sechs­und­siebzig
322
+ 77: sieben­und­siebzig
323
+ 78: acht­und­siebzig
324
+ 79: neun­und­siebzig
325
+ 80: achtzig
326
+ 81: ein­und­achtzig
327
+ 82: zwei­und­achtzig
328
+ 83: drei­und­achtzig
329
+ 84: vier­und­achtzig
330
+ 85: fünf­und­achtzig
331
+ 86: sechs­und­achtzig
332
+ 87: sieben­und­achtzig
333
+ 88: acht­und­achtzig
334
+ 89: neun­und­achtzig
335
+ 90: neunzig
336
+ 91: ein­und­neunzig
337
+ 92: zwei­und­neunzig
338
+ 93: drei­und­neunzig
339
+ 94: vier­und­neunzig
340
+ 95: fünf­und­neunzig
341
+ 96: sechs­und­neunzig
342
+ 97: sieben­und­neunzig
343
+ 98: acht­und­neunzig
344
+ 99: neun­und­neunzig
345
+ 100: ein­hundert
346
+ 321: drei­hundert­ein­und­zwanzig
347
+ 322: drei­hundert­zwei­und­zwanzig
348
+ 323: drei­hundert­drei­und­zwanzig
349
+ 1141: ein­tausend­ein­hundert­ein­und­vierzig
350
+ 1142: ein­tausend­ein­hundert­zwei­und­vierzig
351
+ 1143: ein­tausend­ein­hundert­drei­und­vierzig
352
+ 10311: zehn­tausend­drei­hundert­elf
353
+ 138400: ein­hundert­acht­und­dreißig­tausend­vier­hundert
354
+ spellout-cardinal-neuter:
355
+ -1141: minus ein­tausend­ein­hundert­ein­und­vierzig
356
+ -1142: minus ein­tausend­ein­hundert­zwei­und­vierzig
357
+ -1143: minus ein­tausend­ein­hundert­drei­und­vierzig
358
+ -100: minus ein­hundert
359
+ -75: minus fünf­und­siebzig
360
+ -50: minus fünfzig
361
+ -24: minus vier­und­zwanzig
362
+ 0: 'null'
363
+ 1: ein
364
+ 2: zwei
365
+ 3: drei
366
+ 4: vier
367
+ 5: fünf
368
+ 6: sechs
369
+ 7: sieben
370
+ 8: acht
371
+ 9: neun
372
+ 10: zehn
373
+ 11: elf
374
+ 12: zwölf
375
+ 13: dreizehn
376
+ 14: vierzehn
377
+ 15: fünfzehn
378
+ 16: sechzehn
379
+ 17: siebzehn
380
+ 18: achtzehn
381
+ 19: neunzehn
382
+ 20: zwanzig
383
+ 21: ein­und­zwanzig
384
+ 22: zwei­und­zwanzig
385
+ 23: drei­und­zwanzig
386
+ 24: vier­und­zwanzig
387
+ 25: fünf­und­zwanzig
388
+ 26: sechs­und­zwanzig
389
+ 27: sieben­und­zwanzig
390
+ 28: acht­und­zwanzig
391
+ 29: neun­und­zwanzig
392
+ 30: dreißig
393
+ 31: ein­und­dreißig
394
+ 32: zwei­und­dreißig
395
+ 33: drei­und­dreißig
396
+ 34: vier­und­dreißig
397
+ 35: fünf­und­dreißig
398
+ 36: sechs­und­dreißig
399
+ 37: sieben­und­dreißig
400
+ 38: acht­und­dreißig
401
+ 39: neun­und­dreißig
402
+ 40: vierzig
403
+ 41: ein­und­vierzig
404
+ 42: zwei­und­vierzig
405
+ 43: drei­und­vierzig
406
+ 44: vier­und­vierzig
407
+ 45: fünf­und­vierzig
408
+ 46: sechs­und­vierzig
409
+ 47: sieben­und­vierzig
410
+ 48: acht­und­vierzig
411
+ 49: neun­und­vierzig
412
+ 50: fünfzig
413
+ 51: ein­und­fünfzig
414
+ 52: zwei­und­fünfzig
415
+ 53: drei­und­fünfzig
416
+ 54: vier­und­fünfzig
417
+ 55: fünf­und­fünfzig
418
+ 56: sechs­und­fünfzig
419
+ 57: sieben­und­fünfzig
420
+ 58: acht­und­fünfzig
421
+ 59: neun­und­fünfzig
422
+ 60: sechzig
423
+ 61: ein­und­sechzig
424
+ 62: zwei­und­sechzig
425
+ 63: drei­und­sechzig
426
+ 64: vier­und­sechzig
427
+ 65: fünf­und­sechzig
428
+ 66: sechs­und­sechzig
429
+ 67: sieben­und­sechzig
430
+ 68: acht­und­sechzig
431
+ 69: neun­und­sechzig
432
+ 70: siebzig
433
+ 71: ein­und­siebzig
434
+ 72: zwei­und­siebzig
435
+ 73: drei­und­siebzig
436
+ 74: vier­und­siebzig
437
+ 75: fünf­und­siebzig
438
+ 76: sechs­und­siebzig
439
+ 77: sieben­und­siebzig
440
+ 78: acht­und­siebzig
441
+ 79: neun­und­siebzig
442
+ 80: achtzig
443
+ 81: ein­und­achtzig
444
+ 82: zwei­und­achtzig
445
+ 83: drei­und­achtzig
446
+ 84: vier­und­achtzig
447
+ 85: fünf­und­achtzig
448
+ 86: sechs­und­achtzig
449
+ 87: sieben­und­achtzig
450
+ 88: acht­und­achtzig
451
+ 89: neun­und­achtzig
452
+ 90: neunzig
453
+ 91: ein­und­neunzig
454
+ 92: zwei­und­neunzig
455
+ 93: drei­und­neunzig
456
+ 94: vier­und­neunzig
457
+ 95: fünf­und­neunzig
458
+ 96: sechs­und­neunzig
459
+ 97: sieben­und­neunzig
460
+ 98: acht­und­neunzig
461
+ 99: neun­und­neunzig
462
+ 100: ein­hundert
463
+ 321: drei­hundert­ein­und­zwanzig
464
+ 322: drei­hundert­zwei­und­zwanzig
465
+ 323: drei­hundert­drei­und­zwanzig
466
+ 1141: ein­tausend­ein­hundert­ein­und­vierzig
467
+ 1142: ein­tausend­ein­hundert­zwei­und­vierzig
468
+ 1143: ein­tausend­ein­hundert­drei­und­vierzig
469
+ 10311: zehn­tausend­drei­hundert­elf
470
+ 138400: ein­hundert­acht­und­dreißig­tausend­vier­hundert
471
+ spellout-numbering:
472
+ -1141: minus ein­tausend­ein­hundert­ein­und­vierzig
473
+ -1142: minus ein­tausend­ein­hundert­zwei­und­vierzig
474
+ -1143: minus ein­tausend­ein­hundert­drei­und­vierzig
475
+ -100: minus ein­hundert
476
+ -75: minus fünf­und­siebzig
477
+ -50: minus fünfzig
478
+ -24: minus vier­und­zwanzig
479
+ 0: 'null'
480
+ 1: eins
481
+ 2: zwei
482
+ 3: drei
483
+ 4: vier
484
+ 5: fünf
485
+ 6: sechs
486
+ 7: sieben
487
+ 8: acht
488
+ 9: neun
489
+ 10: zehn
490
+ 11: elf
491
+ 12: zwölf
492
+ 13: dreizehn
493
+ 14: vierzehn
494
+ 15: fünfzehn
495
+ 16: sechzehn
496
+ 17: siebzehn
497
+ 18: achtzehn
498
+ 19: neunzehn
499
+ 20: zwanzig
500
+ 21: ein­und­zwanzig
501
+ 22: zwei­und­zwanzig
502
+ 23: drei­und­zwanzig
503
+ 24: vier­und­zwanzig
504
+ 25: fünf­und­zwanzig
505
+ 26: sechs­und­zwanzig
506
+ 27: sieben­und­zwanzig
507
+ 28: acht­und­zwanzig
508
+ 29: neun­und­zwanzig
509
+ 30: dreißig
510
+ 31: ein­und­dreißig
511
+ 32: zwei­und­dreißig
512
+ 33: drei­und­dreißig
513
+ 34: vier­und­dreißig
514
+ 35: fünf­und­dreißig
515
+ 36: sechs­und­dreißig
516
+ 37: sieben­und­dreißig
517
+ 38: acht­und­dreißig
518
+ 39: neun­und­dreißig
519
+ 40: vierzig
520
+ 41: ein­und­vierzig
521
+ 42: zwei­und­vierzig
522
+ 43: drei­und­vierzig
523
+ 44: vier­und­vierzig
524
+ 45: fünf­und­vierzig
525
+ 46: sechs­und­vierzig
526
+ 47: sieben­und­vierzig
527
+ 48: acht­und­vierzig
528
+ 49: neun­und­vierzig
529
+ 50: fünfzig
530
+ 51: ein­und­fünfzig
531
+ 52: zwei­und­fünfzig
532
+ 53: drei­und­fünfzig
533
+ 54: vier­und­fünfzig
534
+ 55: fünf­und­fünfzig
535
+ 56: sechs­und­fünfzig
536
+ 57: sieben­und­fünfzig
537
+ 58: acht­und­fünfzig
538
+ 59: neun­und­fünfzig
539
+ 60: sechzig
540
+ 61: ein­und­sechzig
541
+ 62: zwei­und­sechzig
542
+ 63: drei­und­sechzig
543
+ 64: vier­und­sechzig
544
+ 65: fünf­und­sechzig
545
+ 66: sechs­und­sechzig
546
+ 67: sieben­und­sechzig
547
+ 68: acht­und­sechzig
548
+ 69: neun­und­sechzig
549
+ 70: siebzig
550
+ 71: ein­und­siebzig
551
+ 72: zwei­und­siebzig
552
+ 73: drei­und­siebzig
553
+ 74: vier­und­siebzig
554
+ 75: fünf­und­siebzig
555
+ 76: sechs­und­siebzig
556
+ 77: sieben­und­siebzig
557
+ 78: acht­und­siebzig
558
+ 79: neun­und­siebzig
559
+ 80: achtzig
560
+ 81: ein­und­achtzig
561
+ 82: zwei­und­achtzig
562
+ 83: drei­und­achtzig
563
+ 84: vier­und­achtzig
564
+ 85: fünf­und­achtzig
565
+ 86: sechs­und­achtzig
566
+ 87: sieben­und­achtzig
567
+ 88: acht­und­achtzig
568
+ 89: neun­und­achtzig
569
+ 90: neunzig
570
+ 91: ein­und­neunzig
571
+ 92: zwei­und­neunzig
572
+ 93: drei­und­neunzig
573
+ 94: vier­und­neunzig
574
+ 95: fünf­und­neunzig
575
+ 96: sechs­und­neunzig
576
+ 97: sieben­und­neunzig
577
+ 98: acht­und­neunzig
578
+ 99: neun­und­neunzig
579
+ 100: ein­hundert
580
+ 321: drei­hundert­ein­und­zwanzig
581
+ 322: drei­hundert­zwei­und­zwanzig
582
+ 323: drei­hundert­drei­und­zwanzig
583
+ 1141: ein­tausend­ein­hundert­ein­und­vierzig
584
+ 1142: ein­tausend­ein­hundert­zwei­und­vierzig
585
+ 1143: ein­tausend­ein­hundert­drei­und­vierzig
586
+ 10311: zehn­tausend­drei­hundert­elf
587
+ 138400: ein­hundert­acht­und­dreißig­tausend­vier­hundert
588
+ spellout-numbering-year:
589
+ -1141: minus elf­hundert­ein­und­vierzig
590
+ -1142: minus elf­hundert­zwei­und­vierzig
591
+ -1143: minus elf­hundert­drei­und­vierzig
592
+ -100: minus ein­hundert
593
+ -75: minus fünf­und­siebzig
594
+ -50: minus fünfzig
595
+ -24: minus vier­und­zwanzig
596
+ 0: 'null'
597
+ 1: eins
598
+ 2: zwei
599
+ 3: drei
600
+ 4: vier
601
+ 5: fünf
602
+ 6: sechs
603
+ 7: sieben
604
+ 8: acht
605
+ 9: neun
606
+ 10: zehn
607
+ 11: elf
608
+ 12: zwölf
609
+ 13: dreizehn
610
+ 14: vierzehn
611
+ 15: fünfzehn
612
+ 16: sechzehn
613
+ 17: siebzehn
614
+ 18: achtzehn
615
+ 19: neunzehn
616
+ 20: zwanzig
617
+ 21: ein­und­zwanzig
618
+ 22: zwei­und­zwanzig
619
+ 23: drei­und­zwanzig
620
+ 24: vier­und­zwanzig
621
+ 25: fünf­und­zwanzig
622
+ 26: sechs­und­zwanzig
623
+ 27: sieben­und­zwanzig
624
+ 28: acht­und­zwanzig
625
+ 29: neun­und­zwanzig
626
+ 30: dreißig
627
+ 31: ein­und­dreißig
628
+ 32: zwei­und­dreißig
629
+ 33: drei­und­dreißig
630
+ 34: vier­und­dreißig
631
+ 35: fünf­und­dreißig
632
+ 36: sechs­und­dreißig
633
+ 37: sieben­und­dreißig
634
+ 38: acht­und­dreißig
635
+ 39: neun­und­dreißig
636
+ 40: vierzig
637
+ 41: ein­und­vierzig
638
+ 42: zwei­und­vierzig
639
+ 43: drei­und­vierzig
640
+ 44: vier­und­vierzig
641
+ 45: fünf­und­vierzig
642
+ 46: sechs­und­vierzig
643
+ 47: sieben­und­vierzig
644
+ 48: acht­und­vierzig
645
+ 49: neun­und­vierzig
646
+ 50: fünfzig
647
+ 51: ein­und­fünfzig
648
+ 52: zwei­und­fünfzig
649
+ 53: drei­und­fünfzig
650
+ 54: vier­und­fünfzig
651
+ 55: fünf­und­fünfzig
652
+ 56: sechs­und­fünfzig
653
+ 57: sieben­und­fünfzig
654
+ 58: acht­und­fünfzig
655
+ 59: neun­und­fünfzig
656
+ 60: sechzig
657
+ 61: ein­und­sechzig
658
+ 62: zwei­und­sechzig
659
+ 63: drei­und­sechzig
660
+ 64: vier­und­sechzig
661
+ 65: fünf­und­sechzig
662
+ 66: sechs­und­sechzig
663
+ 67: sieben­und­sechzig
664
+ 68: acht­und­sechzig
665
+ 69: neun­und­sechzig
666
+ 70: siebzig
667
+ 71: ein­und­siebzig
668
+ 72: zwei­und­siebzig
669
+ 73: drei­und­siebzig
670
+ 74: vier­und­siebzig
671
+ 75: fünf­und­siebzig
672
+ 76: sechs­und­siebzig
673
+ 77: sieben­und­siebzig
674
+ 78: acht­und­siebzig
675
+ 79: neun­und­siebzig
676
+ 80: achtzig
677
+ 81: ein­und­achtzig
678
+ 82: zwei­und­achtzig
679
+ 83: drei­und­achtzig
680
+ 84: vier­und­achtzig
681
+ 85: fünf­und­achtzig
682
+ 86: sechs­und­achtzig
683
+ 87: sieben­und­achtzig
684
+ 88: acht­und­achtzig
685
+ 89: neun­und­achtzig
686
+ 90: neunzig
687
+ 91: ein­und­neunzig
688
+ 92: zwei­und­neunzig
689
+ 93: drei­und­neunzig
690
+ 94: vier­und­neunzig
691
+ 95: fünf­und­neunzig
692
+ 96: sechs­und­neunzig
693
+ 97: sieben­und­neunzig
694
+ 98: acht­und­neunzig
695
+ 99: neun­und­neunzig
696
+ 100: ein­hundert
697
+ 321: drei­hundert­ein­und­zwanzig
698
+ 322: drei­hundert­zwei­und­zwanzig
699
+ 323: drei­hundert­drei­und­zwanzig
700
+ 1141: elf­hundert­ein­und­vierzig
701
+ 1142: elf­hundert­zwei­und­vierzig
702
+ 1143: elf­hundert­drei­und­vierzig
703
+ 10311: zehn­tausend­drei­hundert­elf
704
+ 138400: ein­hundert­acht­und­dreißig­tausend­vier­hundert
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'