numbers_and_words 0.11.2 → 0.11.7

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 (193) hide show
  1. checksums.yaml +5 -5
  2. data/README.rdoc +23 -5
  3. data/lib/numbers_and_words.rb +2 -0
  4. data/lib/numbers_and_words/core_ext.rb +2 -0
  5. data/lib/numbers_and_words/core_ext/array.rb +2 -0
  6. data/lib/numbers_and_words/core_ext/float.rb +2 -0
  7. data/lib/numbers_and_words/core_ext/integer.rb +2 -0
  8. data/lib/numbers_and_words/helper_classes.rb +2 -0
  9. data/lib/numbers_and_words/helper_classes/array_extensions/helpers.rb +6 -4
  10. data/lib/numbers_and_words/helper_classes/figures_array.rb +2 -0
  11. data/lib/numbers_and_words/helper_classes/words_array.rb +2 -0
  12. data/lib/numbers_and_words/i18n.rb +2 -0
  13. data/lib/numbers_and_words/i18n/initialization.rb +2 -0
  14. data/lib/numbers_and_words/i18n/locales/numbers.cs.yml +37 -26
  15. data/lib/numbers_and_words/i18n/locales/numbers.de.yml +5 -4
  16. data/lib/numbers_and_words/i18n/locales/numbers.en-GB.yml +24 -8
  17. data/lib/numbers_and_words/i18n/locales/numbers.en.yml +10 -6
  18. data/lib/numbers_and_words/i18n/locales/numbers.es.yml +6 -5
  19. data/lib/numbers_and_words/i18n/locales/numbers.et.yml +4 -4
  20. data/lib/numbers_and_words/i18n/locales/numbers.fr.yml +45 -41
  21. data/lib/numbers_and_words/i18n/locales/numbers.hu.yml +11 -7
  22. data/lib/numbers_and_words/i18n/locales/numbers.hy.yml +7 -0
  23. data/lib/numbers_and_words/i18n/locales/numbers.it.yml +3 -3
  24. data/lib/numbers_and_words/i18n/locales/numbers.ka.yml +6 -14
  25. data/lib/numbers_and_words/i18n/locales/numbers.lt.yml +4 -5
  26. data/lib/numbers_and_words/i18n/locales/numbers.lv.yml +4 -5
  27. data/lib/numbers_and_words/i18n/locales/numbers.nl.yml +4 -3
  28. data/lib/numbers_and_words/i18n/locales/numbers.pt-BR.yml +51 -22
  29. data/lib/numbers_and_words/i18n/locales/numbers.pt.yml +21 -8
  30. data/lib/numbers_and_words/i18n/locales/numbers.ru.yml +39 -27
  31. data/lib/numbers_and_words/i18n/locales/numbers.se.yml +3 -3
  32. data/lib/numbers_and_words/i18n/locales/numbers.tr.yml +3 -3
  33. data/lib/numbers_and_words/i18n/locales/numbers.ua.yml +39 -15
  34. data/lib/numbers_and_words/i18n/locales/numbers.vi.yml +13 -0
  35. data/lib/numbers_and_words/i18n/pluralization.rb +3 -1
  36. data/lib/numbers_and_words/i18n/plurals/cs.rb +15 -10
  37. data/lib/numbers_and_words/i18n/plurals/fr.rb +5 -3
  38. data/lib/numbers_and_words/i18n/plurals/lt.rb +10 -7
  39. data/lib/numbers_and_words/i18n/plurals/lv.rb +5 -3
  40. data/lib/numbers_and_words/i18n/plurals/plurals.rb +2 -0
  41. data/lib/numbers_and_words/i18n/plurals/ru.rb +15 -10
  42. data/lib/numbers_and_words/i18n/plurals/ua.rb +2 -0
  43. data/lib/numbers_and_words/strategies.rb +2 -0
  44. data/lib/numbers_and_words/strategies/array_joiner.rb +2 -0
  45. data/lib/numbers_and_words/strategies/array_joiner/languages.rb +3 -0
  46. data/lib/numbers_and_words/strategies/array_joiner/languages/base.rb +2 -0
  47. data/lib/numbers_and_words/strategies/array_joiner/languages/cs.rb +2 -0
  48. data/lib/numbers_and_words/strategies/array_joiner/languages/en-GB.rb +3 -1
  49. data/lib/numbers_and_words/strategies/array_joiner/languages/en.rb +2 -0
  50. data/lib/numbers_and_words/strategies/array_joiner/languages/es.rb +2 -0
  51. data/lib/numbers_and_words/strategies/array_joiner/languages/families/base.rb +5 -3
  52. data/lib/numbers_and_words/strategies/array_joiner/languages/fr.rb +2 -0
  53. data/lib/numbers_and_words/strategies/array_joiner/languages/hu.rb +2 -0
  54. data/lib/numbers_and_words/strategies/array_joiner/languages/pt-BR.rb +2 -0
  55. data/lib/numbers_and_words/strategies/array_joiner/languages/ru.rb +2 -0
  56. data/lib/numbers_and_words/strategies/array_joiner/languages/ua.rb +2 -0
  57. data/lib/numbers_and_words/strategies/array_joiner/languages/vi.rb +12 -0
  58. data/lib/numbers_and_words/strategies/figures_converter.rb +2 -0
  59. data/lib/numbers_and_words/strategies/figures_converter/decorators.rb +3 -0
  60. data/lib/numbers_and_words/strategies/figures_converter/decorators/base.rb +2 -0
  61. data/lib/numbers_and_words/strategies/figures_converter/decorators/cs.rb +2 -0
  62. data/lib/numbers_and_words/strategies/figures_converter/decorators/cs/base.rb +2 -0
  63. data/lib/numbers_and_words/strategies/figures_converter/decorators/cs/fractional.rb +2 -0
  64. data/lib/numbers_and_words/strategies/figures_converter/decorators/cs/integral.rb +3 -0
  65. data/lib/numbers_and_words/strategies/figures_converter/decorators/en-GB.rb +2 -0
  66. data/lib/numbers_and_words/strategies/figures_converter/decorators/en-GB/base.rb +2 -0
  67. data/lib/numbers_and_words/strategies/figures_converter/decorators/en-GB/fractional.rb +2 -0
  68. data/lib/numbers_and_words/strategies/figures_converter/decorators/en-GB/integral.rb +2 -0
  69. data/lib/numbers_and_words/strategies/figures_converter/decorators/en.rb +2 -0
  70. data/lib/numbers_and_words/strategies/figures_converter/decorators/en/base.rb +2 -0
  71. data/lib/numbers_and_words/strategies/figures_converter/decorators/en/fractional.rb +2 -0
  72. data/lib/numbers_and_words/strategies/figures_converter/decorators/en/integral.rb +2 -0
  73. data/lib/numbers_and_words/strategies/figures_converter/decorators/es.rb +2 -0
  74. data/lib/numbers_and_words/strategies/figures_converter/decorators/es/base.rb +2 -0
  75. data/lib/numbers_and_words/strategies/figures_converter/decorators/es/fractional.rb +3 -1
  76. data/lib/numbers_and_words/strategies/figures_converter/decorators/es/integral.rb +2 -0
  77. data/lib/numbers_and_words/strategies/figures_converter/decorators/fr.rb +2 -0
  78. data/lib/numbers_and_words/strategies/figures_converter/decorators/fr/base.rb +2 -0
  79. data/lib/numbers_and_words/strategies/figures_converter/decorators/fr/fractional.rb +2 -0
  80. data/lib/numbers_and_words/strategies/figures_converter/decorators/fr/integral.rb +2 -0
  81. data/lib/numbers_and_words/strategies/figures_converter/decorators/hu.rb +2 -0
  82. data/lib/numbers_and_words/strategies/figures_converter/decorators/hu/base.rb +2 -0
  83. data/lib/numbers_and_words/strategies/figures_converter/decorators/hu/fractional.rb +3 -1
  84. data/lib/numbers_and_words/strategies/figures_converter/decorators/hu/integral.rb +2 -0
  85. data/lib/numbers_and_words/strategies/figures_converter/decorators/pt-BR.rb +2 -0
  86. data/lib/numbers_and_words/strategies/figures_converter/decorators/pt-BR/base.rb +2 -0
  87. data/lib/numbers_and_words/strategies/figures_converter/decorators/pt-BR/fractional.rb +2 -0
  88. data/lib/numbers_and_words/strategies/figures_converter/decorators/pt-BR/integral.rb +2 -0
  89. data/lib/numbers_and_words/strategies/figures_converter/decorators/ru.rb +2 -0
  90. data/lib/numbers_and_words/strategies/figures_converter/decorators/ru/base.rb +2 -0
  91. data/lib/numbers_and_words/strategies/figures_converter/decorators/ru/fractional.rb +2 -0
  92. data/lib/numbers_and_words/strategies/figures_converter/decorators/ru/integral.rb +2 -0
  93. data/lib/numbers_and_words/strategies/figures_converter/decorators/ua.rb +2 -0
  94. data/lib/numbers_and_words/strategies/figures_converter/decorators/ua/base.rb +2 -0
  95. data/lib/numbers_and_words/strategies/figures_converter/decorators/ua/fractional.rb +2 -0
  96. data/lib/numbers_and_words/strategies/figures_converter/decorators/ua/integral.rb +2 -0
  97. data/lib/numbers_and_words/strategies/figures_converter/decorators/vi.rb +5 -0
  98. data/lib/numbers_and_words/strategies/figures_converter/decorators/vi/base.rb +14 -0
  99. data/lib/numbers_and_words/strategies/figures_converter/decorators/vi/fractional.rb +14 -0
  100. data/lib/numbers_and_words/strategies/figures_converter/decorators/vi/integral.rb +14 -0
  101. data/lib/numbers_and_words/strategies/figures_converter/languages.rb +14 -15
  102. data/lib/numbers_and_words/strategies/figures_converter/languages/base.rb +4 -2
  103. data/lib/numbers_and_words/strategies/figures_converter/languages/cs.rb +4 -4
  104. data/lib/numbers_and_words/strategies/figures_converter/languages/de.rb +7 -7
  105. data/lib/numbers_and_words/strategies/figures_converter/languages/en-GB.rb +2 -0
  106. data/lib/numbers_and_words/strategies/figures_converter/languages/en.rb +3 -9
  107. data/lib/numbers_and_words/strategies/figures_converter/languages/es.rb +11 -13
  108. data/lib/numbers_and_words/strategies/figures_converter/languages/et.rb +2 -2
  109. data/lib/numbers_and_words/strategies/figures_converter/languages/families/base.rb +2 -0
  110. data/lib/numbers_and_words/strategies/figures_converter/languages/families/cyrillic.rb +2 -0
  111. data/lib/numbers_and_words/strategies/figures_converter/languages/families/helpers.rb +2 -0
  112. data/lib/numbers_and_words/strategies/figures_converter/languages/fr.rb +12 -12
  113. data/lib/numbers_and_words/strategies/figures_converter/languages/hu.rb +2 -2
  114. data/lib/numbers_and_words/strategies/figures_converter/languages/{families/latin.rb → hy.rb} +3 -4
  115. data/lib/numbers_and_words/strategies/figures_converter/languages/it.rb +2 -1
  116. data/lib/numbers_and_words/strategies/figures_converter/languages/ka.rb +13 -15
  117. data/lib/numbers_and_words/strategies/figures_converter/languages/lt.rb +8 -12
  118. data/lib/numbers_and_words/strategies/figures_converter/languages/lv.rb +4 -14
  119. data/lib/numbers_and_words/strategies/figures_converter/languages/nl.rb +3 -5
  120. data/lib/numbers_and_words/strategies/figures_converter/languages/pt-BR.rb +14 -12
  121. data/lib/numbers_and_words/strategies/figures_converter/languages/pt.rb +3 -3
  122. data/lib/numbers_and_words/strategies/figures_converter/languages/ru.rb +2 -0
  123. data/lib/numbers_and_words/strategies/figures_converter/languages/se.rb +2 -1
  124. data/lib/numbers_and_words/strategies/figures_converter/languages/tr.rb +4 -4
  125. data/lib/numbers_and_words/strategies/figures_converter/languages/ua.rb +2 -0
  126. data/lib/numbers_and_words/strategies/figures_converter/languages/vi.rb +100 -0
  127. data/lib/numbers_and_words/strategies/figures_converter/options.rb +15 -2
  128. data/lib/numbers_and_words/strategies/figures_converter/options/base.rb +5 -0
  129. data/lib/numbers_and_words/strategies/figures_converter/options/base/gender.rb +30 -0
  130. data/lib/numbers_and_words/strategies/figures_converter/options/base/ordinal.rb +28 -0
  131. data/lib/numbers_and_words/strategies/figures_converter/options/base/remove_zero.rb +30 -0
  132. data/lib/numbers_and_words/strategies/figures_converter/options/cs.rb +2 -0
  133. data/lib/numbers_and_words/strategies/figures_converter/options/cs/gender.rb +3 -14
  134. data/lib/numbers_and_words/strategies/figures_converter/options/cs/ordinal.rb +3 -15
  135. data/lib/numbers_and_words/strategies/figures_converter/options/cs/remove_zero.rb +3 -17
  136. data/lib/numbers_and_words/strategies/figures_converter/options/en-GB.rb +2 -0
  137. data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/hundreds_with_union.rb +2 -0
  138. data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/ordinal.rb +2 -0
  139. data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/pronounced.rb +2 -0
  140. data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/remove_hyphen.rb +2 -0
  141. data/lib/numbers_and_words/strategies/figures_converter/options/en-GB/remove_zero.rb +2 -0
  142. data/lib/numbers_and_words/strategies/figures_converter/options/en.rb +2 -0
  143. data/lib/numbers_and_words/strategies/figures_converter/options/en/hundreds_with_union.rb +2 -0
  144. data/lib/numbers_and_words/strategies/figures_converter/options/en/ordinal.rb +3 -10
  145. data/lib/numbers_and_words/strategies/figures_converter/options/en/pronounced.rb +6 -13
  146. data/lib/numbers_and_words/strategies/figures_converter/options/en/remove_hyphen.rb +2 -0
  147. data/lib/numbers_and_words/strategies/figures_converter/options/en/remove_zero.rb +3 -17
  148. data/lib/numbers_and_words/strategies/figures_converter/options/es.rb +2 -0
  149. data/lib/numbers_and_words/strategies/figures_converter/options/es/apocopated.rb +2 -0
  150. data/lib/numbers_and_words/strategies/figures_converter/options/es/gender.rb +3 -17
  151. data/lib/numbers_and_words/strategies/figures_converter/options/es/remove_zero.rb +3 -17
  152. data/lib/numbers_and_words/strategies/figures_converter/options/hu.rb +2 -0
  153. data/lib/numbers_and_words/strategies/figures_converter/options/hu/ordinal.rb +3 -50
  154. data/lib/numbers_and_words/strategies/figures_converter/options/pt-BR.rb +2 -0
  155. data/lib/numbers_and_words/strategies/figures_converter/options/pt-BR/gender.rb +3 -18
  156. data/lib/numbers_and_words/strategies/figures_converter/options/pt-BR/ordinal.rb +3 -15
  157. data/lib/numbers_and_words/strategies/figures_converter/options/pt-BR/remove_zero.rb +3 -17
  158. data/lib/numbers_and_words/strategies/figures_converter/options/ru.rb +2 -0
  159. data/lib/numbers_and_words/strategies/figures_converter/options/ru/gender.rb +3 -17
  160. data/lib/numbers_and_words/strategies/figures_converter/options/ua.rb +2 -0
  161. data/lib/numbers_and_words/strategies/figures_converter/options/ua/gender.rb +3 -17
  162. data/lib/numbers_and_words/translations.rb +4 -0
  163. data/lib/numbers_and_words/translations/base.rb +3 -1
  164. data/lib/numbers_and_words/translations/cs.rb +6 -31
  165. data/lib/numbers_and_words/translations/de.rb +5 -3
  166. data/lib/numbers_and_words/translations/en-GB.rb +5 -1
  167. data/lib/numbers_and_words/translations/en.rb +2 -0
  168. data/lib/numbers_and_words/translations/es.rb +15 -25
  169. data/lib/numbers_and_words/translations/et.rb +4 -7
  170. data/lib/numbers_and_words/translations/extensions/fraction_significance.rb +6 -4
  171. data/lib/numbers_and_words/translations/families/base.rb +5 -3
  172. data/lib/numbers_and_words/translations/families/cyrillic.rb +6 -8
  173. data/lib/numbers_and_words/translations/families/latin.rb +2 -0
  174. data/lib/numbers_and_words/translations/fr.rb +15 -18
  175. data/lib/numbers_and_words/translations/hu.rb +4 -7
  176. data/lib/numbers_and_words/translations/hy.rb +21 -0
  177. data/lib/numbers_and_words/translations/it.rb +2 -0
  178. data/lib/numbers_and_words/translations/ka.rb +6 -14
  179. data/lib/numbers_and_words/translations/lt.rb +4 -11
  180. data/lib/numbers_and_words/translations/lv.rb +4 -11
  181. data/lib/numbers_and_words/translations/nl.rb +6 -2
  182. data/lib/numbers_and_words/translations/pt-BR.rb +23 -23
  183. data/lib/numbers_and_words/translations/pt.rb +5 -11
  184. data/lib/numbers_and_words/translations/ru.rb +2 -17
  185. data/lib/numbers_and_words/translations/se.rb +2 -0
  186. data/lib/numbers_and_words/translations/tr.rb +2 -4
  187. data/lib/numbers_and_words/translations/ua.rb +2 -13
  188. data/lib/numbers_and_words/translations/vi.rb +24 -0
  189. data/lib/numbers_and_words/version.rb +3 -1
  190. data/lib/numbers_and_words/wrappers.rb +2 -0
  191. data/lib/numbers_and_words/wrappers/float.rb +3 -1
  192. data/lib/numbers_and_words/wrappers/integer.rb +2 -0
  193. metadata +33 -20
@@ -1,7 +1,7 @@
1
1
  se:
2
2
  numbers:
3
3
  ones: [noll, en, två, tre, fyra, fem, sex, sju, åtta, nio]
4
- teens: [tio, elva, tolv, tretton, fjorton, femton, sexton, sjutton, arton, nitton]
5
- tens: [noll, tio, tjugo, trettio, fyrtio, femtio, sextio, sjuttio, åttio, nittio]
4
+ teens: [_, elva, tolv, tretton, fjorton, femton, sexton, sjutton, arton, nitton]
5
+ tens: [_, tio, tjugo, trettio, fyrtio, femtio, sextio, sjuttio, åttio, nittio]
6
6
  hundreds: hundra
7
- mega: [ett, tusen, miljoner, miljarder, biljoner, kvadriljon, kvintiljon, sextillion, septillion, octillion, nonillion, decillion]
7
+ mega: [_, tusen, miljoner, miljarder, biljoner, kvadriljon, kvintiljon, sextillion, septillion, octillion, nonillion, decillion]
@@ -1,7 +1,7 @@
1
1
  tr:
2
2
  numbers:
3
3
  ones: [sıfır, bir, iki, üç, dört, beş, altı, yedi, sekiz, dokuz]
4
- teens: ['on', on bir, on iki, on üç, on dört, on beş, on altı, on yedi, on sekiz, on dokuz]
5
- tens: [sıfır, 'on', yirmi, otuz, kırk, elli, altmış, yetmiş, seksen, doksan]
4
+ teens: [_, on bir, on iki, on üç, on dört, on beş, on altı, on yedi, on sekiz, on dokuz]
5
+ tens: [_, 'on', yirmi, otuz, kırk, elli, altmış, yetmiş, seksen, doksan]
6
6
  hundreds: yüz
7
- mega: [bir, bin, milyon, milyar, trilyon, katrilyon, kentilyon, seksilyon, septilyon, oktilyon, nonilyon, desilyon]
7
+ mega: [_, bin, milyon, milyar, trilyon, katrilyon, kentilyon, seksilyon, septilyon, oktilyon, nonilyon, desilyon]
@@ -4,20 +4,10 @@ ua:
4
4
  male: [нуль, один, два, три, чотири, п’ять, шiсть, сiм, вiсiм, дев’ять]
5
5
  female: [нуль, одна, двi, три, чотири, п’ять, шiсть, сiм, вiсiм, дев’ять]
6
6
  neuter: [нуль, одне, два, три, чотири, п’ять, шiсть, сiм, вiсiм, дев’ять]
7
- teens: [десять, одинадцять, дванадцять, тринадцять, чотирнадцять, п’ятнадцять, шiстнадцять, сiмнадцять, вiсiмнадцять, дев’ятнадцять]
8
- tens: [нуль, десять, двадцять, тридцять, сорок, п’ятдесят, шiстдесят, сiмдесят, вiсiмдесят, дев’яносто]
9
- hundreds: [нуль, сто, двiстi, триста, чотириста, п’ятсот, шiстсот, сiмсот, вiсiмсот, дев’ятсот]
10
- union_separator: 'i'
11
- union: 'i'
12
- micro:
13
- one: [_, десята, сота, тысячна, мiльйонна, мiльярдна, трильйонна]
14
- few: [_, десятих, сотих, тисячних, мiльйонних, мiльярдних, трильйонних]
15
- many: [_, десятих, сотих, тисячних, мiльйонних, мiльярдних, трильйонних]
16
- sub_micro: [_, десяти, сто]
17
- integral:
18
- one: цiла
19
- few: цiлих
20
- many: цiлих
7
+ teens: [_, одинадцять, дванадцять, тринадцять, чотирнадцять, п’ятнадцять, шiстнадцять, сiмнадцять, вiсiмнадцять, дев’ятнадцять]
8
+ tens: [_, десять, двадцять, тридцять, сорок, п’ятдесят, шiстдесят, сiмдесят, вiсiмдесят, дев’яносто]
9
+ hundreds: [_, сто, двiстi, триста, чотириста, п’ятсот, шiстсот, сiмсот, вiсiмсот, дев’ятсот]
10
+ mega: [_, thousands, millions, billions, trillions, quadrillions, quintillion, sextillions, septillions, octillions, nonillions, decillions]
21
11
  thousands:
22
12
  one: тисяча
23
13
  few: тисячi
@@ -62,4 +52,38 @@ ua:
62
52
  one: децильйон
63
53
  few: децильйона
64
54
  many: децильйонiв
65
- mega: [ones, thousands, millions, billions, trillions, quadrillions, quintillion, sextillions, septillions, octillions, nonillions, decillions]
55
+ integral:
56
+ one: цiла
57
+ few: цiлих
58
+ many: цiлих
59
+ micro: [_, tenths, hundredths, thousandths, millionths, billionths, trillionths]
60
+ tenths:
61
+ one: десята
62
+ few: десятих
63
+ many: десятих
64
+ hundredths:
65
+ one: сота
66
+ few: сотих
67
+ many: сотих
68
+ thousandths:
69
+ one: тысячна
70
+ few: тисячних
71
+ many: тисячних
72
+ millionths:
73
+ one: мiльйонна
74
+ few: мiльйонних
75
+ many: мiльйонних
76
+ billionths:
77
+ one: мiльярдна
78
+ few: мiльярдних
79
+ many: мiльярдних
80
+ trillionths:
81
+ one: трильйонна
82
+ few: трильйонних
83
+ many: трильйонних
84
+ micro_separator: 'i'
85
+ micro_prefix:
86
+ tens: десяти
87
+ hundreds: сто
88
+ union: ' '
89
+ union: 'i'
@@ -0,0 +1,13 @@
1
+ vi:
2
+ numbers:
3
+ ones: ['không', 'một', 'hai', 'ba', 'bốn', 'năm', 'sáu', 'bảy', 'tám', 'chín']
4
+ teens: [_, 'mười một', 'mười hai', 'mười ba', 'mười bốn', 'mười lăm', 'mười sáu', 'mười bảy', 'thứ mười tám', 'mười chín']
5
+ tens: [_, 'mười', 'hai mươi', 'ba mươi', 'bốn mươi', 'năm mươi', 'sáu mươi', 'bảy mươi', 'tám mươi', 'chín mươi']
6
+ hundreds: 'trăm'
7
+ mega: [_, 'nghìn', 'triệu', 'tỷ', 'nghìn tỷ', 'triệu tỷ']
8
+ units:
9
+ tens:
10
+ one: 'mốt'
11
+ five: 'lăm'
12
+ ones_union: 'linh'
13
+ micro_separator: 'phẩy'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'numbers_and_words/i18n/plurals/cs'
2
4
  require 'numbers_and_words/i18n/plurals/ru'
3
5
  require 'numbers_and_words/i18n/plurals/ua'
@@ -12,7 +14,7 @@ module NumbersAndWords
12
14
 
13
15
  def init
14
16
  ::I18n.load_path << config_file
15
- ::I18n::Backend::Simple.send :include, ::I18n::Backend::Pluralization
17
+ ::I18n::Backend::Simple.include ::I18n::Backend::Pluralization
16
18
  end
17
19
 
18
20
  def files
@@ -1,31 +1,36 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module I18n
3
5
  module Plurals
4
6
  module Cs
5
7
  module_function
6
8
 
7
- RULE = lambda do |n|
8
- if one_conditions(n)
9
+ RULE = lambda do |number|
10
+ if one_conditions(number)
9
11
  :one
10
- elsif few_conditions(n)
12
+ elsif few_conditions(number)
11
13
  :few
12
- elsif many_conditions(n)
14
+ elsif many_conditions(number)
13
15
  :many
14
16
  else
15
17
  :other
16
18
  end
17
19
  end
18
20
 
19
- def one_conditions(n)
20
- n % 10 == 1 && n % 100 != 11
21
+ def one_conditions(number)
22
+ number % 10 == 1 && number % 100 != 11
21
23
  end
22
24
 
23
- def few_conditions(n)
24
- [2, 3, 4].include?(n % 10) && ![12, 13, 14].include?(n % 100)
25
+ def few_conditions(number)
26
+ [2, 3, 4].include?(number % 10) &&
27
+ ![12, 13, 14].include?(number % 100)
25
28
  end
26
29
 
27
- def many_conditions(n)
28
- (n % 10).zero? || [5, 6, 7, 8, 9].include?(n % 10) || [11, 12, 13, 14].include?(n % 100)
30
+ def many_conditions(number)
31
+ (number % 10).zero? ||
32
+ [5, 6, 7, 8, 9].include?(number % 10) ||
33
+ [11, 12, 13, 14].include?(number % 100)
29
34
  end
30
35
  end
31
36
  end
@@ -1,13 +1,15 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module I18n
3
5
  module Plurals
4
6
  module Fr
5
7
  module_function
6
8
 
7
- RULE = ->(n) { one_conditions(n) ? :one : :other }
9
+ RULE = ->(number) { one_conditions(number) ? :one : :other }
8
10
 
9
- def one_conditions(n)
10
- n % 10 == 1 && n % 100 != 11
11
+ def one_conditions(number)
12
+ number % 10 == 1 && number % 100 != 11
11
13
  end
12
14
  end
13
15
  end
@@ -1,25 +1,28 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module I18n
3
5
  module Plurals
4
6
  module Lt
5
7
  module_function
6
8
 
7
- RULE = lambda do |n|
8
- if one_conditions(n)
9
+ RULE = lambda do |number|
10
+ if one_conditions(number)
9
11
  :one
10
- elsif ones_conditions(n)
12
+ elsif ones_conditions(number)
11
13
  :ones
12
14
  else
13
15
  :other
14
16
  end
15
17
  end
16
18
 
17
- def one_conditions(n)
18
- n % 10 == 1 && n % 100 != 11
19
+ def one_conditions(number)
20
+ number % 10 == 1 && number % 100 != 11
19
21
  end
20
22
 
21
- def ones_conditions(n)
22
- [2, 3, 4, 5, 6, 7, 8, 9].include?(n % 10) && ![12, 13, 14, 15, 16, 17, 18, 19].include?(n % 100)
23
+ def ones_conditions(number)
24
+ [2, 3, 4, 5, 6, 7, 8, 9].include?(number % 10) &&
25
+ ![12, 13, 14, 15, 16, 17, 18, 19].include?(number % 100)
23
26
  end
24
27
  end
25
28
  end
@@ -1,13 +1,15 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module I18n
3
5
  module Plurals
4
6
  module Lv
5
7
  module_function
6
8
 
7
- RULE = ->(n) { one_conditions(n) ? :one : :other }
9
+ RULE = ->(number) { one_conditions(number) ? :one : :other }
8
10
 
9
- def one_conditions(n)
10
- n % 10 == 1 && n % 100 != 11
11
+ def one_conditions(number)
12
+ number % 10 == 1 && number % 100 != 11
11
13
  end
12
14
  end
13
15
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Hash[
2
4
  NumbersAndWords::I18n::Pluralization.languages.map do |language|
3
5
  [language.to_sym, {
@@ -1,31 +1,36 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module I18n
3
5
  module Plurals
4
6
  module Ru
5
7
  module_function
6
8
 
7
- RULE = lambda do |n|
8
- if one_conditions(n)
9
+ RULE = lambda do |number|
10
+ if one_conditions(number)
9
11
  :one
10
- elsif few_conditions(n)
12
+ elsif few_conditions(number)
11
13
  :few
12
- elsif many_conditions(n)
14
+ elsif many_conditions(number)
13
15
  :many
14
16
  else
15
17
  :other
16
18
  end
17
19
  end
18
20
 
19
- def one_conditions(n)
20
- n % 10 == 1 && n % 100 != 11
21
+ def one_conditions(number)
22
+ number % 10 == 1 && number % 100 != 11
21
23
  end
22
24
 
23
- def few_conditions(n)
24
- [2, 3, 4].include?(n % 10) && ![12, 13, 14].include?(n % 100)
25
+ def few_conditions(number)
26
+ [2, 3, 4].include?(number % 10) &&
27
+ ![12, 13, 14].include?(number % 100)
25
28
  end
26
29
 
27
- def many_conditions(n)
28
- (n % 10).zero? || [5, 6, 7, 8, 9].include?(n % 10) || [11, 12, 13, 14].include?(n % 100)
30
+ def many_conditions(number)
31
+ (number % 10).zero? ||
32
+ [5, 6, 7, 8, 9].include?(number % 10) ||
33
+ [11, 12, 13, 14].include?(number % 100)
29
34
  end
30
35
  end
31
36
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module I18n
3
5
  module Plurals
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'numbers_and_words/strategies/figures_converter'
2
4
  require 'numbers_and_words/strategies/array_joiner'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'numbers_and_words/strategies/array_joiner/languages'
2
4
 
3
5
  module NumbersAndWords
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'numbers_and_words/strategies/array_joiner/languages/families/base'
2
4
 
3
5
  require 'numbers_and_words/strategies/array_joiner/languages/base'
@@ -11,6 +13,7 @@ require 'numbers_and_words/strategies/array_joiner/languages/ru'
11
13
  require 'numbers_and_words/strategies/array_joiner/languages/ua'
12
14
  require 'numbers_and_words/strategies/array_joiner/languages/pt-BR'
13
15
  require 'numbers_and_words/strategies/array_joiner/languages/cs'
16
+ require 'numbers_and_words/strategies/array_joiner/languages/vi'
14
17
 
15
18
  module NumbersAndWords
16
19
  module Strategies
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module ArrayJoiner
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module ArrayJoiner
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module ArrayJoiner
@@ -8,7 +10,7 @@ module NumbersAndWords
8
10
  end
9
11
 
10
12
  def union_element
11
- @elements.first.empty? ? "#{union_separator} " : super
13
+ @elements.first.empty? ? "#{micro_separator} " : super
12
14
  end
13
15
  end
14
16
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module ArrayJoiner
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module ArrayJoiner
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module ArrayJoiner
@@ -9,11 +11,11 @@ module NumbersAndWords
9
11
  end
10
12
 
11
13
  def union_element
12
- union_separator.empty? ? ' ' : " #{union_separator} "
14
+ micro_separator.empty? ? ' ' : " #{micro_separator} "
13
15
  end
14
16
 
15
- def union_separator
16
- options[:union_separator] || @translations.union_separator || ''
17
+ def micro_separator
18
+ options[:micro_separator] || @translations.micro_separator || ''
17
19
  end
18
20
  end
19
21
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module ArrayJoiner
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module ArrayJoiner
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module ArrayJoiner
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module ArrayJoiner
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module NumbersAndWords
2
4
  module Strategies
3
5
  module ArrayJoiner
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NumbersAndWords
4
+ module Strategies
5
+ module ArrayJoiner
6
+ module Languages
7
+ class Vi < Base
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'numbers_and_words/strategies/figures_converter/languages'
2
4
  require 'numbers_and_words/strategies/figures_converter/options'
3
5
  require 'numbers_and_words/strategies/figures_converter/decorators'