num2words 0.1.0 → 0.1.2
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/Gemfile +1 -0
- data/README.md +104 -81
- 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 +26 -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 +21 -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 +47 -64
- data/lib/num2words/core_ext.rb +6 -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 +19 -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 +19 -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 +119 -3
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module KO
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :ko)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :ko)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :ko)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :ko)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :ko)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :ko)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.KRW.name", locale: :ko)
|
14
|
+
KOP = I18n.t("num2words.currencies.KRW.fractional.name", locale: :ko)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :ko, KO
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module KZ
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :kz)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :kz)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :kz)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :kz)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :kz)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :kz)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.KZT.name", locale: :kz)
|
14
|
+
KOP = I18n.t("num2words.currencies.KZT.fractional.name", locale: :kz)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :kz, KZ
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module LT
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :lt)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :lt)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :lt)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :lt)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :lt)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :lt)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.EUR.name", locale: :lt)
|
14
|
+
KOP = I18n.t("num2words.currencies.EUR.fractional.name", locale: :lt)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :lt, LT
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module LV
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :lv)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :lv)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :lv)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :lv)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :lv)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :lv)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.EUR.name", locale: :lv)
|
14
|
+
KOP = I18n.t("num2words.currencies.EUR.fractional.name", locale: :lv)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :lv, LV
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module ML
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :ml)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :ml)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :ml)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :ml)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :ml)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :ml)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.INR.name", locale: :ml)
|
14
|
+
KOP = I18n.t("num2words.currencies.INR.fractional.name", locale: :ml)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :ml, ML
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module MR
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :mr)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :mr)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :mr)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :mr)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :mr)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :mr)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.INR.name", locale: :mr)
|
14
|
+
KOP = I18n.t("num2words.currencies.INR.fractional.name", locale: :mr)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :mr, MR
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module MS
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :ms)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :ms)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :ms)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :ms)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :ms)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :ms)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.MYR.name", locale: :ms)
|
14
|
+
KOP = I18n.t("num2words.currencies.MYR.fractional.name", locale: :ms)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :ms, MS
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module NL
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :nl)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :nl)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :nl)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :nl)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :nl)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :nl)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.EUR.name", locale: :nl)
|
14
|
+
KOP = I18n.t("num2words.currencies.EUR.fractional.name", locale: :nl)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :nl, NL
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module NB
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :nb)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :nb)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :nb)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :nb)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :nb)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :nb)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.NOK.name", locale: :nb)
|
14
|
+
KOP = I18n.t("num2words.currencies.NOK.fractional.name", locale: :nb)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :nb, NB
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module PA
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :pa)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :pa)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :pa)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :pa)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :pa)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :pa)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.INR.name", locale: :pa)
|
14
|
+
KOP = I18n.t("num2words.currencies.INR.fractional.name", locale: :pa)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :pa, PA
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module PL
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :pl)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :pl)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :pl)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :pl)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :pl)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :pl)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.PLN.name", locale: :pl)
|
14
|
+
KOP = I18n.t("num2words.currencies.PLN.fractional.name", locale: :pl)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :pl, PL
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module PT
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :pt)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :pt)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :pt)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :pt)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :pt)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :pt)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.EUR.name", locale: :pt)
|
14
|
+
KOP = I18n.t("num2words.currencies.EUR.fractional.name", locale: :pt)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :pt, PT
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module RO
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :ro)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :ro)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :ro)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :ro)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :ro)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :ro)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.RON.name", locale: :ro)
|
14
|
+
KOP = I18n.t("num2words.currencies.RON.fractional.name", locale: :ro)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :ro, RO
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module RU
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :ru)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :ru)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :ru)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :ru)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :ru)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :ru)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.RUB.name", locale: :ru)
|
14
|
+
KOP = I18n.t("num2words.currencies.RUB.fractional.name", locale: :ru)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :ru, RU
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module SK
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :sk)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :sk)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :sk)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :sk)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :sk)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :sk)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.EUR.name", locale: :sk)
|
14
|
+
KOP = I18n.t("num2words.currencies.EUR.fractional.name", locale: :sk)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :sk, SK
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module SL
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :sl)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :sl)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :sl)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :sl)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :sl)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :sl)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.EUR.name", locale: :sl)
|
14
|
+
KOP = I18n.t("num2words.currencies.EUR.fractional.name", locale: :sl)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :sl, SL
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module SR
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :sr)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :sr)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :sr)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :sr)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :sr)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :sr)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.RSD.name", locale: :sr)
|
14
|
+
KOP = I18n.t("num2words.currencies.RSD.fractional.name", locale: :sr)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :sr, Sr
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module SV
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :sv)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :sv)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :sv)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :sv)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :sv)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :sv)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.SEK.name", locale: :sv)
|
14
|
+
KOP = I18n.t("num2words.currencies.SEK.fractional.name", locale: :sv)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :sv, SV
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module SW
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :sw)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :sw)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :sw)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :sw)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :sw)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :sw)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.KES.name", locale: :sw)
|
14
|
+
KOP = I18n.t("num2words.currencies.KES.fractional.name", locale: :sw)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :sw, SW
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module TA
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :ta)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :ta)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :ta)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :ta)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :ta)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :ta)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.INR.name", locale: :ta)
|
14
|
+
KOP = I18n.t("num2words.currencies.INR.fractional.name", locale: :ta)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :ta, TA
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module TE
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :te)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :te)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :te)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :te)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :te)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :te)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.INR.name", locale: :te)
|
14
|
+
KOP = I18n.t("num2words.currencies.INR.fractional.name", locale: :te)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :te, TE
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module TH
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :th)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :th)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :th)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :th)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :th)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :th)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.THB.name", locale: :th)
|
14
|
+
KOP = I18n.t("num2words.currencies.THB.fractional.name", locale: :th)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :th, TH
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module TR
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :tr)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :tr)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :tr)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :tr)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :tr)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :tr)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.TRY.name", locale: :tr)
|
14
|
+
KOP = I18n.t("num2words.currencies.TRY.fractional.name", locale: :tr)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :tr, TR
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module UK
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :uk)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :uk)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :uk)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :uk)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :uk)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :uk)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.UAH.name", locale: :uk)
|
14
|
+
KOP = I18n.t("num2words.currencies.UAH.fractional.name", locale: :uk)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :uk, UK
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module UR
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :ur)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :ur)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :ur)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :ur)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :ur)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :ur)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.PKR.name", locale: :ur)
|
14
|
+
KOP = I18n.t("num2words.currencies.PKR.fractional.name", locale: :ur)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :ur, UR
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module VI
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :vi)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :vi)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :vi)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :vi)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :vi)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :vi)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.VND.name", locale: :vi)
|
14
|
+
KOP = I18n.t("num2words.currencies.VND.fractional.name", locale: :vi)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :vi, VI
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
module ZH
|
6
|
+
ONES_MASC = I18n.t("num2words.ones_masc", locale: :zh)
|
7
|
+
ONES_FEM = I18n.t("num2words.ones_fem", locale: :zh)
|
8
|
+
TEENS = I18n.t("num2words.teens", locale: :zh)
|
9
|
+
TENS = I18n.t("num2words.tens", locale: :zh)
|
10
|
+
HUNDREDS = I18n.t("num2words.hundreds", locale: :zh)
|
11
|
+
SCALES = I18n.t("num2words.scales", locale: :zh)
|
12
|
+
|
13
|
+
RUB = I18n.t("num2words.currencies.CNY.name", locale: :zh)
|
14
|
+
KOP = I18n.t("num2words.currencies.CNY.fractional.name", locale: :zh)
|
15
|
+
end
|
16
|
+
|
17
|
+
register :zh, ZH
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Num2words
|
4
|
+
module Locales
|
5
|
+
@registry = {}
|
6
|
+
|
7
|
+
class << self
|
8
|
+
# Регистрация новой локали
|
9
|
+
def register(locale, mod)
|
10
|
+
@registry[locale.to_sym] = mod
|
11
|
+
end
|
12
|
+
|
13
|
+
# Доступ по синтаксису Locales[:ru]
|
14
|
+
def [](locale)
|
15
|
+
locale = locale.to_sym
|
16
|
+
@registry[locale] || autoload_locale(locale)
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
# Автоматическая подгрузка файла locales/xx.rb
|
22
|
+
def autoload_locale(locale)
|
23
|
+
locale_path = File.join(__dir__, "locales", "#{locale}.rb")
|
24
|
+
if File.exist?(locale_path)
|
25
|
+
require locale_path
|
26
|
+
@registry[locale] || raise("Locale #{locale} not registered")
|
27
|
+
else
|
28
|
+
raise ArgumentError, "Locale file not found: #{locale_path}"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/num2words/version.rb
CHANGED
data/lib/num2words.rb
CHANGED
@@ -1,15 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require_relative "num2words/i18n"
|
3
4
|
require_relative "num2words/version"
|
4
5
|
require_relative "num2words/converter"
|
5
6
|
require_relative "num2words/core_ext"
|
7
|
+
require_relative "num2words/locales"
|
6
8
|
|
7
9
|
module Num2words
|
8
|
-
def self.to_words(number,
|
9
|
-
Converter.to_words(number,
|
10
|
+
def self.to_words(number, *args, **opts)
|
11
|
+
Converter.to_words(number, *args, **opts)
|
10
12
|
end
|
11
13
|
|
12
|
-
def self.to_currency(amount)
|
13
|
-
Converter.to_currency(amount)
|
14
|
+
def self.to_currency(amount, *args, **opts)
|
15
|
+
Converter.to_currency(amount, *args, **opts)
|
14
16
|
end
|
15
17
|
end
|