num2words 0.1.4 → 0.1.6

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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/Gemfile +0 -1
  4. data/README.md +85 -23
  5. data/config/locales/ar.yml +176 -17
  6. data/config/locales/be.yml +182 -15
  7. data/config/locales/bg.yml +183 -16
  8. data/config/locales/bn.yml +185 -12
  9. data/config/locales/cs.yml +180 -13
  10. data/config/locales/da.yml +182 -15
  11. data/config/locales/de.yml +181 -14
  12. data/config/locales/el.yml +183 -21
  13. data/config/locales/en.yml +145 -18
  14. data/config/locales/es.yml +180 -13
  15. data/config/locales/et.yml +185 -13
  16. data/config/locales/fa.yml +179 -12
  17. data/config/locales/fi.yml +180 -8
  18. data/config/locales/fr.yml +180 -13
  19. data/config/locales/gu.yml +182 -10
  20. data/config/locales/he.yml +182 -20
  21. data/config/locales/hi.yml +182 -15
  22. data/config/locales/hr.yml +181 -14
  23. data/config/locales/hu.yml +180 -13
  24. data/config/locales/id.yml +179 -12
  25. data/config/locales/it.yml +181 -14
  26. data/config/locales/ja.yml +188 -21
  27. data/config/locales/ru.yml +148 -15
  28. data/lib/num2words/config.rb +62 -0
  29. data/lib/num2words/converter.rb +115 -29
  30. data/lib/num2words/core_ext.rb +12 -0
  31. data/lib/num2words/locales/ar.rb +10 -2
  32. data/lib/num2words/locales/be.rb +10 -2
  33. data/lib/num2words/locales/bg.rb +10 -2
  34. data/lib/num2words/locales/bn.rb +10 -2
  35. data/lib/num2words/locales/cs.rb +10 -2
  36. data/lib/num2words/locales/da.rb +10 -2
  37. data/lib/num2words/locales/de.rb +10 -2
  38. data/lib/num2words/locales/el.rb +10 -2
  39. data/lib/num2words/locales/en.rb +4 -4
  40. data/lib/num2words/locales/es.rb +10 -2
  41. data/lib/num2words/locales/et.rb +10 -2
  42. data/lib/num2words/locales/fa.rb +10 -2
  43. data/lib/num2words/locales/fi.rb +10 -2
  44. data/lib/num2words/locales/fr.rb +10 -2
  45. data/lib/num2words/locales/gu.rb +10 -2
  46. data/lib/num2words/locales/he.rb +10 -2
  47. data/lib/num2words/locales/hi.rb +10 -2
  48. data/lib/num2words/locales/hr.rb +10 -2
  49. data/lib/num2words/locales/hu.rb +10 -2
  50. data/lib/num2words/locales/id.rb +10 -2
  51. data/lib/num2words/locales/it.rb +10 -2
  52. data/lib/num2words/locales/ja.rb +10 -2
  53. data/lib/num2words/locales/ru.rb +4 -4
  54. data/lib/num2words/version.rb +1 -1
  55. data/lib/num2words.rb +1 -0
  56. metadata +4 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1809289bec98157e0b78b8bbe9f18b5fab8fa5f111293105e89b5747d866e43d
4
- data.tar.gz: 1e5cfdd50831c7e9f75a8216488268564cda27b7972c70feca0a9d34c05c907b
3
+ metadata.gz: 9e2d482146b9f5057e198d38698c764d1db57dcf8ab5d026d5b5d69ed0e05ad2
4
+ data.tar.gz: 6ca3c5f914998c0fbbf8705effd13030ec2744bfb44d7bba071f62e40bcddb0e
5
5
  SHA512:
6
- metadata.gz: 353353c876466e244bf2748073d7a3534a5ead257bc8d7f70f35d975a45762f4d2e0023d2cbf6e55136587974278093987fd2bba4d20ec972f33bedc9a1820c2
7
- data.tar.gz: 8037de95f9896db0f4b00aa16710836de2337416c646dfc40900f3021a019aba9c04ae7f06842ebc6be73904aca9156258ee766992a861196a3274008ca13ab4
6
+ metadata.gz: bb5de9862a6a78186df96c583a39dd81213d2178613fd9f485b4e2ef131c1cd2409a442b8d12ac241cf69172f5195cda2c2234f8e71fda39cc8b8de6d998e3ea
7
+ data.tar.gz: 8eebe4f2894050e4e16ffdb086984e2c35dd790ad9d91c86eba045814f9a73be974e05bde26728397c230b4da58928d37174e9209f5929a326575e7cad13a30e
data/CHANGELOG.md CHANGED
@@ -15,6 +15,29 @@
15
15
 
16
16
  ---
17
17
 
18
+ ## [0.1.5] - 2025-08-22
19
+ ### Added
20
+ - Расширение `Time#to_words`, возможность преобразовать строки с временем
21
+ ```ruby
22
+ "14:35:42".to_words(:ru)
23
+ # => "четырнадцать часов тридцать пять минут сорок две секунды"
24
+ ```
25
+ - Добавлен параметр `short: true` для `time` и `datetime`
26
+ Возвращает краткий вариант записи для time (`HH:MM`)
27
+ ```ruby
28
+ "14:35:42".to_words(:ru, short: true)
29
+ # => "четырнадцать часов тридцать пять минут"
30
+ ```
31
+ Возвращает краткий вариант записи для datetime на выбор - дата или время
32
+ ```ruby
33
+ "2024-08-21 14:35:42".to_words(:ru, :time)
34
+ # => "двадцать первого августа две тысячи двадцать четвёртого года"
35
+ ```
36
+ - Поддержка перевода времени в разных форматах:
37
+ - `:hours_only` — только часы
38
+ - `:hours_minutes` — часы и минуты
39
+ - `:hours_minutes_seconds` — часы, минуты и секунды
40
+
18
41
  ## [0.1.4] - 2025-08-21
19
42
  ### Added
20
43
  - Расширение `String#to_words`, возможность преобразовать строки с датами
data/Gemfile CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- # Specify your gem's dependencies in num2words.gemspec
6
5
  gemspec
7
6
 
8
7
  gem "rake", "~> 12.0"
data/README.md CHANGED
@@ -6,17 +6,20 @@
6
6
 
7
7
  ## ✨ Основные возможности
8
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.
9
+ - Поддержка **чисел, времени, дат и валют**:
10
+ - `Integer` → `123.to_words(:ru)` → `"сто двадцать три"`
11
+ - `Float` → `12.5.to_words(:en)` → `"twelve and five tenths"`
12
+ - `Time / DateTime` → `"2024-08-21 14:35:42".to_words(:ru, :time)` → `"четырнадцать часов тридцать пять минут сорок две секунды"`
13
+ - `Float.to_currency` `12.5.to_currency(:ru)` `"двенадцать рублей пятьдесят копеек"`
14
+ - Кастомизация вывода:
15
+ - Краткая форма (`short: true`)`"четырнадцать часов тридцать пять минут"`
16
+ - Форматы времени (`:hours_only`, `:hours_minutes`, `:hours_minutes_seconds`)
17
+ - Выбор локали: `:ru`, `:en` (из коробки), легко расширить YAML-файлами
18
+ - Расширение **Integer**, **Float**, **Date**, **Time**, **DateTime** удобными методами.
19
+ - Локали инициализируются только при обращении к ним (`lazy loading`) через `lib/num2words/locales.rb`.
20
+ - Унифицированный `Converter`, делегирующий работу нужной локали.
21
+ - Настраиваемые правила разрядов чисел и валют через I18n YAML.
22
+
20
23
 
21
24
  ---
22
25
 
@@ -40,21 +43,64 @@ gem install num2words
40
43
 
41
44
  ```ruby
42
45
  require "num2words"
46
+ ```
47
+
48
+ ### 🔢 Числа
49
+ ```ruby
50
+ # Integer
51
+ 123.to_words(:ru) # => "сто двадцать три"
52
+ 123.to_words(:en) # => "one hundred twenty three"
53
+
54
+ # Float
55
+ 45.67.to_words(:ru) # => "сорок пять целых шестьдесят семь сотых"
56
+ 45.67.to_words(:en) # => "forty five and sixty seven hundredths"
57
+ ```
43
58
 
44
- # По умолчанию используется I18n.locale или fallback :ru
45
- Num2words.to_words(21) # => "двадцать один"
46
- Num2words.to_currency(21.05) # => "двадцать один рубль пять копеек"
59
+ ### 💰 Валюта
60
+ ```ruby
61
+ 21.05.to_currency(:ru) # => "двадцать один рубль пять копеек"
62
+ 12.5.to_currency(:en) # => "twelve dollars fifty cents"
63
+ ```
47
64
 
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"
65
+ ### 📅 Дата
66
+ ```ruby
67
+ "2024-08-21".to_words(:ru, :date)
68
+ # => "двадцать первое августа две тысячи двадцать четвертого года"
52
69
 
53
- # Валюта:
54
- 12.5.to_currency(:en) # "twelve rubles fifty kopeks"
55
- 12.5.to_currency(locale: :ru) # "двенадцать рублей пятьдесят копеек"
70
+ "2024-08-21".to_words(:en, :date)
71
+ # => "the twenty-first of August, two thousand twenty four"
56
72
  ```
57
73
 
74
+ ### ⏰ Время
75
+ ```ruby
76
+ "14:35:42".to_words(:ru, :time)
77
+ # => "четырнадцать часов тридцать пять минут сорок две секунды"
78
+
79
+ "14:35:42".to_words(:ru, :time, short: true) # или короткая запись: "14:35:42".to_words(:ru, :time, true)
80
+ # => "четырнадцать часов тридцать пять минут"
81
+
82
+ "14:35:42".to_words(:en, :time)
83
+ # => "fourteen hours thirty five minutes forty two seconds"
84
+ ```
85
+
86
+ ### 🕓 Дата и время
87
+
88
+ ```ruby
89
+ "2024-08-21 14:35:42".to_words(:ru)
90
+ # => "двадцать первого августа две тысячи двадцать четвёртого года, четырнадцать часов тридцать пять минут сорок две секунды"
91
+
92
+ "2024-08-21 14:35:42".to_words(:en)
93
+ # => "the twenty-first of August, two thousand twenty four at fourteen hours thirty five minutes forty two seconds"
94
+ ```
95
+
96
+ ### ⚙️ Опции
97
+
98
+ - `locale: :ru | :en` — язык (по умолчанию берётся I18n.locale или :ru).
99
+ - `:date, :time, :datetime` — формат преобразования для строк.
100
+ - `short: true` — краткая форма для даты/времени.
101
+ - `Num2words.to_words(number, locale: :en)` — универсальный способ вызова без расширения базовых классов.
102
+ - `Num2words.to_currency(number)` — преобразование число в валюту.
103
+
58
104
  ### Консоль 💻
59
105
 
60
106
  Num2words поддерживает интерактивную консоль для быстрого тестирования.
@@ -138,6 +184,20 @@ bin/console
138
184
  - YAML-файл: `config/locales/xx.yml`
139
185
  - Обёртка: `lib/num2words/locales/xx.rb`
140
186
 
187
+ ### 🌍 Поддержка локалей (ru / en)
188
+
189
+ | Возможность | ru | en |
190
+ | ----------------------------- | --------- | ---------- |
191
+ | 🔢 Числа (Integer) | ✔ | ✔ |
192
+ | 🔢 Числа (Float) | ✔ | ✔ |
193
+ | 💰 Валюта | ✔ (рубли) | ✔ (rubles) |
194
+ | 💰 Валюта (short) | ✖ | ✖ |
195
+ | 💱 Выбор валюты (USD/EUR/…) | ✖ | ✖ |
196
+ | 📅 Дата | ✔ | ✔ |
197
+ | ⏰ Время | ✔ | ✔ |
198
+ | 🕓 Дата и время | ✔ | ✔ |
199
+ | 📝 Краткая форма даты/времени | ✔ | ✔ |
200
+
141
201
  ---
142
202
 
143
203
  ## 🧪 Тестирование
@@ -149,8 +209,10 @@ bundle exec rspec
149
209
  ## 📌 Roadmap
150
210
 
151
211
  - [x] 🇬🇧 Поддержка английского языка
152
- - [ ] 💵 Поддержка других валют (USD, EUR)
153
- - [ ] 🔠 Опция выбора регистра (строчные/Прописные)
212
+ - [x] 🔠 Опция выбора регистра (строчные/Прописные)
213
+ - [x] Краткая форма даты/времени
214
+ - [ ] 💵 Поддержка других валют (USD, EUR и т.д)
215
+ - [ ] 💰 Краткая форма валюты
154
216
 
155
217
  ---
156
218
 
@@ -13,24 +13,183 @@ ar:
13
13
  - ["مليار", "ملياران", "مليارات"]
14
14
  - ["تريليون", "تريليونان", "تريليونات"]
15
15
 
16
+ grammar:
17
+ minus: "ناقص"
18
+ conjunction: "فاصلة"
19
+ default_fraction: "كسور"
20
+ fractions:
21
+ 10: ["عُشر", "أعشار", "أعشار"]
22
+ 100: ["مِئويّة", "مِئويّتان", "مِئويّات"]
23
+ 1000: ["ألفيّة", "ألفيّتان", "ألفيّات"]
24
+ 10000: ["عُشر الألف", "أعشار الألف", "أعشار الألف"]
25
+ 100000: ["مِئويّة الألف", "مِئويّتان من الألف", "مِئويّات الألف"]
26
+ 1000000: ["مليونِيّة", "مليونِيّتان", "مليونِيّات"]
27
+ 10000000: ["عُشر المليون", "أعشار المليون", "أعشار المليون"]
28
+ 100000000: ["مِئويّة المليون", "مِئويّتان من المليون", "مِئويّات المليون"]
29
+ 1000000000: ["مِليارِيّة", "مِليارِيّتان", "مِليارِيّات"]
30
+
31
+ numbers:
32
+ ordinals:
33
+ nominative:
34
+ masculine: ["الأول", "الثاني", "الثالث", "الرابع", "الخامس", "السادس", "السابع", "الثامن", "التاسع",
35
+ "العاشر", "الحادي عشر", "الثاني عشر", "الثالث عشر", "الرابع عشر", "الخامس عشر", "السادس عشر", "السابع عشر", "الثامن عشر", "التاسع عشر",
36
+ "العشرون", "الحادي والعشرون", "الثاني والعشرون", "الثالث والعشرون", "الرابع والعشرون", "الخامس والعشرون", "السادس والعشرون", "السابع والعشرون", "الثامن والعشرون", "التاسع والعشرون",
37
+ "الثلاثون", "الحادي والثلاثون"]
38
+ feminine: ["الأولى", "الثانية", "الثالثة", "الرابعة", "الخامسة", "السادسة", "السابعة", "الثامنة", "التاسعة",
39
+ "العاشرة", "الحادية عشرة", "الثانية عشرة", "الثالثة عشرة", "الرابعة عشرة", "الخامسة عشرة", "السادسة عشرة", "السابعة عشرة", "الثامنة عشرة", "التاسعة عشرة",
40
+ "العشرون", "الحادية والعشرون", "الثانية والعشرون", "الثالثة والعشرون", "الرابعة والعشرون", "الخامسة والعشرون", "السادسة والعشرون", "السابعة والعشرون", "الثامنة والعشرون", "التاسعة والعشرون",
41
+ "الثلاثون", "الحادية والثلاثون"]
42
+ default:
43
+ masculine: ["الأول", "الثاني", "الثالث", "الرابع", "الخامس", "السادس", "السابع", "الثامن", "التاسع",
44
+ "العاشر", "الحادي عشر", "الثاني عشر", "الثالث عشر", "الرابع عشر", "الخامس عشر", "السادس عشر", "السابع عشر", "الثامن عشر", "التاسع عشر",
45
+ "العشرون", "الحادي والعشرون", "الثاني والعشرون", "الثالث والعشرون", "الرابع والعشرون", "الخامس والعشرون", "السادس والعشرون", "السابع والعشرون", "الثامن والعشرون", "التاسع والعشرون",
46
+ "الثلاثون", "الحادي والثلاثون"]
47
+
48
+ datetime:
49
+ template: "%{date}، %{time}"
50
+ date:
51
+ template:
52
+ default: "%{day} %{month} %{year} م"
53
+ nominative: "%{day} %{month} %{year} م"
54
+ months:
55
+ default: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"]
56
+ nominative: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"]
57
+
58
+ time:
59
+ template:
60
+ hours_only: "%{hours}"
61
+ hours_minutes: "%{hours} %{minutes}"
62
+ hours_minutes_seconds: "%{hours} %{minutes} %{seconds}"
63
+ words:
64
+ hour: ["ساعة", "ساعتان", "ساعات"]
65
+ minute: ["دقيقة", "دقيقتان", "دقائق"]
66
+ second: ["ثانية", "ثانيتان", "ثوانٍ"]
67
+
68
+ warnings:
69
+ currency_not_available: "العملة %{currency} غير متوفرة للغة %{lang}، يتم استخدام العملة الحالية."
70
+
16
71
  currencies:
17
- AED:
18
- name: ["درهم", "درهمان", "دراهم"]
19
- fractional:
20
- name: ["فلس", "فلسان", "فلوس"]
21
- feminine: false
22
72
  SAR:
23
- name: ["ريال", "ريالان", "ريالات"]
24
- fractional:
25
- name: ["هللة", "هللتان", "هللات"]
26
- feminine: true
73
+ major_unit: [ "ريال", "ريالان", "ريالات" ]
74
+ minor_unit: [ "هللة", "هللتان", "هللات" ]
75
+ symbol: ""
76
+ IRR:
77
+ major_unit: [ "ريال إيراني", "ريالان إيرانيان", "ريالات إيرانية" ]
78
+ minor_unit: [ "دينام", "دينامان", "دينامات" ]
79
+ symbol: "﷼"
27
80
  USD:
28
- name: ["دولار", "دولاران", "دولارات"]
29
- fractional:
30
- name: ["سنت", "سنتان", "سنتات"]
31
- feminine: false
81
+ major_unit: [ "دولار", "دولاران", "دولارات" ]
82
+ minor_unit: [ "سنت", "سنتان", "سنتات" ]
83
+ symbol: "$"
32
84
  EUR:
33
- name: ["يورو", "يورو", "يورو"]
34
- fractional:
35
- name: ["سنت", "سنتان", "سنتات"]
36
- feminine: false
85
+ major_unit: [ "يورو", "يورو", "يورو" ]
86
+ minor_unit: [ "سنت", "سنتان", "سنتات" ]
87
+ symbol: ""
88
+ GBP:
89
+ major_unit: [ "جنيه إسترليني", "جنيهان إسترلينيان", "جنيهات إسترلينية" ]
90
+ minor_unit: [ "بنس", "بنسان", "بنسات" ]
91
+ symbol: "£"
92
+ CNY:
93
+ major_unit: [ "يوان", "يوانان", "يوان" ]
94
+ minor_unit: [ "فن", "فنان", "فنات" ]
95
+ symbol: "¥"
96
+ JPY:
97
+ major_unit: [ "ين", "ينان", "ينات" ]
98
+ minor_unit: [ "سن", "سنان", "سنات" ]
99
+ symbol: "¥"
100
+ RUB:
101
+ major_unit: [ "روبل", "روبلان", "روبلات" ]
102
+ minor_unit: [ "كوبيك", "كوبيكان", "كوبيكات" ]
103
+ symbol: "₽"
104
+ KRW:
105
+ major_unit: [ "وون", "وونان", "وونات" ]
106
+ minor_unit: [ "تشون", "تشونان", "تشونات" ]
107
+ symbol: "₩"
108
+ TRY:
109
+ major_unit: [ "ليرة", "ليرتان", "ليرات" ]
110
+ minor_unit: [ "قرش", "قرشان", "قروش" ]
111
+ symbol: "₺"
112
+ PLN:
113
+ major_unit: [ "زلوتي", "زلوتيان", "زلوتيات" ]
114
+ minor_unit: [ "غروش", "غروشان", "غروشات" ]
115
+ symbol: "zł"
116
+ UAH:
117
+ major_unit: [ "هريفنيا", "هريفنيتان", "هريفنيات" ]
118
+ minor_unit: [ "كوبيك", "كوبيكان", "كوبيكات" ]
119
+ symbol: "₴"
120
+ CZK:
121
+ major_unit: [ "كرونة", "كرونتان", "كرونات" ]
122
+ minor_unit: [ "هالير", "هاليران", "هاليرات" ]
123
+ symbol: "Kč"
124
+ RON:
125
+ major_unit: [ "ليو", "ليوان", "ليي" ]
126
+ minor_unit: [ "بان", "بانان", "بانات" ]
127
+ symbol: "lei"
128
+ BGN:
129
+ major_unit: [ "ليف", "ليفان", "ليفا" ]
130
+ minor_unit: [ "ستوتينكا", "ستوتينكتان", "ستوتينكات" ]
131
+ symbol: "лв"
132
+ BYN:
133
+ major_unit: [ "روبل بيلاروسي", "روبلان بيلاروسيان", "روبلات بيلاروسية" ]
134
+ minor_unit: [ "كوبيك", "كوبيكان", "كوبيكات" ]
135
+ symbol: "Br"
136
+ KZT:
137
+ major_unit: [ "تينغي", "تينغيان", "تينغي" ]
138
+ minor_unit: [ "تيين", "تيينان", "تيينات" ]
139
+ symbol: "₸"
140
+ ILS:
141
+ major_unit: [ "شيكل", "شيكلان", "شواكل" ]
142
+ minor_unit: [ "أغورة", "أغورتان", "أغورات" ]
143
+ symbol: "₪"
144
+ SEK:
145
+ major_unit: [ "كرونة", "كرونتان", "كرونات" ]
146
+ minor_unit: [ "أوره", "أوره", "أوره" ]
147
+ symbol: "kr"
148
+ NOK:
149
+ major_unit: [ "كرونة", "كرونتان", "كرونات" ]
150
+ minor_unit: [ "أوره", "أوره", "أوره" ]
151
+ symbol: "kr"
152
+ DKK:
153
+ major_unit: [ "كرونة", "كرونتان", "كرونات" ]
154
+ minor_unit: [ "أوره", "أوره", "أوره" ]
155
+ symbol: "kr"
156
+ HUF:
157
+ major_unit: [ "فورنت", "فورنتان", "فورنتات" ]
158
+ minor_unit: [ "فلر", "فلران", "فلرات" ]
159
+ symbol: "Ft"
160
+ RSD:
161
+ major_unit: [ "دينار", "ديناران", "دنانير" ]
162
+ minor_unit: [ "بارا", "بارتان", "بارات" ]
163
+ symbol: "дин"
164
+ MYR:
165
+ major_unit: [ "رينغيت", "رينغيتان", "رينغيتات" ]
166
+ minor_unit: [ "سن", "سنان", "سنات" ]
167
+ symbol: "RM"
168
+ BDT:
169
+ major_unit: [ "تاكا", "تاكان", "تاكات" ]
170
+ minor_unit: [ "بويسا", "بويستان", "بويسات" ]
171
+ symbol: "৳"
172
+ PKR:
173
+ major_unit: [ "روبية", "روبيتان", "روبيات" ]
174
+ minor_unit: [ "بيسة", "بيستان", "بيسات" ]
175
+ symbol: "₨"
176
+ KES:
177
+ major_unit: [ "شلن", "شلنان", "شلنات" ]
178
+ minor_unit: [ "سنت", "سنتان", "سنتات" ]
179
+ symbol: "Sh"
180
+ INR:
181
+ major_unit: [ "روبية", "روبيتان", "روبيات" ]
182
+ minor_unit: [ "بيسة", "بيستان", "بيسات" ]
183
+ symbol: "₹"
184
+ THB:
185
+ major_unit: [ "بات", "باتان", "باتات" ]
186
+ minor_unit: [ "ساتانغ", "ساتانغان", "ساتانغات" ]
187
+ symbol: "฿"
188
+ VND:
189
+ major_unit: [ "دونغ", "دونغان", "دونغات" ]
190
+ minor_unit: [ "سو", "سوان", "سوات" ]
191
+ symbol: "₫"
192
+ IDR:
193
+ major_unit: [ "روبية", "روبيتان", "روبيات" ]
194
+ minor_unit: [ "سينا", "سينتان", "سينات" ]
195
+ symbol: "Rp"
@@ -2,8 +2,8 @@ be:
2
2
  num2words:
3
3
  ones_masc: ["нуль", "адзін", "два", "тры", "чатыры", "пяць", "шэсць", "сем", "восем", "дзевяць"]
4
4
  ones_fem: ["нуль", "адна", "дзве", "тры", "чатыры", "пяць", "шэсць", "сем", "восем", "дзевяць"]
5
- teens: ["дзесяць", "адзінаццаць", "дванаццаць", "трынаццаць", "чатырнаццаць", "пятнаццаць", "шаснаццаць", "семнаццаць", "васемнаццаць", "дзевятнаццаць"]
6
- tens: ["", "", "дваццаць", "трыццаць", "сорак", "пяцьдзясят", "шэсцьдзясят", "семдзесят", "восемдзесят", "дзевяноста"]
5
+ teens: ["дзесяць", "адзінаццаць", "дванаццаць", "трынаццаць", "чатырнаццаць", "пятнаццаць", "шаснаццаць", "сямнаццаць", "васямнаццаць", "дзевятнаццаць"]
6
+ tens: ["", "", "дваццаць", "трыццаць", "сорак", "пяцьдзесят", "шэсцьдзесят", "семдзесят", "васемдзесят", "дзевяноста"]
7
7
  hundreds: ["", "сто", "дзвесце", "трыста", "чатырыста", "пяцьсот", "шэсцьсот", "семсот", "восемсот", "дзевяцьсот"]
8
8
 
9
9
  scales:
@@ -13,19 +13,186 @@ be:
13
13
  - ["мільярд", "мільярды", "мільярдаў"]
14
14
  - ["трыльён", "трыльёны", "трыльёнаў"]
15
15
 
16
+ grammar:
17
+ minus: "мінус"
18
+ conjunction: "цэлых"
19
+ default_fraction: "дробных"
20
+ fractions:
21
+ 10: ["дзясятая", "дзясятыя", "дзясятых"]
22
+ 100: ["сотая", "сотыя", "сотых"]
23
+ 1000: ["тысячная", "тысячныя", "тысячных"]
24
+ 10000: ["дзесяцітысячная", "дзесяцітысячныя", "дзесяцітысячных"]
25
+ 100000: ["стотысячная", "стотысячныя", "стотысячных"]
26
+ 1000000: ["мільённая", "мільённыя", "мільённых"]
27
+ 10000000: ["дзесяцімільённая", "дзесяцімільённыя", "дзесяцімільённых"]
28
+ 100000000: ["стомільённая", "стомільённыя", "стомільённых"]
29
+ 1000000000: ["мільярдная", "мільярдныя", "мільярдных"]
30
+
31
+ numbers:
32
+ ordinals:
33
+ nominative:
34
+ masculine: ["першы", "другі", "трэці", "чацвёрты", "пяты", "шосты", "сёмы", "восьмы", "дзевяты", "дзесяты",
35
+ "адзінаццаты", "дванаццаты", "трынаццаты", "чатырнаццаты", "пятнаццаты", "шаснаццаты", "сямнаццаты", "васямнаццаты", "дзевятнаццаты",
36
+ "дваццаць", "дваццаць першы", "дваццаць другі", "дваццаць трэці", "дваццаць чацвёрты", "дваццаць пяты", "дваццаць шосты", "дваццаць сёмы", "дваццаць восьмы", "дваццаць дзевяты",
37
+ "трыццаць", "трыццаць першы"]
38
+ feminine: ["першая", "другая", "трэцяя", "чацвёртая", "пятая", "шостая", "сёмая", "восьмая", "дзевятая",
39
+ "дзесятая", "адзінаццатая", "дванаццатая", "трынаццатая", "чатырнаццатая", "пятнаццатая", "шаснаццатая", "сямнаццатая", "васямнаццатая", "дзевятнаццатая",
40
+ "дваццацкая", "дваццаць першая", "дваццаць другая", "дваццаць трэцяя", "дваццаць чацвёртая", "дваццаць пятая", "дваццаць шостая", "дваццаць сёмая", "дваццаць восьмая", "дваццаць дзевятая",
41
+ "трыццацкая", "трыццаць першая"]
42
+ neuter: ["першае", "другое", "трэцяе", "чацвёртае", "пятае", "шостае", "сёмае", "восьмае", "дзявятае",
43
+ "дзесятае", "адзінаццатае", "дванаццатае", "трынаццатае", "чатырнаццатае", "пятнаццатае", "шаснаццатае", "сямнаццатае", "васямнаццатае", "дзевятнаццатае",
44
+ "дваццацкае", "дваццаць першае", "дваццаць другое", "дваццаць трэцяе", "дваццаць чацвёртае", "дваццаць пятае", "дваццаць шостае", "дваццаць сёмае", "дваццаць восьмае", "дваццаць дзевятае",
45
+ "трыццацкае", "трыццаць першае"]
46
+ default:
47
+ masculine: ["першага", "другога", "трэцяга", "чацвёртага", "пятага", "шостага", "сёмага", "восьмага", "дзявятага",
48
+ "дзесятага", "адзінаццатага", "дванаццатага", "трынаццатага", "чатырнаццатага", "пятнаццатага", "шаснаццатага", "сямнаццатага", "васямнаццатага", "дзевятнаццатага",
49
+ "дваццацатага", "дваццаць першага", "дваццаць другога", "дваццаць трэцяга", "дваццаць чацвёртага", "дваццаць пятага", "дваццаць шостага", "дваццаць сёмага", "дваццаць восьмага", "дваццаць дзевятага",
50
+ "трыццацатага", "трыццаць першага"]
51
+
52
+ datetime:
53
+ template: "%{date}, %{time}"
54
+ date:
55
+ template:
56
+ default: "%{day} %{month} %{year} года"
57
+ nominative: "%{day} %{month} %{year} год"
58
+ months:
59
+ default: ["студзеня", "лютага", "сакавіка", "красавіка", "мая", "чэрвеня", "ліпеня", "жніўня", "верасня", "кастрычніка", "лістапада", "снежня"]
60
+ nominative: ["студзень", "люты", "сакавік", "красавік", "май", "чэрвень", "ліпень", "жнівень", "верасень", "кастрычнік", "лістапад", "снежань"]
61
+ time:
62
+ template:
63
+ hours_only: "%{hours}"
64
+ hours_minutes: "%{hours} %{minutes}"
65
+ hours_minutes_seconds: "%{hours} %{minutes} %{seconds}"
66
+ words:
67
+ hour: ["гадзіна", "гадзіны", "гадзін"]
68
+ minute: ["хвіліна", "хвіліны", "хвілін"]
69
+ second: ["секунда", "секунды", "секунд"]
70
+
71
+ warnings:
72
+ currency_not_available: "Валюта %{currency} недаступная для лакалі %{lang}, выкарыстоўваецца бягучая."
73
+
16
74
  currencies:
17
75
  BYN:
18
- name: ["рубель", "рублі", "рублёў"]
19
- fractional:
20
- name: ["капейка", "капейкі", "капеек"]
21
- feminine: true
22
- EUR:
23
- name: ["еўра", "еўра", "еўра"]
24
- fractional:
25
- name: ["цэнт", "цэнты", "цэнтаў"]
26
- feminine: false
76
+ major_unit: [ "беларускі рубель", "беларускія рублі", "беларускіх рублёў" ]
77
+ minor_unit: [ "капе́йка", "капе́йкі", "капе́ек" ]
78
+ symbol: "Br"
27
79
  USD:
28
- name: ["долар", "долары", "долараў"]
29
- fractional:
30
- name: ["цэнт", "цэнты", "цэнтаў"]
31
- feminine: false
80
+ major_unit: [ "долар", "долары", "долараў" ]
81
+ minor_unit: [ "цэнт", "цэнты", "цэнтаў" ]
82
+ symbol: "$"
83
+ EUR:
84
+ major_unit: [ "еўра", "еўра", "еўра" ]
85
+ minor_unit: [ "цэнт", "цэнты", "цэнтаў" ]
86
+ symbol: "€"
87
+ GBP:
88
+ major_unit: [ "фунт", "фунты", "фунтаў" ]
89
+ minor_unit: [ "пенс", "пенсы", "пенсаў" ]
90
+ symbol: "£"
91
+ CNY:
92
+ major_unit: [ "юань", "юані", "юаняў" ]
93
+ minor_unit: [ "фэнь", "фэні", "фэняў" ]
94
+ symbol: "¥"
95
+ JPY:
96
+ major_unit: [ "ена", "ены", "ен" ]
97
+ minor_unit: [ "сэн", "сэн", "сэн" ]
98
+ symbol: "¥"
99
+ RUB:
100
+ major_unit: [ "рубель", "рублі", "рублёў" ]
101
+ minor_unit: [ "капе́йка", "капе́йкі", "капе́ек" ]
102
+ symbol: "₽"
103
+ UAH:
104
+ major_unit: [ "грыўня", "грыўні", "грыўняў" ]
105
+ minor_unit: [ "капе́йка", "капе́йкі", "капе́ек" ]
106
+ symbol: "₴"
107
+ PLN:
108
+ major_unit: [ "злот", "злотыя", "злотаў" ]
109
+ minor_unit: [ "грош", "грошы", "грошаў" ]
110
+ symbol: "zł"
111
+ CZK:
112
+ major_unit: [ "крона", "кроны", "крон" ]
113
+ minor_unit: [ "галірж", "галіржы", "галіржаў" ]
114
+ symbol: "Kč"
115
+ RON:
116
+ major_unit: [ "лей", "леі", "леяў" ]
117
+ minor_unit: [ "бан", "баны", "банаў" ]
118
+ symbol: "lei"
119
+ BGN:
120
+ major_unit: [ "лев", "левы", "леваў" ]
121
+ minor_unit: [ "стотынка", "стотынкі", "стотынак" ]
122
+ symbol: "лв"
123
+ KZT:
124
+ major_unit: [ "тэнге", "тэнге", "тэнге" ]
125
+ minor_unit: [ "тыйын", "тыйыны", "тыйынаў" ]
126
+ symbol: "₸"
127
+ ILS:
128
+ major_unit: [ "шэкель", "шэкелі", "шэкеляў" ]
129
+ minor_unit: [ "агора", "агоры", "агарот" ]
130
+ symbol: "₪"
131
+ SEK:
132
+ major_unit: [ "крона", "кроны", "крон" ]
133
+ minor_unit: [ "эрэ", "эрэ", "эрэ" ]
134
+ symbol: "kr"
135
+ NOK:
136
+ major_unit: [ "крона", "кроны", "крон" ]
137
+ minor_unit: [ "эрэ", "эрэ", "эрэ" ]
138
+ symbol: "kr"
139
+ DKK:
140
+ major_unit: [ "крона", "кроны", "крон" ]
141
+ minor_unit: [ "эрэ", "эрэ", "эрэ" ]
142
+ symbol: "kr"
143
+ HUF:
144
+ major_unit: [ "форынт", "форынты", "форынтаў" ]
145
+ minor_unit: [ "філер", "філеры", "філераў" ]
146
+ symbol: "Ft"
147
+ SAR:
148
+ major_unit: [ "рыял", "рыялы", "рыялаў" ]
149
+ minor_unit: [ "халяля", "халялі", "халяляў" ]
150
+ symbol: "﷼"
151
+ INR:
152
+ major_unit: [ "рупія", "рупіі", "рупій" ]
153
+ minor_unit: [ "пайса", "пайсы", "пайсаў" ]
154
+ symbol: "₹"
155
+ THB:
156
+ major_unit: [ "бат", "баты", "батаў" ]
157
+ minor_unit: [ "сатанг", "сатангі", "сатангаў" ]
158
+ symbol: "฿"
159
+ VND:
160
+ major_unit: [ "донг", "донгі", "донгаў" ]
161
+ minor_unit: [ "су", "су", "су" ]
162
+ symbol: "₫"
163
+ IDR:
164
+ major_unit: [ "рупія", "рупіі", "рупій" ]
165
+ minor_unit: [ "сена", "сены", "сенаў" ]
166
+ symbol: "Rp"
167
+ IRR:
168
+ major_unit: [ "рыял", "рыялы", "рыялаў" ]
169
+ minor_unit: [ "дынам", "дынамы", "дынамаў" ]
170
+ symbol: "﷼"
171
+ RSD:
172
+ major_unit: [ "дінар", "дінары", "дзінараў" ]
173
+ minor_unit: [ "пара", "пары", "пар" ]
174
+ symbol: "дин"
175
+ MYR:
176
+ major_unit: [ "рынггіт", "рынггіты", "рынггітаў" ]
177
+ minor_unit: [ "сэн", "сэны", "сэнаў" ]
178
+ symbol: "RM"
179
+ BDT:
180
+ major_unit: [ "така", "такі", "так" ]
181
+ minor_unit: [ "пойша", "пойшы", "пойшаў" ]
182
+ symbol: "৳"
183
+ PKR:
184
+ major_unit: [ "рупія", "рупіі", "рупій" ]
185
+ minor_unit: [ "пайса", "пайсы", "пайсаў" ]
186
+ symbol: "₨"
187
+ KES:
188
+ major_unit: [ "шылінг", "шылінгі", "шылінгаў" ]
189
+ minor_unit: [ "цэнт", "цэнты", "цэнтаў" ]
190
+ symbol: "Sh"
191
+ TRY:
192
+ major_unit: [ "ліра", "ліры", "ліраў" ]
193
+ minor_unit: [ "куруш", "курушы", "курушаў" ]
194
+ symbol: "₺"
195
+ KRW:
196
+ major_unit: [ "вона", "воны", "вон" ]
197
+ minor_unit: [ "чон", "чоны", "чонаў" ]
198
+ symbol: "₩"