num2words 0.1.0 → 0.1.3

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 (114) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/CHANGELOG.md +71 -0
  4. data/Gemfile +1 -0
  5. data/README.md +105 -82
  6. data/bin/console +1 -1
  7. data/config/locales/ar.yml +36 -0
  8. data/config/locales/be.yml +31 -0
  9. data/config/locales/bg.yml +31 -0
  10. data/config/locales/bn.yml +26 -0
  11. data/config/locales/cs.yml +31 -0
  12. data/config/locales/da.yml +31 -0
  13. data/config/locales/de.yml +31 -0
  14. data/config/locales/el.yml +36 -0
  15. data/config/locales/en.yml +41 -0
  16. data/config/locales/es.yml +31 -0
  17. data/config/locales/et.yml +26 -0
  18. data/config/locales/fa.yml +31 -0
  19. data/config/locales/fi.yml +26 -0
  20. data/config/locales/fr.yml +31 -0
  21. data/config/locales/gu.yml +26 -0
  22. data/config/locales/he.yml +36 -0
  23. data/config/locales/hi.yml +31 -0
  24. data/config/locales/hr.yml +31 -0
  25. data/config/locales/hu.yml +31 -0
  26. data/config/locales/id.yml +31 -0
  27. data/config/locales/it.yml +31 -0
  28. data/config/locales/ja.yml +31 -0
  29. data/config/locales/kn.yml +26 -0
  30. data/config/locales/ko.yml +31 -0
  31. data/config/locales/kz.yml +36 -0
  32. data/config/locales/lt.yml +26 -0
  33. data/config/locales/lv.yml +26 -0
  34. data/config/locales/ml.yml +26 -0
  35. data/config/locales/mr.yml +26 -0
  36. data/config/locales/ms.yml +26 -0
  37. data/config/locales/nb.yml +36 -0
  38. data/config/locales/nl.yml +31 -0
  39. data/config/locales/pa.yml +26 -0
  40. data/config/locales/pl.yml +31 -0
  41. data/config/locales/pt.yml +31 -0
  42. data/config/locales/ro.yml +31 -0
  43. data/config/locales/ru.yml +36 -0
  44. data/config/locales/sk.yml +26 -0
  45. data/config/locales/sl.yml +26 -0
  46. data/config/locales/sr.yml +31 -0
  47. data/config/locales/sv.yml +33 -0
  48. data/config/locales/sw.yml +26 -0
  49. data/config/locales/ta.yml +26 -0
  50. data/config/locales/te.yml +26 -0
  51. data/config/locales/th.yml +31 -0
  52. data/config/locales/tr.yml +31 -0
  53. data/config/locales/uk.yml +31 -0
  54. data/config/locales/ur.yml +26 -0
  55. data/config/locales/vi.yml +31 -0
  56. data/config/locales/zh.yml +21 -0
  57. data/lib/num2words/converter.rb +97 -59
  58. data/lib/num2words/core_ext.rb +10 -6
  59. data/lib/num2words/i18n.rb +30 -0
  60. data/lib/num2words/locales/ar.rb +19 -0
  61. data/lib/num2words/locales/be.rb +19 -0
  62. data/lib/num2words/locales/bg.rb +19 -0
  63. data/lib/num2words/locales/bn.rb +19 -0
  64. data/lib/num2words/locales/cs.rb +19 -0
  65. data/lib/num2words/locales/da.rb +19 -0
  66. data/lib/num2words/locales/de.rb +19 -0
  67. data/lib/num2words/locales/el.rb +19 -0
  68. data/lib/num2words/locales/en.rb +22 -0
  69. data/lib/num2words/locales/es.rb +19 -0
  70. data/lib/num2words/locales/et.rb +19 -0
  71. data/lib/num2words/locales/fa.rb +19 -0
  72. data/lib/num2words/locales/fi.rb +19 -0
  73. data/lib/num2words/locales/fr.rb +19 -0
  74. data/lib/num2words/locales/gu.rb +19 -0
  75. data/lib/num2words/locales/he.rb +19 -0
  76. data/lib/num2words/locales/hi.rb +19 -0
  77. data/lib/num2words/locales/hr.rb +19 -0
  78. data/lib/num2words/locales/hu.rb +19 -0
  79. data/lib/num2words/locales/id.rb +19 -0
  80. data/lib/num2words/locales/it.rb +19 -0
  81. data/lib/num2words/locales/ja.rb +19 -0
  82. data/lib/num2words/locales/kn.rb +19 -0
  83. data/lib/num2words/locales/ko.rb +19 -0
  84. data/lib/num2words/locales/kz.rb +19 -0
  85. data/lib/num2words/locales/lt.rb +19 -0
  86. data/lib/num2words/locales/lv.rb +19 -0
  87. data/lib/num2words/locales/ml.rb +19 -0
  88. data/lib/num2words/locales/mr.rb +19 -0
  89. data/lib/num2words/locales/ms.rb +19 -0
  90. data/lib/num2words/locales/nl.rb +19 -0
  91. data/lib/num2words/locales/no.rb +19 -0
  92. data/lib/num2words/locales/pa.rb +19 -0
  93. data/lib/num2words/locales/pl.rb +19 -0
  94. data/lib/num2words/locales/pt.rb +19 -0
  95. data/lib/num2words/locales/ro.rb +19 -0
  96. data/lib/num2words/locales/ru.rb +22 -0
  97. data/lib/num2words/locales/sk.rb +19 -0
  98. data/lib/num2words/locales/sl.rb +19 -0
  99. data/lib/num2words/locales/sr.rb +19 -0
  100. data/lib/num2words/locales/sv.rb +19 -0
  101. data/lib/num2words/locales/sw.rb +19 -0
  102. data/lib/num2words/locales/ta.rb +19 -0
  103. data/lib/num2words/locales/te.rb +19 -0
  104. data/lib/num2words/locales/th.rb +19 -0
  105. data/lib/num2words/locales/tr.rb +19 -0
  106. data/lib/num2words/locales/uk.rb +19 -0
  107. data/lib/num2words/locales/ur.rb +19 -0
  108. data/lib/num2words/locales/vi.rb +19 -0
  109. data/lib/num2words/locales/zh.rb +19 -0
  110. data/lib/num2words/locales.rb +33 -0
  111. data/lib/num2words/version.rb +1 -1
  112. data/lib/num2words.rb +6 -4
  113. data/num2words.gemspec +2 -0
  114. metadata +120 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ed408cbe7ab8e51dc7ee381eb516bd72a621e9edea1519a4237e2623a3560cf3
4
- data.tar.gz: d9ab27fd319195b92f467d12d6722becd09791669a1639441a959e2a7a370cb0
3
+ metadata.gz: 83b33cb28c58663786a3033b2aefceb7e0478d49d40b1db5b1bee5bc63f0198b
4
+ data.tar.gz: 5293c916f1a5ad2726662cb5973033b23fa5f9b703920b2b4be21f293d47d67e
5
5
  SHA512:
6
- metadata.gz: 4b96c5fa0203e812683760edb0c1ae6f4f6c84966ba831b14f0f79913f8b560bf478d201765b13da0bbe59ba1ad307f3bb7b9f9e7b7041b997e8ccdee03f18b5
7
- data.tar.gz: 9b35076edef208aec9d066dbfa6abf8c42842df9c7616f9396c6baa78aa3c78abd1b5d47da5b9ba630ad27e96a19339b935465ba1579b6e89f2f32cc4a004014
6
+ metadata.gz: c498c97a62099658e43c6d29159b9c6fc5c8d3113e19fdc0fe774966dbacce7084d8e0e5293e1a9b1b9cad5b0441af1ae35efe1922441a19196fd49f0d771756
7
+ data.tar.gz: 53ceaa5a779dd1e7c3e8308d4f21dcafe2a3cde1a775ddb68fb7497be605d551497ee22350c3309feb4f21c648ff9546761c427ff5839ae43e0c01f073febc08
data/.gitignore CHANGED
@@ -16,3 +16,6 @@
16
16
  # Ignore Gemfile.lock in libraries (gems)
17
17
  # In applications, Gemfile.lock should generally be committed.
18
18
  Gemfile.lock
19
+
20
+ # Build artifacts
21
+ *.gem
data/CHANGELOG.md ADDED
@@ -0,0 +1,71 @@
1
+ # Changelog
2
+
3
+ Все заметные изменения в этом проекте будут документироваться в этом файле.
4
+
5
+ Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.0.0/),
6
+ и этот проект использует [Semantic Versioning](https://semver.org/lang/ru/).
7
+
8
+ ---
9
+
10
+ ## [Unreleased]
11
+
12
+ - Добавление новых локалей (планируется расширение поддерживаемых языков).
13
+ - Оптимизация производительности при больших числах.
14
+ - Улучшения документации.
15
+
16
+ ---
17
+
18
+ ## [0.1.3] – 2025-08-20
19
+ ### Added
20
+ - Параметр **`word_case:`** для методов `to_words`, `to_currency` со значениями:
21
+ - `:upper`, `:capitalize`, `:title`, `:downcase`.
22
+ - В английской локали:
23
+ - Поддержка опции **`style: :decimal`**, которая выводит дробную часть через `point` по-цифровому (например: `"twelve point one two"`).
24
+ - Улучшена поддержка стиля **`:fraction`** — дроби преобразуются в слова с корректными окончаниями (`"tenths"`, `"hundredths"` и т.д.).
25
+ - Улучшена читаемость кода:
26
+ - Унифицированные имена переменных (`major_value`, `minor_value`).
27
+ - Вынес функционал `apply_case` для управления регистром.
28
+
29
+ ### Examples after 0.1.3
30
+
31
+ ```ruby
32
+ 10.1.to_words(locale: :ru, word_case: :capitalize)
33
+ # => "Десять целых одна десятая"
34
+
35
+ 5.5.to_words(locale: :en, style: :fraction) # По умолчанию: style = fraction
36
+ # => "five and five tenths"
37
+
38
+ 123.01.to_words(:en, style: :decimal, word_case: :upper)
39
+ # => "ONE HUNDRED TWENTY THREE POINT ZERO ONE"
40
+
41
+ 99.99.to_currency(locale: :ru, word_case: :upper)
42
+ # => "ДЕВЯНОСТО ДЕВЯТЬ РУБЛЕЙ ДЕВЯНОСТО ДЕВЯТЬ КОПЕЕК"
43
+
44
+ 42.to_words(locale: :en, word_case: :title)
45
+ # => "Forty Two"
46
+
47
+ 76.03.to_words(word_case: :downcase) # По умолчанию: word_case = downcase
48
+ "семьдесят шесть целых три сотые"
49
+ ```
50
+
51
+ ## [0.1.2] - 2025-08-19
52
+ ### Fixed
53
+ - Исправлена ошибка с локалью `no` → заменена на корректную `nb` (Norwegian Bokmål).
54
+
55
+ ---
56
+
57
+ ## [0.1.1] - 2025-08-18
58
+ ### Added
59
+ - Добавлены переводы для новых языков (Swahili, Punjabi и др.).
60
+ - В README.md добавлена Markdown-таблица языков с ISO-кодами и валютами.
61
+
62
+ ### Fixed
63
+ - Исправлены ошибки в конфигурации валют для некоторых локалей.
64
+
65
+ ---
66
+
67
+ ## [0.1.0] - 2025-08-17
68
+ ### Added
69
+ - Первая публичная версия гема `num2words`.
70
+ - Поддержка перевода чисел в слова для нескольких языков.
71
+ - Поддержка валют (RUB, USD, EUR и др.).
data/Gemfile CHANGED
@@ -6,6 +6,7 @@ source "https://rubygems.org"
6
6
  gemspec
7
7
 
8
8
  gem "rake", "~> 12.0"
9
+ gem "i18n", "~> 1.10"
9
10
 
10
11
  group :development, :test do
11
12
  gem "rspec", "~> 3.12"
data/README.md CHANGED
@@ -1,26 +1,34 @@
1
- # num2words
1
+ # num2words [![Gem Version](https://badge.fury.io/rb/num2words.svg)](https://badge.fury.io/rb/num2words)
2
2
 
3
3
  📦 **num2words** — Ruby-гем для преобразования чисел в строковое представление (прописью).
4
4
 
5
- ✨ Основные фичи:
6
- - 🇷🇺 Поддержка русского языка (включая склонения)
7
- - 💰 Работа с валютами (рубли и копейки)
8
- - 🔠 Склонения в зависимости от числа (1 рубль, 2 рубля, 5 рублей)
9
- - 📏 Поддержка чисел до **триллиона**
10
- - ⚙️ Опция выбора рода (один/одна, два/две)
11
- - 🚀 Готово для интеграции в Rails
5
+ ---
6
+
7
+ ## Основные возможности
8
+
9
+ - Поддержка **современных локалей** (включая русский и английский) через YAML-файлы `config/locales/*.yml`.
10
+ - Удобные методы:
11
+ - `Num2words.to_words(123)`
12
+ - `Num2words.to_currency(12.34)`
13
+ - Расширение `Integer` и `Float`:
14
+ - `123.to_words(:en)`
15
+ - `12.5.to_currency(locale: :ru)`
16
+ - Короткая запись локали (символом): `123.to_words(:en)`
17
+ - Lazy‑загрузка локалей (`lib/num2words/locales.rb`).
18
+ - Унифицированный `Converter`, делегирующий логику нужной локали.
19
+ - Разряды чисел и валюты настраиваются через I18n YAML.
12
20
 
13
21
  ---
14
22
 
15
- ## 🚀 Установка
23
+ ## 📦 Установка
16
24
 
17
- В Gemfile:
25
+ Добавьте в `Gemfile`:
18
26
 
19
27
  ```ruby
20
28
  gem "num2words"
21
29
  ```
22
30
 
23
- или напрямую:
31
+ Или установите напрямую:
24
32
 
25
33
  ```bash
26
34
  gem install num2words
@@ -28,64 +36,111 @@ gem install num2words
28
36
 
29
37
  ---
30
38
 
31
- ## 💡 Использование
39
+ ## 🚀 Быстрый старт
32
40
 
33
41
  ```ruby
34
42
  require "num2words"
35
43
 
36
- Num2words.to_words(21)
37
- # => "двадцать один"
44
+ # По умолчанию используется I18n.locale или fallback :ru
45
+ Num2words.to_words(21) # => "двадцать один"
46
+ Num2words.to_currency(21.05) # => "двадцать один рубль пять копеек"
38
47
 
39
- Num2words.to_currency(21.01)
40
- # => "двадцать один рубль одна копейка"
48
+ # Short-style:
49
+ 123.to_words # "сто двадцать три"
50
+ 123.to_words(:en) # "one hundred twenty three"
51
+ 123.to_words(locale: :en) # "one hundred twenty three"
41
52
 
42
- Num2words.to_currency(105.15)
43
- # => "сто пять рублей пятнадцать копеек"
53
+ # Валюта:
54
+ 12.5.to_currency(:en) # "twelve rubles fifty kopeks"
55
+ 12.5.to_currency(locale: :ru) # "двенадцать рублей пятьдесят копеек"
44
56
  ```
45
57
 
46
- ---
47
-
48
- ## 🔢 Расширение числовых классов
49
-
50
- Gem добавляет метод `to_words` для объектов `Integer` и `Float`.
51
- Это позволяет удобно переводить числа в текст прямо на самих числах:
58
+ ### Консоль 💻
52
59
 
53
- ```ruby
54
- 123.to_words
55
- # => "сто двадцать три"
60
+ Num2words поддерживает интерактивную консоль для быстрого тестирования.
61
+ Это удобно при работе с разными числами и языками.
56
62
 
57
- 22.to_words(feminine: true)
58
- # => "сто двадцать две"
63
+ #### Запуск консоли
59
64
 
60
- 21.01.to_currency
61
- # => "двадцать один рубль одна копейка"
65
+ ```bash
66
+ bin/console
62
67
  ```
63
68
 
64
- ---
65
-
66
- ## ⚙️ Опции
67
-
68
- ### Род числительных
69
- ```ruby
70
- Num2words.to_words(1)
71
- # => "один"
69
+ После запуска появится приветственное сообщение:
72
70
 
73
- Num2words.to_words(1, feminine: true)
74
- # => "одна"
71
+ ```bash
72
+ 👋 Добро пожаловать в консоль num2words!
73
+ Попробуйте: Num2words.to_words(2025)
74
+ -----------------------------------------------------
75
75
  ```
76
76
 
77
- ### Поддержка больших чисел
78
- ```ruby
79
- Num2words.to_words(1_000_000)
80
- # => "один миллион"
77
+ 👉 Это позволяет проверять работу гема без написания отдельных скриптов.
81
78
 
82
- Num2words.to_words(2_345_678_901)
83
- # => "два миллиарда триста сорок пять миллионов шестьсот семьдесят восемь тысяч девятьсот один"
84
- ```
79
+ ---
80
+
81
+ ## 🌍 Доступные локали (из коробки)
82
+
83
+ | Язык | ISO-код | Валюта | Файл |
84
+ |---------------|---------|-------------|--------|
85
+ | Английский | en | USD ($) | en.yml |
86
+ | Русский | ru | RUB (₽) | ru.yml |
87
+ | Китайский | zh | CNY (¥) | zh.yml |
88
+ | Испанский | es | EUR (€) | es.yml |
89
+ | Французский | fr | EUR (€) | fr.yml |
90
+ | Немецкий | de | EUR (€) | de.yml |
91
+ | Итальянский | it | EUR (€) | it.yml |
92
+ | Португальский | pt | EUR (€) | pt.yml |
93
+ | Арабский | ar | SAR (﷼) | ar.yml |
94
+ | Хинди | hi | INR (₹) | hi.yml |
95
+ | Японский | ja | JPY (¥) | ja.yml |
96
+ | Корейский | ko | KRW (₩) | ko.yml |
97
+ | Турецкий | tr | TRY (₺) | tr.yml |
98
+ | Нидерландский | nl | EUR (€) | nl.yml |
99
+ | Польский | pl | PLN (zł) | pl.yml |
100
+ | Украинский | uk | UAH (₴) | uk.yml |
101
+ | Чешский | cs | CZK (Kč) | cs.yml |
102
+ | Румынский | ro | RON (lei) | ro.yml |
103
+ | Болгарский | bg | BGN (лв) | bg.yml |
104
+ | Белорусский | be | BYN (Br) | be.yml |
105
+ | Казахский | kz | KZT (₸) | kz.yml |
106
+ | Греческий | el | EUR (€) | el.yml |
107
+ | Иврит | he | ILS (₪) | he.yml |
108
+ | Шведский | sv | SEK (kr) | sv.yml |
109
+ | Норвежский | nb | NOK (kr) | nb.yml |
110
+ | Датский | da | DKK (kr) | da.yml |
111
+ | Финский | fi | EUR (€) | fi.yml |
112
+ | Венгерский | hu | HUF (Ft) | hu.yml |
113
+ | Тайский | th | THB (฿) | th.yml |
114
+ | Вьетнамский | vi | VND (₫) | vi.yml |
115
+ | Индонезийский | id | IDR (Rp) | id.yml |
116
+ | Персидский | fa | IRR (﷼) | fa.yml |
117
+ | Сербский | sr | RSD (дин) | sr.yml |
118
+ | Хорватский | hr | EUR (€) | hr.yml |
119
+ | Словацкий | sk | EUR (€) | sk.yml |
120
+ | Словенский | sl | EUR (€) | sl.yml |
121
+ | Литовский | lt | EUR (€) | lt.yml |
122
+ | Латышский | lv | EUR (€) | lv.yml |
123
+ | Эстонский | et | EUR (€) | et.yml |
124
+ | Малайский | ms | MYR (RM) | ms.yml |
125
+ | Бенгальский | bn | BDT (৳) | bn.yml |
126
+ | Урду | ur | PKR (₨) | ur.yml |
127
+ | Тамильский | ta | INR (₹) | ta.yml |
128
+ | Телугу | te | INR (₹) | te.yml |
129
+ | Малаялам | ml | INR (₹) | ml.yml |
130
+ | Каннада | kn | INR (₹) | kn.yml |
131
+ | Маратхи | mr | INR (₹) | mr.yml |
132
+ | Гуджарати | gu | INR (₹) | gu.yml |
133
+ | Панджаби | pa | INR (₹) | pa.yml |
134
+ | Суахили | sw | KES (Sh) | sw.yml |
135
+
136
+ Можно легко добавить новые:
137
+
138
+ - YAML-файл: `config/locales/xx.yml`
139
+ - Обёртка: `lib/num2words/locales/xx.rb`
85
140
 
86
141
  ---
87
142
 
88
- ## 🧪 Тесты
143
+ ## 🧪 Тестирование
89
144
 
90
145
  ```bash
91
146
  bundle exec rspec
@@ -93,44 +148,12 @@ bundle exec rspec
93
148
 
94
149
  ## 📌 Roadmap
95
150
 
96
- - [ ] 🇬🇧 Поддержка английского языка
151
+ - [x] 🇬🇧 Поддержка английского языка
97
152
  - [ ] 💵 Поддержка других валют (USD, EUR)
98
153
  - [ ] 🔠 Опция выбора регистра (строчные/Прописные)
99
154
 
100
155
  ---
101
156
 
102
- ## Консоль 💻
103
-
104
- Num2words поддерживает интерактивную консоль для быстрого тестирования.
105
- Это удобно при работе с разными числами и языками.
106
-
107
- ### Запуск консоли
108
-
109
- ```bash
110
- bin/console
111
- ```
112
-
113
- После запуска появится приветственное сообщение:
114
-
115
- ```bash
116
- 🔢 Добро пожаловать в консоль num2words!
117
- Попробуйте: Num2words.to_words(2025)
118
- -----------------------------------------------------
119
- ```
120
-
121
- 👉 Это позволяет проверять работу гема без написания отдельных скриптов.
122
-
123
- ## 🤝 Вклад
124
-
125
- Pull request’ы приветствуются!
126
-
127
- 1. Сделайте fork
128
- 2. Создайте ветку `git checkout -b feature/my-feature`
129
- 3. Commit: `git commit -m 'Добавил мою фичу'`
130
- 4. PR 🚀
131
-
132
- ---
133
-
134
157
  ## 📜 Лицензия
135
158
 
136
159
  [MIT](LICENSE)
data/bin/console CHANGED
@@ -12,7 +12,7 @@ require "num2words"
12
12
  # Pry.start
13
13
 
14
14
  # Красивое приветствие
15
- puts "🔢 Добро пожаловать в консоль num2words!"
15
+ puts "👋 Добро пожаловать в консоль num2words!"
16
16
  puts "Можете использовать: Num2words.to_words(#{Time.now.year})"
17
17
  puts "-------------------------------------------------------------"
18
18
 
@@ -0,0 +1,36 @@
1
+ ar:
2
+ num2words:
3
+ ones_masc: ["صفر", "واحد", "اثنان", "ثلاثة", "أربعة", "خمسة", "ستة", "سبعة", "ثمانية", "تسعة"]
4
+ ones_fem: ["صفر", "واحدة", "اثنتان", "ثلاث", "أربع", "خمس", "ست", "سبع", "ثمان", "تسع"]
5
+ teens: ["عشرة", "أحد عشر", "اثنا عشر", "ثلاثة عشر", "أربعة عشر", "خمسة عشر", "ستة عشر", "سبعة عشر", "ثمانية عشر", "تسعة عشر"]
6
+ tens: [ "", "", "عشرون", "ثلاثون", "أربعون", "خمسون", "ستون", "سبعون", "ثمانون", "تسعون" ]
7
+ hundreds: ["", "مائة", "مائتان", "ثلاثمائة", "أربعمائة", "خمسمائة", "ستمائة", "سبعمائة", "ثمانمائة", "تسعمائة"]
8
+
9
+ scales:
10
+ - ["", "", ""]
11
+ - ["ألف", "ألفان", "آلاف"]
12
+ - ["مليون", "مليونان", "ملايين"]
13
+ - ["مليار", "ملياران", "مليارات"]
14
+ - ["تريليون", "تريليونان", "تريليونات"]
15
+
16
+ currencies:
17
+ AED:
18
+ name: ["درهم", "درهمان", "دراهم"]
19
+ fractional:
20
+ name: ["فلس", "فلسان", "فلوس"]
21
+ feminine: false
22
+ SAR:
23
+ name: ["ريال", "ريالان", "ريالات"]
24
+ fractional:
25
+ name: ["هللة", "هللتان", "هللات"]
26
+ feminine: true
27
+ USD:
28
+ name: ["دولار", "دولاران", "دولارات"]
29
+ fractional:
30
+ name: ["سنت", "سنتان", "سنتات"]
31
+ feminine: false
32
+ EUR:
33
+ name: ["يورو", "يورو", "يورو"]
34
+ fractional:
35
+ name: ["سنت", "سنتان", "سنتات"]
36
+ feminine: false
@@ -0,0 +1,31 @@
1
+ be:
2
+ num2words:
3
+ ones_masc: ["нуль", "адзін", "два", "тры", "чатыры", "пяць", "шэсць", "сем", "восем", "дзевяць"]
4
+ ones_fem: ["нуль", "адна", "дзве", "тры", "чатыры", "пяць", "шэсць", "сем", "восем", "дзевяць"]
5
+ teens: ["дзесяць", "адзінаццаць", "дванаццаць", "трынаццаць", "чатырнаццаць", "пятнаццаць", "шаснаццаць", "семнаццаць", "васемнаццаць", "дзевятнаццаць"]
6
+ tens: ["", "", "дваццаць", "трыццаць", "сорак", "пяцьдзясят", "шэсцьдзясят", "семдзесят", "восемдзесят", "дзевяноста"]
7
+ hundreds: ["", "сто", "дзвесце", "трыста", "чатырыста", "пяцьсот", "шэсцьсот", "семсот", "восемсот", "дзевяцьсот"]
8
+
9
+ scales:
10
+ - ["", "", ""]
11
+ - ["тысяча", "тысячы", "тысяч"]
12
+ - ["мільён", "мільёны", "мільёнаў"]
13
+ - ["мільярд", "мільярды", "мільярдаў"]
14
+ - ["трыльён", "трыльёны", "трыльёнаў"]
15
+
16
+ currencies:
17
+ BYN:
18
+ name: ["рубель", "рублі", "рублёў"]
19
+ fractional:
20
+ name: ["капейка", "капейкі", "капеек"]
21
+ feminine: true
22
+ EUR:
23
+ name: ["еўра", "еўра", "еўра"]
24
+ fractional:
25
+ name: ["цэнт", "цэнты", "цэнтаў"]
26
+ feminine: false
27
+ USD:
28
+ name: ["долар", "долары", "долараў"]
29
+ fractional:
30
+ name: ["цэнт", "цэнты", "цэнтаў"]
31
+ feminine: false
@@ -0,0 +1,31 @@
1
+ bg:
2
+ num2words:
3
+ ones_masc: ["нула", "един", "два", "три", "четири", "пет", "шест", "седем", "осем", "девет"]
4
+ ones_fem: ["нула", "една", "две", "три", "четири", "пет", "шест", "седем", "осем", "девет"]
5
+ teens: ["десет", "единадесет", "дванадесет", "тринадесет", "четиринадесет", "петнадесет", "шестнадесет", "седемнадесет", "осемнадесет", "деветнадесет"]
6
+ tens: ["", "", "двадесет", "тридесет", "четиридесет", "петдесет", "шестдесет", "седемдесет", "осемдесет", "деветдесет"]
7
+ hundreds: ["", "сто", "двеста", "триста", "четиристотин", "петстотин", "шестстотин", "седемстотин", "осемстотин", "деветстотин"]
8
+
9
+ scales:
10
+ - ["", "", ""]
11
+ - ["хиляда", "хиляди", "хиляди"]
12
+ - ["милион", "милиона", "милиона"]
13
+ - ["милиард", "милиарда", "милиарда"]
14
+ - ["трилион", "трилиона", "трилиона"]
15
+
16
+ currencies:
17
+ BGN:
18
+ name: ["лев", "лева", "лева"]
19
+ fractional:
20
+ name: ["стотинка", "стотинки", "стотинки"]
21
+ feminine: true
22
+ EUR:
23
+ name: ["евро", "евро", "евро"]
24
+ fractional:
25
+ name: ["цент", "цента", "цента"]
26
+ feminine: false
27
+ USD:
28
+ name: ["долар", "долара", "долара"]
29
+ fractional:
30
+ name: ["цент", "цента", "цента"]
31
+ feminine: false
@@ -0,0 +1,26 @@
1
+ bn:
2
+ num2words:
3
+ ones_masc: ["শূন্য", "এক", "দুই", "তিন", "চার", "পাঁচ", "ছয়", "সাত", "আট", "নয়"]
4
+ ones_fem: ["শূন্য", "এক", "দুই", "তিন", "চার", "পাঁচ", "ছয়", "সাত", "আট", "নয়"]
5
+ teens: ["দশ", "এগারো", "বারো", "তেরো", "চৌদ্দ", "পনেরো", "ষোলো", "সতেরো", "আঠারো", "উনিশ"]
6
+ tens: ["", "", "কুড়ি", "তিরিশ", "চল্লিশ", "পঞ্চাশ", "ষাট", "সত্তর", "আশি", "নব্বই"]
7
+ hundreds: ["", "একশো", "দুইশো", "তিনশো", "চারশো", "পাঁচশো", "ছয়শো", "সাতশো", "আটশো", "নয়শো"]
8
+
9
+ scales:
10
+ - ["", "", ""]
11
+ - ["হাজার", "হাজার", "হাজার"]
12
+ - ["লক্ষ", "লক্ষ", "লক্ষ"]
13
+ - ["কোটি", "কোটি", "কোটি"]
14
+ - ["ট্রিলিয়ন", "ট্রিলিয়ন", "ট্রিলিয়ন"]
15
+
16
+ currencies:
17
+ BDT:
18
+ name: ["টাকা", "টাকা", "টাকা"]
19
+ fractional:
20
+ name: ["পয়সা", "পয়সা", "পয়সা"]
21
+ feminine: false
22
+ USD:
23
+ name: ["ডলার", "ডলার", "ডলার"]
24
+ fractional:
25
+ name: ["সেন্ট", "সেন্ট", "সেন্ট"]
26
+ feminine: false
@@ -0,0 +1,31 @@
1
+ cs:
2
+ num2words:
3
+ ones_masc: ["nula", "jeden", "dva", "tři", "čtyři", "pět", "šest", "sedm", "osm", "devět"]
4
+ ones_fem: ["nula", "jedna", "dvě", "tři", "čtyři", "pět", "šest", "sedm", "osm", "devět"]
5
+ teens: ["deset", "jedenáct", "dvanáct", "třináct", "čtrnáct", "patnáct", "šestnáct", "sedmnáct", "osmnáct", "devatenáct"]
6
+ tens: ["", "", "dvacet", "třicet", "čtyřicet", "padesát", "šedesát", "sedmdesát", "osmdesát", "devadesát"]
7
+ hundreds: ["", "sto", "dvě stě", "tři sta", "čtyři sta", "pět set", "šest set", "sedm set", "osm set", "devět set"]
8
+
9
+ scales:
10
+ - ["", "", ""]
11
+ - ["tisíc", "tisíce", "tisíc"]
12
+ - ["milion", "miliony", "milionů"]
13
+ - ["miliarda", "miliardy", "miliard"]
14
+ - ["bilion", "biliony", "bilionů"]
15
+
16
+ currencies:
17
+ CZK:
18
+ name: ["koruna", "koruny", "korun"]
19
+ fractional:
20
+ name: ["haléř", "haléře", "haléřů"]
21
+ feminine: true
22
+ EUR:
23
+ name: ["euro", "eura", "eur"]
24
+ fractional:
25
+ name: ["cent", "centy", "centů"]
26
+ feminine: false
27
+ USD:
28
+ name: ["dolar", "dolary", "dolarů"]
29
+ fractional:
30
+ name: ["cent", "centy", "centů"]
31
+ feminine: false
@@ -0,0 +1,31 @@
1
+ da:
2
+ num2words:
3
+ ones_masc: ["nul", "en", "to", "tre", "fire", "fem", "seks", "syv", "otte", "ni"]
4
+ ones_fem: ["nul", "en", "to", "tre", "fire", "fem", "seks", "syv", "otte", "ni"]
5
+ teens: ["ti", "elleve", "tolv", "tretten", "fjorten", "femten", "seksten", "sytten", "atten", "nitten"]
6
+ tens: ["", "", "tyve", "tredive", "fyrre", "halvtreds", "tres", "halvfjerds", "firs", "halvfems"]
7
+ hundreds: ["", "hundrede", "to hundrede", "tre hundrede", "fire hundrede", "fem hundrede", "seks hundrede", "syv hundrede", "otte hundrede", "ni hundrede"]
8
+
9
+ scales:
10
+ - ["", "", ""]
11
+ - ["tusind", "tusind", "tusind"]
12
+ - ["million", "millioner", "millioner"]
13
+ - ["milliard", "milliarder", "milliarder"]
14
+ - ["billion", "billioner", "billioner"]
15
+
16
+ currencies:
17
+ DKK:
18
+ name: ["krone", "kroner", "kroner"]
19
+ fractional:
20
+ name: ["øre", "øre", "øre"]
21
+ feminine: false
22
+ EUR:
23
+ name: ["euro", "euro", "euro"]
24
+ fractional:
25
+ name: ["cent", "cent", "cent"]
26
+ feminine: false
27
+ USD:
28
+ name: ["dollar", "dollars", "dollars"]
29
+ fractional:
30
+ name: ["cent", "cent", "cent"]
31
+ feminine: false
@@ -0,0 +1,31 @@
1
+ de:
2
+ num2words:
3
+ ones_masc: ["null", "eins", "zwei", "drei", "vier", "fünf", "sechs", "sieben", "acht", "neun"]
4
+ ones_fem: ["null", "eine", "zwei", "drei", "vier", "fünf", "sechs", "sieben", "acht", "neun"]
5
+ teens: ["zehn", "elf", "zwölf", "dreizehn", "vierzehn", "fünfzehn", "sechzehn", "siebzehn", "achtzehn", "neunzehn"]
6
+ tens: ["", "", "zwanzig", "dreißig", "vierzig", "fünfzig", "sechzig", "siebzig", "achtzig", "neunzig"]
7
+ hundreds: ["", "einhundert", "zweihundert", "dreihundert", "vierhundert", "fünfhundert", "sechshundert", "siebenhundert", "achthundert", "neunhundert"]
8
+
9
+ scales:
10
+ - ["", "", ""]
11
+ - ["tausend", "tausend", "tausend"]
12
+ - ["Million", "Millionen", "Millionen"]
13
+ - ["Milliarde", "Milliarden", "Milliarden"]
14
+ - ["Billion", "Billionen", "Billionen"]
15
+
16
+ currencies:
17
+ EUR:
18
+ name: ["Euro", "Euro", "Euro"]
19
+ fractional:
20
+ name: ["Cent", "Cent", "Cent"]
21
+ feminine: false
22
+ USD:
23
+ name: ["US-Dollar", "US-Dollar", "US-Dollar"]
24
+ fractional:
25
+ name: ["Cent", "Cent", "Cent"]
26
+ feminine: false
27
+ CHF:
28
+ name: ["Franken", "Franken", "Franken"]
29
+ fractional:
30
+ name: ["Rappen", "Rappen", "Rappen"]
31
+ feminine: false
@@ -0,0 +1,36 @@
1
+ el:
2
+ num2words:
3
+ ones_masc: ["μηδέν", "ένας", "δύο", "τρία", "τέσσερα", "πέντε", "έξι", "επτά", "οκτώ", "εννέα"]
4
+ ones_fem: ["μηδέν", "μία", "δύο", "τρεις", "τέσσερις", "πέντε", "έξι", "επτά", "οκτώ", "εννέα"]
5
+ teens: ["δέκα", "έντεκα", "δώδεκα", "δεκατρία", "δεκατέσσερα", "δεκαπέντε", "δεκαέξι", "δεκαεπτά", "δεκαοκτώ", "δεκαεννέα"]
6
+ tens: ["", "", "είκοσι", "τριάντα", "σαράντα", "πενήντα", "εξήντα", "εβδομήντα", "ογδόντα", "ενενήντα"]
7
+ hundreds: ["", "εκατό", "διακόσια", "τριακόσια", "τετρακόσια", "πεντακόσια", "εξακόσια", "επτακόσια", "οκτακόσια", "εννιακόσια"]
8
+
9
+ scales:
10
+ - ["", "", ""]
11
+ - ["χιλιάδα", "χιλιάδες", "χιλιάδες"]
12
+ - ["εκατομμύριο", "εκατομμύρια", "εκατομμύρια"]
13
+ - ["δισεκατομμύριο", "δισεκατομμύρια", "δισεκατομμύρια"]
14
+ - ["τρισεκατομμύριο", "τρισεκατομμύρια", "τρισεκατομμύρια"]
15
+
16
+ currencies:
17
+ EUR:
18
+ name: ["ευρώ", "ευρώ", "ευρώ"]
19
+ fractional:
20
+ name: ["λεπτό", "λεπτά", "λεπτά"]
21
+ feminine: false
22
+ USD:
23
+ name: ["δολάριο", "δολάρια", "δολάρια"]
24
+ fractional:
25
+ name: ["σεντ", "σεντ", "σεντ"]
26
+ feminine: false
27
+ GBP:
28
+ name: ["λίρα", "λίρες", "λίρες"]
29
+ fractional:
30
+ name: ["πέννα", "πέννες", "πέννες"]
31
+ feminine: true
32
+ RUB:
33
+ name: ["ρούβλι", "ρούβλια", "ρούβλια"]
34
+ fractional:
35
+ name: ["καπίκι", "καπίκια", "καπίκια"]
36
+ feminine: false