numbers_and_words 0.11.12 → 1.0.1
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 +18 -1
- data/README.rdoc +27 -7
- data/lib/numbers_and_words/helper_classes/figures_array.rb +2 -2
- data/lib/numbers_and_words/helper_classes/words_array.rb +2 -2
- data/lib/numbers_and_words/i18n/locales/numbers.da.yml +52 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/cs.rb +1 -1
- data/lib/numbers_and_words/strategies/figures_converter/languages/da.rb +56 -0
- data/lib/numbers_and_words/strategies/figures_converter/languages/de.rb +1 -1
- data/lib/numbers_and_words/strategies/figures_converter/languages/es.rb +3 -3
- data/lib/numbers_and_words/strategies/figures_converter/languages/families/cyrillic.rb +1 -1
- data/lib/numbers_and_words/strategies/figures_converter/languages/fr.rb +5 -1
- data/lib/numbers_and_words/strategies/figures_converter/languages/ka.rb +1 -1
- data/lib/numbers_and_words/strategies/figures_converter/languages/lv.rb +1 -1
- data/lib/numbers_and_words/strategies/figures_converter/languages/pt-BR.rb +4 -4
- data/lib/numbers_and_words/strategies/figures_converter/languages.rb +1 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/base/ordinal.rb +1 -1
- data/lib/numbers_and_words/strategies/figures_converter/options/da/gender.rb +14 -0
- data/lib/numbers_and_words/strategies/figures_converter/options/da.rb +3 -0
- data/lib/numbers_and_words/strategies/figures_converter/options.rb +1 -0
- data/lib/numbers_and_words/strategies/figures_converter.rb +2 -2
- data/lib/numbers_and_words/translations/da.rb +37 -0
- data/lib/numbers_and_words/translations/es.rb +1 -1
- data/lib/numbers_and_words/translations/et.rb +1 -1
- data/lib/numbers_and_words/translations/fr.rb +17 -6
- data/lib/numbers_and_words/translations/hu.rb +1 -1
- data/lib/numbers_and_words/translations/it.rb +1 -1
- data/lib/numbers_and_words/translations/nl.rb +1 -1
- data/lib/numbers_and_words/translations/pt-BR.rb +3 -3
- data/lib/numbers_and_words/translations/pt.rb +1 -1
- data/lib/numbers_and_words/translations/se.rb +1 -1
- data/lib/numbers_and_words/translations.rb +1 -0
- data/lib/numbers_and_words/version.rb +1 -1
- data/lib/numbers_and_words/wrappers/float.rb +1 -1
- metadata +23 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b5208a2d2ff914744a29fe15c5fd93c7a60b770e0aae261c279cb553f08bf777
|
4
|
+
data.tar.gz: 69b589aae5e3c2477ad9271ab4749e0f1d0b7c8b03c024ea595711226a6e51b8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 19dc40ac39ae76cb5f2f758a4eb0e91f581b56e50c4e5b9bfc574e46fdaca9150ad4aa7f7974bf83666cca17f64692eb35ff1a6ffd3aef9f426e197c8fb20188
|
7
|
+
data.tar.gz: a622bde5b625c9cd9f8cc04fc41a2ebc5d604db50041d58dab12b115a18646d0bc1b1f234199ab87f041a4ccd6032dc4516e3a3a619f6861f025796197ad3f4d
|
data/CHANGELOG.md
CHANGED
@@ -1,8 +1,25 @@
|
|
1
|
-
##
|
1
|
+
## 1.1.0 (Next)
|
2
2
|
|
3
3
|
### Features
|
4
4
|
* Your contribution here.
|
5
5
|
|
6
|
+
## 1.0.1 (March 7, 2025)
|
7
|
+
|
8
|
+
### Features
|
9
|
+
* Add support for Ruby 3.4. \[[#204](https://github.com/kslazarev/numbers_and_words/pull/204)\]
|
10
|
+
|
11
|
+
### Bugs
|
12
|
+
* Fix a few cases in French concerning plurals and union word (mainly 71 and 81). \[[#203](https://github.com/kslazarev/numbers_and_words/pull/203)\]
|
13
|
+
|
14
|
+
## 1.0.0 (October 17, 2024)
|
15
|
+
|
16
|
+
### Features
|
17
|
+
* Add support for Danish language. \[[#197](https://github.com/kslazarev/numbers_and_words/pull/197)\] \([@franta](https://github.com/Franta1205)\)
|
18
|
+
* Upgrade RuboCop to 1.63.5. \[[#198](https://github.com/kslazarev/numbers_and_words/pull/198)\]
|
19
|
+
* Drop support for Ruby 2.7. \[[#202](https://github.com/kslazarev/numbers_and_words/pull/202)\]
|
20
|
+
* Drop support for Ruby 3.0. \[[#202](https://github.com/kslazarev/numbers_and_words/pull/202)\]
|
21
|
+
* Add support for Ruby 3.3. \[[#202](https://github.com/kslazarev/numbers_and_words/pull/202)\]
|
22
|
+
|
6
23
|
## 0.11.12 (April 22, 2023)
|
7
24
|
|
8
25
|
### Features
|
data/README.rdoc
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
== numbers_and_words
|
2
2
|
|
3
|
-
{
|
4
|
-
{
|
5
|
-
{
|
6
|
-
{
|
3
|
+
{rdoc-image:https://badge.fury.io/rb/numbers_and_words.svg?branch=master}[https://badge.fury.io/rb/numbers_and_words]
|
4
|
+
{rdoc-image:https://codeclimate.com/github/kslazarev/numbers_and_words.svg?branch=master}[https://codeclimate.com/github/kslazarev/numbers_and_words]
|
5
|
+
{rdoc-image:https://github.com/kslazarev/numbers_and_words/actions/workflows/ci.yml/badge.svg?branch=master}[https://github.com/kslazarev/numbers_and_words/actions/workflows/ci.yml]
|
6
|
+
{rdoc-image:https://coveralls.io/repos/kslazarev/numbers_and_words/badge.svg?branch=master}[https://coveralls.io/r/kslazarev/numbers_and_words]
|
7
7
|
|
8
8
|
Spell out numbers in several languages using the I18n gem.
|
9
9
|
|
10
10
|
Перевод чисел в слова при помощи библиотеки I18n.
|
11
11
|
|
12
|
-
|
12
|
+
Convertit les nombres en lettres en utilisant la librairie I18n.
|
13
13
|
|
14
14
|
Számok betűvel írva az I18n könyvtár segítségével.
|
15
15
|
|
@@ -42,6 +42,7 @@ Deletrea números en varios idiomas utilizando la gema I18n.
|
|
42
42
|
* Português Brasileiro [pt-BR]
|
43
43
|
* հայերեն (Armenian) [hy]
|
44
44
|
* Қазақша [kz]
|
45
|
+
* Dansk [da]
|
45
46
|
|
46
47
|
** Experimental
|
47
48
|
|
@@ -93,6 +94,9 @@ Deletrea números en varios idiomas utilizando la gema I18n.
|
|
93
94
|
I18n.with_locale(:kz) { 42.to_words }
|
94
95
|
=> "қырық екi"
|
95
96
|
|
97
|
+
I18n.with_locale(:da) { 42.to_words }
|
98
|
+
=> "toogfyrre"
|
99
|
+
|
96
100
|
21.to_words
|
97
101
|
=> "twenty-one"
|
98
102
|
=> "veintiuno"
|
@@ -114,6 +118,7 @@ Deletrea números en varios idiomas utilizando la gema I18n.
|
|
114
118
|
=> "hai mươi mốt"
|
115
119
|
=> "քսան մեկ"
|
116
120
|
=> "жиырма бiр"
|
121
|
+
=> "enogtyve"
|
117
122
|
|
118
123
|
231.to_words
|
119
124
|
=> "two hundred thirty-one"
|
@@ -136,6 +141,7 @@ Deletrea números en varios idiomas utilizando la gema I18n.
|
|
136
141
|
=> "hai trăm ba mươi mốt"
|
137
142
|
=> "երկու հարյուր երեսուն մեկ"
|
138
143
|
=> "екi жүз отыз бiр"
|
144
|
+
=> "to hundrede enogtredive"
|
139
145
|
|
140
146
|
4030.to_words
|
141
147
|
=> "four thousand thirty"
|
@@ -157,6 +163,7 @@ Deletrea números en varios idiomas utilizando la gema I18n.
|
|
157
163
|
=> "bốn nghìn không trăm ba mươi"
|
158
164
|
=> "չորս հազար երեսուն"
|
159
165
|
=> "төрт мың отыз"
|
166
|
+
=> "fire tusinde tredive"
|
160
167
|
|
161
168
|
1000100.to_words
|
162
169
|
=> "one million one hundred"
|
@@ -178,6 +185,7 @@ Deletrea números en varios idiomas utilizando la gema I18n.
|
|
178
185
|
=> "một triệu một trăm"
|
179
186
|
=> "մեկ միլիոն հարյուր"
|
180
187
|
=> "бiр миллион бiр жүз"
|
188
|
+
=> "en million et hundrede"
|
181
189
|
|
182
190
|
1000000000000000000000000000000000.to_words
|
183
191
|
=> "one decillion"
|
@@ -211,6 +219,7 @@ Deletrea números en varios idiomas utilizando la gema I18n.
|
|
211
219
|
=> ["một", "hai", "ba"]
|
212
220
|
=> ["մեկ", "երկու", "երեք"]
|
213
221
|
=> ["бiр", "екi", "үш"]
|
222
|
+
=> ["et", "to", "tre"]
|
214
223
|
|
215
224
|
[11, 22, 133].to_words
|
216
225
|
=> ["eleven", "twenty-two", "one hundred thirty-three"]
|
@@ -232,6 +241,7 @@ Deletrea números en varios idiomas utilizando la gema I18n.
|
|
232
241
|
=> ["mười một", "hai mươi hai", "một trăm ba mươi ba"]
|
233
242
|
=> ["տասնմեկ", "քսան երկու", "հարյուր երեսուն երեք"]
|
234
243
|
=> ["он бiр", "жиырма екi", "бiр жүз отыз үш"]
|
244
|
+
=> ["elleve", "toogtyve", "et hundrede treogtredive"]
|
235
245
|
|
236
246
|
21.77.to_words
|
237
247
|
=> "twenty-one and seventy-seven hundredths"
|
@@ -353,6 +363,16 @@ Deletrea números en varios idiomas utilizando la gema I18n.
|
|
353
363
|
I18n.with_locale(:es) { 0.7.to_words remove_zero: true }
|
354
364
|
=> "siete décimas"
|
355
365
|
|
366
|
+
* Danish
|
367
|
+
|
368
|
+
Change gender from: (gender: [:neuter || :common])
|
369
|
+
|
370
|
+
I18n.with_locale(:da) { 1.to_words gender: :common }
|
371
|
+
=> "en"
|
372
|
+
|
373
|
+
I18n.with_locale(:da) { 1.to_words gender: :neuter }
|
374
|
+
=> "et"
|
375
|
+
|
356
376
|
== Other options / Другие опции
|
357
377
|
|
358
378
|
* Precision
|
@@ -367,8 +387,8 @@ Deletrea números en varios idiomas utilizando la gema I18n.
|
|
367
387
|
|
368
388
|
== Requirements / Требования / Configuration Requise
|
369
389
|
|
370
|
-
*
|
371
|
-
*
|
390
|
+
* 3.1 <= Ruby (compatible with/совместимость с/compatible avec Ruby 3.1 and/и/et JRuby);
|
391
|
+
* 1.14.3 <= I18n (earlier versions not tested/ранние версии не тестировались/versions précédentes non testées);
|
372
392
|
|
373
393
|
== Installation / Установка / Installation
|
374
394
|
|
@@ -8,8 +8,8 @@ module NumbersAndWords
|
|
8
8
|
local_language { Strategies.array_joiner.new(to_a, options).run }
|
9
9
|
end
|
10
10
|
|
11
|
-
def local_language(&
|
12
|
-
::I18n.with_locale(I18n.local_language, &
|
11
|
+
def local_language(&)
|
12
|
+
::I18n.with_locale(I18n.local_language, &)
|
13
13
|
end
|
14
14
|
end
|
15
15
|
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
da:
|
2
|
+
numbers:
|
3
|
+
ones: [nul, et, to, tre, fire, fem, seks, syv, otte, ni]
|
4
|
+
common: [nul, en, to, tre, fire, fem, seks, syv, otte, ni]
|
5
|
+
neuter: [nul, et, to, tre, fire, fem, seks, syv, otte, ni]
|
6
|
+
teens: [_, elleve, tolv, tretten, fjorten, femten, seksten, sytten, atten, nitten]
|
7
|
+
tens: [_, ti, tyve, tredive, fyrre, halvtreds, tres, halvfjerds, firs, halvfems]
|
8
|
+
hundreds: [ _, et hundrede, to hundrede, tre hundrede, fire hundrede, fem hundrede, seks hundrede, syv hundrede, otte hundrede, ni hundrede ]
|
9
|
+
one_hundred: et hundrede
|
10
|
+
mega: [_, tusinde, million, milliard, billion, billiard, trillion]
|
11
|
+
tusinde:
|
12
|
+
one: tusinde
|
13
|
+
other: tusinde
|
14
|
+
million:
|
15
|
+
one: million
|
16
|
+
other: millioner
|
17
|
+
milliard:
|
18
|
+
one: milliard
|
19
|
+
other: milliarder
|
20
|
+
billion:
|
21
|
+
one: billion
|
22
|
+
other: billioner
|
23
|
+
billiard:
|
24
|
+
one: billiard
|
25
|
+
other: billiarder
|
26
|
+
trillion:
|
27
|
+
one: trillion
|
28
|
+
other: trillioner
|
29
|
+
ordinal:
|
30
|
+
ones: [nulte, første, anden, tredje, fjerde, femte, sjette, syvende, ottende, niende]
|
31
|
+
teens: [tiende, ellevte, tolvte, trettende, fjortende, femtende, sekstende, syttende, attende, nittende]
|
32
|
+
tens: [_, tiende, tyvende, tredive, fyrre, halvtreds, tres, halvfjerds, firs, halvfems]
|
33
|
+
hundreds: hundredende
|
34
|
+
micro: [_, tiendedele, hundrededele, tusindedele, milliontedele]
|
35
|
+
tenths:
|
36
|
+
one: tiendedel
|
37
|
+
other: tiendedele
|
38
|
+
hundredths:
|
39
|
+
one: hundrededel
|
40
|
+
other: hundrededele
|
41
|
+
thousandths:
|
42
|
+
one: tusindedel
|
43
|
+
other: tusindedele
|
44
|
+
millionths:
|
45
|
+
one: milliontedel
|
46
|
+
other: milliontedele
|
47
|
+
micro_separator: og
|
48
|
+
micro_prefix:
|
49
|
+
tens: ti
|
50
|
+
hundreds: hundrede
|
51
|
+
union: '-'
|
52
|
+
union: og
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module NumbersAndWords
|
4
|
+
module Strategies
|
5
|
+
module FiguresConverter
|
6
|
+
module Languages
|
7
|
+
class Da < Base
|
8
|
+
def print_words
|
9
|
+
complex_part.count > 1 ? print_megs_words : @strings.flatten.reverse.join(' ')
|
10
|
+
end
|
11
|
+
|
12
|
+
def ones
|
13
|
+
super({ gender: })
|
14
|
+
end
|
15
|
+
|
16
|
+
def hundreds
|
17
|
+
super({ is_hundred: hundred?, is_one_hundred: one_hundred? })
|
18
|
+
end
|
19
|
+
|
20
|
+
def megs
|
21
|
+
super({ number: @figures.number_in_capacity(@current_capacity) })
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def simple_part
|
27
|
+
@strings.reject { |f| f.is_a?(Array) }
|
28
|
+
end
|
29
|
+
|
30
|
+
def complex_part
|
31
|
+
@strings - simple_part
|
32
|
+
end
|
33
|
+
|
34
|
+
def hundred?
|
35
|
+
figures[0].zero? && figures[1].zero? && simple_number_to_words.empty?
|
36
|
+
end
|
37
|
+
|
38
|
+
def one_hundred?
|
39
|
+
hundred? && figures[2] == 1
|
40
|
+
end
|
41
|
+
|
42
|
+
def gender
|
43
|
+
@current_capacity ||= 0
|
44
|
+
if @current_capacity.zero?
|
45
|
+
@options.gender.result
|
46
|
+
elsif @current_capacity == 1
|
47
|
+
:neuter
|
48
|
+
else
|
49
|
+
:common
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -14,20 +14,20 @@ module NumbersAndWords
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def ones
|
17
|
-
super({ gender
|
17
|
+
super({ gender:,
|
18
18
|
is_one_thousand: one_thousand?,
|
19
19
|
is_apocopated: one_apocopated? })
|
20
20
|
end
|
21
21
|
|
22
22
|
def tens_with_ones
|
23
|
-
options = { gender
|
23
|
+
options = { gender:, is_apocopated: one_apocopated? }
|
24
24
|
return @translations.twenties_with_ones(@figures, options) if @figures.tens == 2
|
25
25
|
|
26
26
|
super(options)
|
27
27
|
end
|
28
28
|
|
29
29
|
def hundreds
|
30
|
-
super({ gender
|
30
|
+
super({ gender:,
|
31
31
|
is_apocopated: hundred_apocopated? })
|
32
32
|
end
|
33
33
|
|
@@ -14,7 +14,11 @@ module NumbersAndWords
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def hundreds
|
17
|
-
super({ pluralize: simple_number_to_words.empty? })
|
17
|
+
super({ pluralize: simple_number_to_words.empty? && (@parent_figures.nil? || @parent_figures.size == 3) })
|
18
|
+
end
|
19
|
+
|
20
|
+
def tens
|
21
|
+
super({ alone: @current_capacity&.positive? ? false : nil })
|
18
22
|
end
|
19
23
|
|
20
24
|
def megs
|
@@ -31,11 +31,11 @@ module NumbersAndWords
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def ones
|
34
|
-
super
|
34
|
+
super(internal_options.merge(is_one_thousand: one_thousand?))
|
35
35
|
end
|
36
36
|
|
37
37
|
def hundreds
|
38
|
-
super(internal_options.merge(is_hundred: hundred?, is_one_hundred: one_hundred?, gender:
|
38
|
+
super(internal_options.merge(is_hundred: hundred?, is_one_hundred: one_hundred?, gender:))
|
39
39
|
end
|
40
40
|
|
41
41
|
def megs
|
@@ -48,7 +48,7 @@ module NumbersAndWords
|
|
48
48
|
private
|
49
49
|
|
50
50
|
def internal_options
|
51
|
-
{ gender
|
51
|
+
{ gender:, prefix: maybe_ordinal }
|
52
52
|
end
|
53
53
|
|
54
54
|
def maybe_ordinal
|
@@ -56,7 +56,7 @@ module NumbersAndWords
|
|
56
56
|
end
|
57
57
|
|
58
58
|
def gender
|
59
|
-
return
|
59
|
+
return options.gender.result || :male if maybe_ordinal
|
60
60
|
|
61
61
|
if current_capacity&.positive? && figures[0] == 1
|
62
62
|
:male
|
@@ -23,6 +23,7 @@ require 'numbers_and_words/strategies/figures_converter/languages/se'
|
|
23
23
|
require 'numbers_and_words/strategies/figures_converter/languages/tr'
|
24
24
|
require 'numbers_and_words/strategies/figures_converter/languages/hy'
|
25
25
|
require 'numbers_and_words/strategies/figures_converter/languages/kz'
|
26
|
+
require 'numbers_and_words/strategies/figures_converter/languages/da'
|
26
27
|
|
27
28
|
require 'numbers_and_words/strategies/figures_converter/languages/families/cyrillic'
|
28
29
|
require 'numbers_and_words/strategies/figures_converter/languages/ru'
|
@@ -10,6 +10,7 @@ require 'numbers_and_words/strategies/figures_converter/options/pt-BR'
|
|
10
10
|
require 'numbers_and_words/strategies/figures_converter/options/ru'
|
11
11
|
require 'numbers_and_words/strategies/figures_converter/options/ua'
|
12
12
|
require 'numbers_and_words/strategies/figures_converter/options/cs'
|
13
|
+
require 'numbers_and_words/strategies/figures_converter/options/da'
|
13
14
|
|
14
15
|
module NumbersAndWords
|
15
16
|
module Strategies
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module NumbersAndWords
|
4
|
+
module Translations
|
5
|
+
class Da < Base
|
6
|
+
include NumbersAndWords::Translations::Families::Base
|
7
|
+
|
8
|
+
DEFAULT_POSTFIX = nil
|
9
|
+
|
10
|
+
def ones(number, options = {})
|
11
|
+
return t(:common)[number] if options[:gender] == :common
|
12
|
+
return t(:neuter)[number] if options[:gender] == :neuter
|
13
|
+
|
14
|
+
t([options[:prefix], :ones, options[:postfix] || DEFAULT_POSTFIX].join('.'))[number]
|
15
|
+
end
|
16
|
+
|
17
|
+
def tens(number, _options = {})
|
18
|
+
t(:tens)[number]
|
19
|
+
end
|
20
|
+
|
21
|
+
def tens_with_ones(numbers, _options = {})
|
22
|
+
[ones(numbers[0], { gender: :common }), tens(numbers[1])].join(union)
|
23
|
+
end
|
24
|
+
|
25
|
+
def hundreds(number, options = {})
|
26
|
+
return t(:one_hundred) if options[:is_one_hundred]
|
27
|
+
return t(:hundreds)[number] if options[:is_hundred]
|
28
|
+
|
29
|
+
t(:hundreds)[number]
|
30
|
+
end
|
31
|
+
|
32
|
+
def zero(_options = {})
|
33
|
+
ones 0
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -11,19 +11,30 @@ module NumbersAndWords
|
|
11
11
|
def tens(number, options = {})
|
12
12
|
return t(:eighty) if number == SPECIAL_TENS_CASE && options[:alone].nil?
|
13
13
|
|
14
|
-
super
|
14
|
+
super
|
15
15
|
end
|
16
16
|
|
17
|
-
def
|
18
|
-
|
17
|
+
def tens_with_teens(numbers)
|
18
|
+
number_ones, number_tens = numbers.first(2)
|
19
|
+
separator = number_tens == 7 && number_ones == 1 ? "-#{union}-" : '-'
|
20
|
+
[tens(number_tens - 1, alone: false), teens(numbers)].join(separator)
|
21
|
+
end
|
19
22
|
|
20
|
-
|
21
|
-
|
23
|
+
def tens_with_ones(numbers, options = {})
|
24
|
+
number_ones, number_tens = numbers
|
25
|
+
return tens_with_teens(numbers) if [7, 9].include?(number_tens)
|
26
|
+
|
27
|
+
separator = number_ones == 1 && number_tens != 8 ? " #{union} " : '-'
|
28
|
+
if number_tens == 8
|
29
|
+
[tens(number_tens, alone: false), ones(number_ones, options)].join(separator)
|
30
|
+
else
|
31
|
+
super(numbers, options.merge(separator:))
|
32
|
+
end
|
22
33
|
end
|
23
34
|
|
24
35
|
def hundreds(number, options = {})
|
25
36
|
count = options[:pluralize] ? number : 1
|
26
|
-
hundreds = t(:hundreds, count:
|
37
|
+
hundreds = t(:hundreds, count:)
|
27
38
|
|
28
39
|
return hundreds if number == 1
|
29
40
|
|
@@ -29,7 +29,7 @@ module NumbersAndWords
|
|
29
29
|
def teens(number, options = {})
|
30
30
|
return [tens(1, options), ones(number[0], options)].join(' ') if ordinal? options
|
31
31
|
|
32
|
-
super
|
32
|
+
super
|
33
33
|
end
|
34
34
|
|
35
35
|
def tens_with_ones(numbers, options = {})
|
@@ -48,10 +48,10 @@ module NumbersAndWords
|
|
48
48
|
|
49
49
|
def megs(capacity, options = {})
|
50
50
|
return t([options[:prefix], :mega, options[:gender]].join('.'))[capacity] if ordinal?(options)
|
51
|
-
return super
|
51
|
+
return super if options[:is_opaque] || options[:is_without_connector]
|
52
52
|
|
53
53
|
suffix = options[:is_with_comma] ? ',' : " #{union}"
|
54
|
-
super
|
54
|
+
super + suffix
|
55
55
|
end
|
56
56
|
|
57
57
|
def micros(capacity, number = nil)
|
@@ -27,6 +27,7 @@ require 'numbers_and_words/translations/cs'
|
|
27
27
|
require 'numbers_and_words/translations/vi'
|
28
28
|
require 'numbers_and_words/translations/hy'
|
29
29
|
require 'numbers_and_words/translations/kz'
|
30
|
+
require 'numbers_and_words/translations/da'
|
30
31
|
|
31
32
|
module NumbersAndWords
|
32
33
|
module Translations
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: numbers_and_words
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kirill Lazarev
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-03-07 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: i18n
|
@@ -38,6 +37,20 @@ dependencies:
|
|
38
37
|
- - "~>"
|
39
38
|
- !ruby/object:Gem::Version
|
40
39
|
version: '2'
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: ostruct
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
type: :development
|
48
|
+
prerelease: false
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - "~>"
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
41
54
|
- !ruby/object:Gem::Dependency
|
42
55
|
name: rake
|
43
56
|
requirement: !ruby/object:Gem::Requirement
|
@@ -76,6 +89,7 @@ files:
|
|
76
89
|
- lib/numbers_and_words/i18n.rb
|
77
90
|
- lib/numbers_and_words/i18n/initialization.rb
|
78
91
|
- lib/numbers_and_words/i18n/locales/numbers.cs.yml
|
92
|
+
- lib/numbers_and_words/i18n/locales/numbers.da.yml
|
79
93
|
- lib/numbers_and_words/i18n/locales/numbers.de.yml
|
80
94
|
- lib/numbers_and_words/i18n/locales/numbers.en-GB.yml
|
81
95
|
- lib/numbers_and_words/i18n/locales/numbers.en.yml
|
@@ -165,6 +179,7 @@ files:
|
|
165
179
|
- lib/numbers_and_words/strategies/figures_converter/languages.rb
|
166
180
|
- lib/numbers_and_words/strategies/figures_converter/languages/base.rb
|
167
181
|
- lib/numbers_and_words/strategies/figures_converter/languages/cs.rb
|
182
|
+
- lib/numbers_and_words/strategies/figures_converter/languages/da.rb
|
168
183
|
- lib/numbers_and_words/strategies/figures_converter/languages/de.rb
|
169
184
|
- lib/numbers_and_words/strategies/figures_converter/languages/en-GB.rb
|
170
185
|
- lib/numbers_and_words/strategies/figures_converter/languages/en.rb
|
@@ -198,6 +213,8 @@ files:
|
|
198
213
|
- lib/numbers_and_words/strategies/figures_converter/options/cs/gender.rb
|
199
214
|
- lib/numbers_and_words/strategies/figures_converter/options/cs/ordinal.rb
|
200
215
|
- lib/numbers_and_words/strategies/figures_converter/options/cs/remove_zero.rb
|
216
|
+
- lib/numbers_and_words/strategies/figures_converter/options/da.rb
|
217
|
+
- lib/numbers_and_words/strategies/figures_converter/options/da/gender.rb
|
201
218
|
- lib/numbers_and_words/strategies/figures_converter/options/en-GB.rb
|
202
219
|
- lib/numbers_and_words/strategies/figures_converter/options/en-GB/hundreds_with_union.rb
|
203
220
|
- lib/numbers_and_words/strategies/figures_converter/options/en-GB/ordinal.rb
|
@@ -229,6 +246,7 @@ files:
|
|
229
246
|
- lib/numbers_and_words/translations.rb
|
230
247
|
- lib/numbers_and_words/translations/base.rb
|
231
248
|
- lib/numbers_and_words/translations/cs.rb
|
249
|
+
- lib/numbers_and_words/translations/da.rb
|
232
250
|
- lib/numbers_and_words/translations/de.rb
|
233
251
|
- lib/numbers_and_words/translations/en-GB.rb
|
234
252
|
- lib/numbers_and_words/translations/en.rb
|
@@ -262,7 +280,6 @@ homepage: http://github.com/kslazarev/numbers_and_words
|
|
262
280
|
licenses:
|
263
281
|
- MIT
|
264
282
|
metadata: {}
|
265
|
-
post_install_message:
|
266
283
|
rdoc_options: []
|
267
284
|
require_paths:
|
268
285
|
- lib
|
@@ -270,15 +287,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
270
287
|
requirements:
|
271
288
|
- - ">="
|
272
289
|
- !ruby/object:Gem::Version
|
273
|
-
version:
|
290
|
+
version: 3.1.0
|
274
291
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
275
292
|
requirements:
|
276
293
|
- - ">="
|
277
294
|
- !ruby/object:Gem::Version
|
278
295
|
version: '0'
|
279
296
|
requirements: []
|
280
|
-
rubygems_version: 3.
|
281
|
-
signing_key:
|
297
|
+
rubygems_version: 3.6.5
|
282
298
|
specification_version: 4
|
283
299
|
summary: Spell out numbers in several languages
|
284
300
|
test_files: []
|