num2words 0.1.5 → 0.2.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +43 -0
- data/Gemfile +0 -1
- data/README.md +57 -16
- data/bin/console +2 -14
- data/config/locales/ar.yml +176 -17
- data/config/locales/be.yml +182 -15
- data/config/locales/bg.yml +183 -16
- data/config/locales/bn.yml +185 -12
- data/config/locales/cs.yml +180 -13
- data/config/locales/da.yml +182 -15
- data/config/locales/de.yml +181 -14
- data/config/locales/el.yml +183 -21
- data/config/locales/en.yml +129 -12
- data/config/locales/es.yml +180 -13
- data/config/locales/et.yml +185 -13
- data/config/locales/fa.yml +179 -12
- data/config/locales/fi.yml +180 -8
- data/config/locales/fr.yml +180 -13
- data/config/locales/gu.yml +182 -10
- data/config/locales/he.yml +182 -20
- data/config/locales/hi.yml +182 -15
- data/config/locales/hr.yml +181 -14
- data/config/locales/hu.yml +180 -13
- data/config/locales/id.yml +179 -12
- data/config/locales/it.yml +181 -14
- data/config/locales/ja.yml +188 -21
- data/config/locales/ru.yml +135 -9
- data/exe/num2words-console +7 -0
- data/lib/num2words/config.rb +62 -0
- data/lib/num2words/console.rb +16 -0
- data/lib/num2words/converter.rb +94 -47
- data/lib/num2words/locales/ar.rb +10 -2
- data/lib/num2words/locales/be.rb +10 -2
- data/lib/num2words/locales/bg.rb +10 -2
- data/lib/num2words/locales/bn.rb +10 -2
- data/lib/num2words/locales/cs.rb +10 -2
- data/lib/num2words/locales/da.rb +10 -2
- data/lib/num2words/locales/de.rb +10 -2
- data/lib/num2words/locales/el.rb +10 -2
- data/lib/num2words/locales/en.rb +0 -3
- data/lib/num2words/locales/es.rb +10 -2
- data/lib/num2words/locales/et.rb +10 -2
- data/lib/num2words/locales/fa.rb +10 -2
- data/lib/num2words/locales/fi.rb +10 -2
- data/lib/num2words/locales/fr.rb +10 -2
- data/lib/num2words/locales/gu.rb +10 -2
- data/lib/num2words/locales/he.rb +10 -2
- data/lib/num2words/locales/hi.rb +10 -2
- data/lib/num2words/locales/hr.rb +10 -2
- data/lib/num2words/locales/hu.rb +10 -2
- data/lib/num2words/locales/id.rb +10 -2
- data/lib/num2words/locales/it.rb +10 -2
- data/lib/num2words/locales/ja.rb +10 -2
- data/lib/num2words/locales/ru.rb +0 -3
- data/lib/num2words/version.rb +1 -1
- data/lib/num2words.rb +1 -0
- data/num2words.gemspec +1 -1
- metadata +9 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fbd7bda19d94f161e928ec326ce532c9c301746daaa371a041b859aa7262d4d9
|
|
4
|
+
data.tar.gz: ec621319e9ce5de5657c01d87c9b91cb88da31516cd06c07629924558e5c6017
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '092432a7d992343146c93337af17af5ea595ab06fff83793f81813ba55c7c4282b66e8bcc0598e82eba7db43e63131b1fba0f63332ede4984b10ef606e77698b'
|
|
7
|
+
data.tar.gz: dfefff68054582dd62771c9fa87b2ff21996a73ae0d4b0b219b67178a06a8c393ac20ef5f8029bf5f32c77c2ef36bb66760d743c528e066f361ba8592f431013
|
data/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,49 @@
|
|
|
9
9
|
|
|
10
10
|
## [Unreleased]
|
|
11
11
|
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## [0.2.0] - 2026-05-31
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
- Поддержка строковых дробей с точкой и запятой:
|
|
18
|
+
```ruby
|
|
19
|
+
Num2words.to_words("3.5", :ru)
|
|
20
|
+
Num2words.to_words("3,5", :ru)
|
|
21
|
+
```
|
|
22
|
+
- Опция `joiner: :and` для разговорного соединителя в дробях:
|
|
23
|
+
```ruby
|
|
24
|
+
Num2words.to_words(0.5, :ru, joiner: :and)
|
|
25
|
+
# => "ноль и пять десятых"
|
|
26
|
+
```
|
|
27
|
+
- Опция `date_case: :genitive` для дат в контексте "когда?":
|
|
28
|
+
```ruby
|
|
29
|
+
Num2words.to_words("2024-08-21", :ru, date_case: :genitive)
|
|
30
|
+
# => "двадцать первого августа две тысячи двадцать четвёртого года"
|
|
31
|
+
```
|
|
32
|
+
- Опция `minor:` для управления выводом младшей денежной единицы:
|
|
33
|
+
- `:always` — всегда выводить копейки/центы;
|
|
34
|
+
- `:nonzero` — выводить только ненулевую младшую единицу;
|
|
35
|
+
- `:never` — не выводить младшую единицу.
|
|
36
|
+
- Поддержка строковых сумм и `BigDecimal` в `to_currency`:
|
|
37
|
+
```ruby
|
|
38
|
+
Num2words.to_currency("21,05", :ru)
|
|
39
|
+
Num2words.to_currency(BigDecimal("21.05"), :ru)
|
|
40
|
+
```
|
|
41
|
+
- Команда `num2words-console` для быстрого запуска интерактивной консоли после установки гема.
|
|
42
|
+
|
|
43
|
+
### Changed
|
|
44
|
+
- Русские даты по умолчанию выводят день в именительном падеже:
|
|
45
|
+
```ruby
|
|
46
|
+
Num2words.to_words("2024-08-21", :ru)
|
|
47
|
+
# => "двадцать первое августа две тысячи двадцать четвёртого года"
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Fixed
|
|
51
|
+
- `DateTime` теперь корректно определяется как дата и время, а не только как дата.
|
|
52
|
+
- Добавлена валидация опций `joiner`, `date_case` и `minor`.
|
|
53
|
+
|
|
54
|
+
### Planned
|
|
12
55
|
- Добавление новых локалей (планируется расширение поддерживаемых языков).
|
|
13
56
|
- Оптимизация производительности при больших числах.
|
|
14
57
|
- Улучшения документации.
|
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
## ✨ Основные возможности
|
|
8
8
|
|
|
9
9
|
- Поддержка **чисел, времени, дат и валют**:
|
|
10
|
-
- `Integer`
|
|
11
|
-
- `Float`
|
|
12
|
-
- `Time / DateTime`
|
|
13
|
-
- `Float.to_currency`
|
|
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
14
|
- Кастомизация вывода:
|
|
15
|
-
- Краткая форма (`short: true`)
|
|
15
|
+
- Краткая форма (`short: true`) -> `"четырнадцать часов тридцать пять минут"`
|
|
16
16
|
- Форматы времени (`:hours_only`, `:hours_minutes`, `:hours_minutes_seconds`)
|
|
17
17
|
- Выбор локали: `:ru`, `:en` (из коробки), легко расширить YAML-файлами
|
|
18
18
|
- Расширение **Integer**, **Float**, **Date**, **Time**, **DateTime** удобными методами.
|
|
@@ -48,24 +48,54 @@ require "num2words"
|
|
|
48
48
|
### 🔢 Числа
|
|
49
49
|
```ruby
|
|
50
50
|
# Integer
|
|
51
|
-
123.to_words(:ru)
|
|
52
|
-
|
|
51
|
+
123.to_words(:ru)
|
|
52
|
+
# => "сто двадцать три"
|
|
53
|
+
|
|
54
|
+
123.to_words(:en)
|
|
55
|
+
# => "one hundred twenty three"
|
|
53
56
|
|
|
54
57
|
# Float
|
|
55
|
-
45.67.to_words(:ru)
|
|
56
|
-
|
|
58
|
+
45.67.to_words(:ru)
|
|
59
|
+
# => "сорок пять целых шестьдесят семь сотых"
|
|
60
|
+
|
|
61
|
+
"45,67".to_words(:ru)
|
|
62
|
+
# => "сорок пять целых шестьдесят семь сотых"
|
|
63
|
+
|
|
64
|
+
45.67.to_words(:ru, joiner: :and)
|
|
65
|
+
# => "сорок пять и шестьдесят семь сотых"
|
|
66
|
+
|
|
67
|
+
45.67.to_words(:en)
|
|
68
|
+
# => "forty five and sixty seven hundredths"
|
|
57
69
|
```
|
|
58
70
|
|
|
59
71
|
### 💰 Валюта
|
|
60
72
|
```ruby
|
|
61
|
-
21.05.to_currency(:ru)
|
|
62
|
-
|
|
73
|
+
21.05.to_currency(:ru)
|
|
74
|
+
# => "двадцать один рубль пять копеек"
|
|
75
|
+
|
|
76
|
+
"21,05".to_currency(:ru)
|
|
77
|
+
# => "двадцать один рубль пять копеек"
|
|
78
|
+
|
|
79
|
+
Num2words.to_currency(BigDecimal("21.05"), :ru)
|
|
80
|
+
# => "двадцать один рубль пять копеек"
|
|
81
|
+
|
|
82
|
+
1.to_currency(:ru, minor: :nonzero)
|
|
83
|
+
# => "один рубль"
|
|
84
|
+
|
|
85
|
+
1.25.to_currency(:ru, minor: :never)
|
|
86
|
+
# => "один рубль"
|
|
87
|
+
|
|
88
|
+
12.5.to_currency(:en)
|
|
89
|
+
# => "twelve dollars fifty cents"
|
|
63
90
|
```
|
|
64
91
|
|
|
65
92
|
### 📅 Дата
|
|
66
93
|
```ruby
|
|
67
94
|
"2024-08-21".to_words(:ru, :date)
|
|
68
|
-
# => "двадцать первое августа две тысячи двадцать
|
|
95
|
+
# => "двадцать первое августа две тысячи двадцать четвёртого года"
|
|
96
|
+
|
|
97
|
+
"2024-08-21".to_words(:ru, :date, date_case: :genitive)
|
|
98
|
+
# => "двадцать первого августа две тысячи двадцать четвёртого года"
|
|
69
99
|
|
|
70
100
|
"2024-08-21".to_words(:en, :date)
|
|
71
101
|
# => "the twenty-first of August, two thousand twenty four"
|
|
@@ -87,6 +117,9 @@ require "num2words"
|
|
|
87
117
|
|
|
88
118
|
```ruby
|
|
89
119
|
"2024-08-21 14:35:42".to_words(:ru)
|
|
120
|
+
# => "двадцать первое августа две тысячи двадцать четвёртого года, четырнадцать часов тридцать пять минут сорок две секунды"
|
|
121
|
+
|
|
122
|
+
"2024-08-21 14:35:42".to_words(:ru, date_case: :genitive)
|
|
90
123
|
# => "двадцать первого августа две тысячи двадцать четвёртого года, четырнадцать часов тридцать пять минут сорок две секунды"
|
|
91
124
|
|
|
92
125
|
"2024-08-21 14:35:42".to_words(:en)
|
|
@@ -98,6 +131,8 @@ require "num2words"
|
|
|
98
131
|
- `locale: :ru | :en` — язык (по умолчанию берётся I18n.locale или :ru).
|
|
99
132
|
- `:date, :time, :datetime` — формат преобразования для строк.
|
|
100
133
|
- `short: true` — краткая форма для даты/времени.
|
|
134
|
+
- `joiner: :and` — разговорный соединитель для дробей: `"ноль и пять десятых"` вместо `"ноль целых пять десятых"`.
|
|
135
|
+
- `date_case: :genitive` — родительный падеж дня для дат в контексте “когда?”.
|
|
101
136
|
- `Num2words.to_words(number, locale: :en)` — универсальный способ вызова без расширения базовых классов.
|
|
102
137
|
- `Num2words.to_currency(number)` — преобразование число в валюту.
|
|
103
138
|
|
|
@@ -106,18 +141,24 @@ require "num2words"
|
|
|
106
141
|
Num2words поддерживает интерактивную консоль для быстрого тестирования.
|
|
107
142
|
Это удобно при работе с разными числами и языками.
|
|
108
143
|
|
|
109
|
-
#### Запуск консоли
|
|
144
|
+
#### Запуск консоли из репозитория
|
|
110
145
|
|
|
111
146
|
```bash
|
|
112
147
|
bin/console
|
|
113
148
|
```
|
|
114
149
|
|
|
150
|
+
#### Запуск консоли после установки гема
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
num2words-console
|
|
154
|
+
```
|
|
155
|
+
|
|
115
156
|
После запуска появится приветственное сообщение:
|
|
116
157
|
|
|
117
158
|
```bash
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
159
|
+
Добро пожаловать в консоль num2words!
|
|
160
|
+
Можете использовать: Num2words.to_words(2025)
|
|
161
|
+
-------------------------------------------------------------
|
|
121
162
|
```
|
|
122
163
|
|
|
123
164
|
👉 Это позволяет проверять работу гема без написания отдельных скриптов.
|
data/bin/console
CHANGED
|
@@ -3,18 +3,6 @@
|
|
|
3
3
|
|
|
4
4
|
require "bundler/setup"
|
|
5
5
|
require "num2words"
|
|
6
|
+
require "num2words/console"
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
# with your gem easier. You can also use a different console, if you like.
|
|
9
|
-
|
|
10
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
|
11
|
-
# require "pry"
|
|
12
|
-
# Pry.start
|
|
13
|
-
|
|
14
|
-
# Красивое приветствие
|
|
15
|
-
puts "👋 Добро пожаловать в консоль num2words!"
|
|
16
|
-
puts "Можете использовать: Num2words.to_words(#{Time.now.year})"
|
|
17
|
-
puts "-------------------------------------------------------------"
|
|
18
|
-
|
|
19
|
-
require "irb"
|
|
20
|
-
IRB.start(__FILE__)
|
|
8
|
+
Num2words::Console.start
|
data/config/locales/ar.yml
CHANGED
|
@@ -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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
73
|
+
major_unit: [ "ريال", "ريالان", "ريالات" ]
|
|
74
|
+
minor_unit: [ "هللة", "هللتان", "هللات" ]
|
|
75
|
+
symbol: "﷼"
|
|
76
|
+
IRR:
|
|
77
|
+
major_unit: [ "ريال إيراني", "ريالان إيرانيان", "ريالات إيرانية" ]
|
|
78
|
+
minor_unit: [ "دينام", "دينامان", "دينامات" ]
|
|
79
|
+
symbol: "﷼"
|
|
27
80
|
USD:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
feminine: false
|
|
81
|
+
major_unit: [ "دولار", "دولاران", "دولارات" ]
|
|
82
|
+
minor_unit: [ "سنت", "سنتان", "سنتات" ]
|
|
83
|
+
symbol: "$"
|
|
32
84
|
EUR:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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"
|
data/config/locales/be.yml
CHANGED
|
@@ -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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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: "₩"
|