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.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/CHANGELOG.md +71 -0
- data/Gemfile +1 -0
- data/README.md +105 -82
- data/bin/console +1 -1
- data/config/locales/ar.yml +36 -0
- data/config/locales/be.yml +31 -0
- data/config/locales/bg.yml +31 -0
- data/config/locales/bn.yml +26 -0
- data/config/locales/cs.yml +31 -0
- data/config/locales/da.yml +31 -0
- data/config/locales/de.yml +31 -0
- data/config/locales/el.yml +36 -0
- data/config/locales/en.yml +41 -0
- data/config/locales/es.yml +31 -0
- data/config/locales/et.yml +26 -0
- data/config/locales/fa.yml +31 -0
- data/config/locales/fi.yml +26 -0
- data/config/locales/fr.yml +31 -0
- data/config/locales/gu.yml +26 -0
- data/config/locales/he.yml +36 -0
- data/config/locales/hi.yml +31 -0
- data/config/locales/hr.yml +31 -0
- data/config/locales/hu.yml +31 -0
- data/config/locales/id.yml +31 -0
- data/config/locales/it.yml +31 -0
- data/config/locales/ja.yml +31 -0
- data/config/locales/kn.yml +26 -0
- data/config/locales/ko.yml +31 -0
- data/config/locales/kz.yml +36 -0
- data/config/locales/lt.yml +26 -0
- data/config/locales/lv.yml +26 -0
- data/config/locales/ml.yml +26 -0
- data/config/locales/mr.yml +26 -0
- data/config/locales/ms.yml +26 -0
- data/config/locales/nb.yml +36 -0
- data/config/locales/nl.yml +31 -0
- data/config/locales/pa.yml +26 -0
- data/config/locales/pl.yml +31 -0
- data/config/locales/pt.yml +31 -0
- data/config/locales/ro.yml +31 -0
- data/config/locales/ru.yml +36 -0
- data/config/locales/sk.yml +26 -0
- data/config/locales/sl.yml +26 -0
- data/config/locales/sr.yml +31 -0
- data/config/locales/sv.yml +33 -0
- data/config/locales/sw.yml +26 -0
- data/config/locales/ta.yml +26 -0
- data/config/locales/te.yml +26 -0
- data/config/locales/th.yml +31 -0
- data/config/locales/tr.yml +31 -0
- data/config/locales/uk.yml +31 -0
- data/config/locales/ur.yml +26 -0
- data/config/locales/vi.yml +31 -0
- data/config/locales/zh.yml +21 -0
- data/lib/num2words/converter.rb +97 -59
- data/lib/num2words/core_ext.rb +10 -6
- data/lib/num2words/i18n.rb +30 -0
- data/lib/num2words/locales/ar.rb +19 -0
- data/lib/num2words/locales/be.rb +19 -0
- data/lib/num2words/locales/bg.rb +19 -0
- data/lib/num2words/locales/bn.rb +19 -0
- data/lib/num2words/locales/cs.rb +19 -0
- data/lib/num2words/locales/da.rb +19 -0
- data/lib/num2words/locales/de.rb +19 -0
- data/lib/num2words/locales/el.rb +19 -0
- data/lib/num2words/locales/en.rb +22 -0
- data/lib/num2words/locales/es.rb +19 -0
- data/lib/num2words/locales/et.rb +19 -0
- data/lib/num2words/locales/fa.rb +19 -0
- data/lib/num2words/locales/fi.rb +19 -0
- data/lib/num2words/locales/fr.rb +19 -0
- data/lib/num2words/locales/gu.rb +19 -0
- data/lib/num2words/locales/he.rb +19 -0
- data/lib/num2words/locales/hi.rb +19 -0
- data/lib/num2words/locales/hr.rb +19 -0
- data/lib/num2words/locales/hu.rb +19 -0
- data/lib/num2words/locales/id.rb +19 -0
- data/lib/num2words/locales/it.rb +19 -0
- data/lib/num2words/locales/ja.rb +19 -0
- data/lib/num2words/locales/kn.rb +19 -0
- data/lib/num2words/locales/ko.rb +19 -0
- data/lib/num2words/locales/kz.rb +19 -0
- data/lib/num2words/locales/lt.rb +19 -0
- data/lib/num2words/locales/lv.rb +19 -0
- data/lib/num2words/locales/ml.rb +19 -0
- data/lib/num2words/locales/mr.rb +19 -0
- data/lib/num2words/locales/ms.rb +19 -0
- data/lib/num2words/locales/nl.rb +19 -0
- data/lib/num2words/locales/no.rb +19 -0
- data/lib/num2words/locales/pa.rb +19 -0
- data/lib/num2words/locales/pl.rb +19 -0
- data/lib/num2words/locales/pt.rb +19 -0
- data/lib/num2words/locales/ro.rb +19 -0
- data/lib/num2words/locales/ru.rb +22 -0
- data/lib/num2words/locales/sk.rb +19 -0
- data/lib/num2words/locales/sl.rb +19 -0
- data/lib/num2words/locales/sr.rb +19 -0
- data/lib/num2words/locales/sv.rb +19 -0
- data/lib/num2words/locales/sw.rb +19 -0
- data/lib/num2words/locales/ta.rb +19 -0
- data/lib/num2words/locales/te.rb +19 -0
- data/lib/num2words/locales/th.rb +19 -0
- data/lib/num2words/locales/tr.rb +19 -0
- data/lib/num2words/locales/uk.rb +19 -0
- data/lib/num2words/locales/ur.rb +19 -0
- data/lib/num2words/locales/vi.rb +19 -0
- data/lib/num2words/locales/zh.rb +19 -0
- data/lib/num2words/locales.rb +33 -0
- data/lib/num2words/version.rb +1 -1
- data/lib/num2words.rb +6 -4
- data/num2words.gemspec +2 -0
- metadata +120 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83b33cb28c58663786a3033b2aefceb7e0478d49d40b1db5b1bee5bc63f0198b
|
4
|
+
data.tar.gz: 5293c916f1a5ad2726662cb5973033b23fa5f9b703920b2b4be21f293d47d67e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c498c97a62099658e43c6d29159b9c6fc5c8d3113e19fdc0fe774966dbacce7084d8e0e5293e1a9b1b9cad5b0441af1ae35efe1922441a19196fd49f0d771756
|
7
|
+
data.tar.gz: 53ceaa5a779dd1e7c3e8308d4f21dcafe2a3cde1a775ddb68fb7497be605d551497ee22350c3309feb4f21c648ff9546761c427ff5839ae43e0c01f073febc08
|
data/.gitignore
CHANGED
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
data/README.md
CHANGED
@@ -1,26 +1,34 @@
|
|
1
|
-
# num2words
|
1
|
+
# num2words [](https://badge.fury.io/rb/num2words)
|
2
2
|
|
3
3
|
📦 **num2words** — Ruby-гем для преобразования чисел в строковое представление (прописью).
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
-
|
10
|
-
-
|
11
|
-
-
|
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
|
-
|
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
|
-
|
37
|
-
# => "двадцать один"
|
44
|
+
# По умолчанию используется I18n.locale или fallback :ru
|
45
|
+
Num2words.to_words(21) # => "двадцать один"
|
46
|
+
Num2words.to_currency(21.05) # => "двадцать один рубль пять копеек"
|
38
47
|
|
39
|
-
|
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
|
-
|
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
|
-
|
54
|
-
|
55
|
-
# => "сто двадцать три"
|
60
|
+
Num2words поддерживает интерактивную консоль для быстрого тестирования.
|
61
|
+
Это удобно при работе с разными числами и языками.
|
56
62
|
|
57
|
-
|
58
|
-
# => "сто двадцать две"
|
63
|
+
#### Запуск консоли
|
59
64
|
|
60
|
-
|
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
|
-
|
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
|
-
|
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 "
|
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
|