rails-i18n 7.0.9 → 8.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 +23 -0
- data/README.md +6 -3
- data/lib/rails_i18n/pluralization.rb +143 -0
- data/lib/rails_i18n/transliteration.rb +191 -0
- data/rails/locale/en.yml +9 -6
- data/rails/locale/hr.yml +31 -31
- data/rails/locale/ko.yml +2 -0
- data/rails/locale/lt.yml +10 -0
- data/rails/locale/pt.yml +8 -5
- data/rails/locale/tr.yml +1 -1
- data/rails/pluralization/ar.rb +1 -27
- data/rails/pluralization/gd.rb +1 -23
- data/rails/pluralization/hsb.rb +1 -20
- data/rails/pluralization/lt.rb +1 -22
- data/rails/pluralization/lv.rb +1 -15
- data/rails/pluralization/mk.rb +1 -15
- data/rails/pluralization/pl.rb +1 -24
- data/rails/pluralization/sl.rb +1 -18
- data/rails/transliteration/ru.rb +1 -88
- data/rails/transliteration/uk.rb +1 -108
- metadata +13 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d2459b1e777f151a6d1dfb7565f45604fc730c518f5e700fc6a328755ade0f74
|
4
|
+
data.tar.gz: 91b77c69aa1b543de0433d258565633ec08ce11bafa736cd3de774295d7aff73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c0104fd3167ab5282de30ff0ce95f651ee05c0923d9b555fb6fc9fba83d3a89aae2dd56bedba1600dfce13da5252638e20bf252217ff60166281f390a6379925
|
7
|
+
data.tar.gz: 56180e14621ef59b9a61e82505749415a69d0c3a3d60bb8f70b508341a890366bfb458a957b36f4acc7e1cb9d350f85d6597700e6c98972434b41b95ff20dff1
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,28 @@
|
|
1
1
|
## unreleased
|
2
2
|
|
3
|
+
|
4
|
+
## 8.0.1 (2024-11-10)
|
5
|
+
|
6
|
+
- Update following locales:
|
7
|
+
- English (en): Add missing key (`password_too_long`)
|
8
|
+
- Portuguese (pt): Add missing keys (`password_too_long`, `negative_format`, and `zb`)
|
9
|
+
- Update Gemfile
|
10
|
+
|
11
|
+
## 8.0.0 (2024-11-10)
|
12
|
+
|
13
|
+
- Update to Rails 8.0.x
|
14
|
+
- Drop support for Ruby 3.0 and 3.1
|
15
|
+
|
16
|
+
## 7.0.10 (2024-10-28)
|
17
|
+
|
18
|
+
- Update following locales:
|
19
|
+
- Lithuanian (lt): Add missing keys (`x_years`, `in`, `model_invalid`, `required`, `round_mode`, `eb`, `pb`)
|
20
|
+
- Portuguese (pt): Fixed `number.currency.format.format` and `helpers.submit.update` #1122
|
21
|
+
- Croatian (hr): use genitive case for month names and put a period after weekday and month abbreviations #1126
|
22
|
+
- Korean (ko): Add missing keys (Storage units) #1118
|
23
|
+
- Fix compatibility with frozen string literals. #1120
|
24
|
+
- Refactor translations implemented in Ruby to avoid method redefinition warnings on reload. #1128
|
25
|
+
|
3
26
|
## 7.0.9 (2024-03-13)
|
4
27
|
|
5
28
|
- Add following locales:
|
data/README.md
CHANGED
@@ -11,12 +11,14 @@ Centralization of locale data collection for Ruby on Rails.
|
|
11
11
|
Include the gem to your Gemfile:
|
12
12
|
|
13
13
|
``` ruby
|
14
|
-
gem 'rails-i18n', '
|
14
|
+
gem 'rails-i18n', github: 'svenfuchs/rails-i18n', branch: 'master' # For bleeding edge unreleased versions
|
15
|
+
gem 'rails-i18n', '~> 8.0.0' # For Rails >= 8.0.0
|
16
|
+
gem 'rails-i18n', '~> 7.0.0' # For Rails >= 7.0.0
|
15
17
|
gem 'rails-i18n', '~> 6.0' # For 6.x
|
16
18
|
gem 'rails-i18n', '~> 5.1' # For 5.0.x, 5.1.x and 5.2.x
|
17
19
|
gem 'rails-i18n', '~> 4.0' # For 4.0.x
|
18
20
|
gem 'rails-i18n', '~> 3.0' # For 3.x
|
19
|
-
gem 'rails-i18n', github: 'svenfuchs/rails-i18n', branch: '
|
21
|
+
gem 'rails-i18n', github: 'svenfuchs/rails-i18n', branch: 'rails-5-x' # For 5.x
|
20
22
|
gem 'rails-i18n', github: 'svenfuchs/rails-i18n', branch: 'rails-4-x' # For 4.x
|
21
23
|
gem 'rails-i18n', github: 'svenfuchs/rails-i18n', branch: 'rails-3-x' # For 3.x
|
22
24
|
```
|
@@ -24,7 +26,8 @@ gem 'rails-i18n', github: 'svenfuchs/rails-i18n', branch: 'rails-3-x' # For 3.x
|
|
24
26
|
Alternatively, execute the following command:
|
25
27
|
|
26
28
|
``` shell
|
27
|
-
gem install rails-i18n -v '~>
|
29
|
+
gem install rails-i18n -v '~> 8.0.0' # For Rails >= 8.0.0
|
30
|
+
gem install rails-i18n -v '~> 7.0.0' # For Rails >= 7.0.0
|
28
31
|
gem install rails-i18n -v '~> 6.0' # For 6.x
|
29
32
|
gem install rails-i18n -v '~> 5.1' # For For 5.0.x, 5.1.x and 5.2.x
|
30
33
|
gem install rails-i18n -v '~> 4.0' # For 4.0.x
|
@@ -0,0 +1,143 @@
|
|
1
|
+
module RailsI18n
|
2
|
+
module Pluralization
|
3
|
+
module Arabic
|
4
|
+
def self.rule
|
5
|
+
lambda do |n|
|
6
|
+
return :other unless n.is_a?(Numeric)
|
7
|
+
|
8
|
+
mod100 = n % 100
|
9
|
+
|
10
|
+
if n == 0
|
11
|
+
:zero
|
12
|
+
elsif n == 1
|
13
|
+
:one
|
14
|
+
elsif n == 2
|
15
|
+
:two
|
16
|
+
elsif (3..10).to_a.include?(mod100)
|
17
|
+
:few
|
18
|
+
elsif (11..99).to_a.include?(mod100)
|
19
|
+
:many
|
20
|
+
else
|
21
|
+
:other
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
module ScottishGaelic
|
28
|
+
def self.rule
|
29
|
+
lambda do |n|
|
30
|
+
return :other unless n.is_a?(Numeric)
|
31
|
+
|
32
|
+
floorn = n.floor
|
33
|
+
|
34
|
+
if floorn == 1 || floorn == 11
|
35
|
+
:one
|
36
|
+
elsif floorn == 2 || floorn == 12
|
37
|
+
:two
|
38
|
+
elsif (3..19).member?(floorn)
|
39
|
+
:few
|
40
|
+
else
|
41
|
+
:other
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
module UpperSorbian
|
48
|
+
def self.rule
|
49
|
+
lambda do |n|
|
50
|
+
return :other unless n.is_a?(Numeric)
|
51
|
+
|
52
|
+
mod100 = n % 100
|
53
|
+
|
54
|
+
case mod100
|
55
|
+
when 1 then :one
|
56
|
+
when 2 then :two
|
57
|
+
when 3, 4 then :few
|
58
|
+
else :other
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
module Lithuanian
|
65
|
+
def self.rule
|
66
|
+
lambda do |n|
|
67
|
+
return :other unless n.is_a?(Numeric)
|
68
|
+
|
69
|
+
mod10 = n % 10
|
70
|
+
mod100 = n % 100
|
71
|
+
|
72
|
+
if mod10 == 1 && !(11..19).to_a.include?(mod100)
|
73
|
+
:one
|
74
|
+
elsif (2..9).to_a.include?(mod10) && !(11..19).to_a.include?(mod100)
|
75
|
+
:few
|
76
|
+
else
|
77
|
+
:other
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
module Latvian
|
84
|
+
def self.rule
|
85
|
+
lambda do |n|
|
86
|
+
if n.is_a?(Numeric) && n % 10 == 1 && n % 100 != 11
|
87
|
+
:one
|
88
|
+
else
|
89
|
+
:other
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
module Macedonian
|
96
|
+
def self.rule
|
97
|
+
lambda do |n|
|
98
|
+
if n.is_a?(Numeric) && n % 10 == 1 && n != 11
|
99
|
+
:one
|
100
|
+
else
|
101
|
+
:other
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
module Polish
|
108
|
+
def self.rule
|
109
|
+
lambda do |n|
|
110
|
+
return :other unless n.is_a?(Numeric)
|
111
|
+
|
112
|
+
mod10 = n % 10
|
113
|
+
mod100 = n % 100
|
114
|
+
|
115
|
+
if n == 1
|
116
|
+
:one
|
117
|
+
elsif [2, 3, 4].include?(mod10) && ![12, 13, 14].include?(mod100)
|
118
|
+
:few
|
119
|
+
elsif [0, 1, 5, 6, 7, 8, 9].include?(mod10) || [12, 13, 14].include?(mod100)
|
120
|
+
:many
|
121
|
+
else
|
122
|
+
:other
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
module Slovenian
|
129
|
+
def self.rule
|
130
|
+
lambda do |n|
|
131
|
+
return :other unless n.is_a?(Numeric)
|
132
|
+
|
133
|
+
case n % 100
|
134
|
+
when 1 then :one
|
135
|
+
when 2 then :two
|
136
|
+
when 3, 4 then :few
|
137
|
+
else :other
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
@@ -0,0 +1,191 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsI18n
|
4
|
+
module Transliteration
|
5
|
+
module Ukrainian
|
6
|
+
class << self
|
7
|
+
def rule
|
8
|
+
lambda do |string|
|
9
|
+
next '' unless string
|
10
|
+
|
11
|
+
string.gsub(/./) do |char|
|
12
|
+
# Regexp.last_match is local to the thread and method scope
|
13
|
+
# of the method that did the pattern match.
|
14
|
+
@pre_match, @post_match = $`, $'
|
15
|
+
|
16
|
+
case char
|
17
|
+
when 'Ж'
|
18
|
+
lookahead_upcase 'ZH'
|
19
|
+
when 'Х'
|
20
|
+
lookahead_upcase 'KH'
|
21
|
+
when 'Ц'
|
22
|
+
lookahead_upcase 'TS'
|
23
|
+
when 'Ч'
|
24
|
+
lookahead_upcase 'CH'
|
25
|
+
when 'Ш'
|
26
|
+
lookahead_upcase 'SH'
|
27
|
+
when 'Щ'
|
28
|
+
lookahead_upcase 'SHCH'
|
29
|
+
when 'г'
|
30
|
+
behind =~ /[зЗ]/ ? 'gh' : 'h'
|
31
|
+
when 'Г'
|
32
|
+
behind =~ /[зЗ]/ ? lookahead_upcase('GH') : 'H'
|
33
|
+
when 'є'
|
34
|
+
letter?(behind) ? 'ie' : 'ye'
|
35
|
+
when 'Є'
|
36
|
+
letter?(behind) ? lookahead_upcase('IE') : lookahead_upcase('YE')
|
37
|
+
when 'ї'
|
38
|
+
letter?(behind) ? 'i' : 'yi'
|
39
|
+
when 'Ї'
|
40
|
+
letter?(behind) ? 'I' : lookahead_upcase('YI')
|
41
|
+
when 'й'
|
42
|
+
letter?(behind) ? 'i' : 'y'
|
43
|
+
when 'Й'
|
44
|
+
letter?(behind) ? 'I' : 'Y'
|
45
|
+
when 'ю'
|
46
|
+
letter?(behind) ? 'iu' : 'yu'
|
47
|
+
when 'Ю'
|
48
|
+
letter?(behind) ? lookahead_upcase('IU') : lookahead_upcase('YU')
|
49
|
+
when 'я'
|
50
|
+
letter?(behind) ? 'ia' : 'ya'
|
51
|
+
when 'Я'
|
52
|
+
letter?(behind) ? lookahead_upcase('IA') : lookahead_upcase('YA')
|
53
|
+
when "'"
|
54
|
+
# remove apostrophe inside a word
|
55
|
+
letter?(behind) && letter?(ahead) ? '' : "'"
|
56
|
+
else
|
57
|
+
straight_lookup[char] || char
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
private
|
64
|
+
|
65
|
+
def behind
|
66
|
+
@pre_match && @pre_match[-1]
|
67
|
+
end
|
68
|
+
|
69
|
+
def ahead
|
70
|
+
@post_match && @post_match[0]
|
71
|
+
end
|
72
|
+
|
73
|
+
def downcased?(symbol)
|
74
|
+
symbol =~ downcased_regexp
|
75
|
+
end
|
76
|
+
|
77
|
+
def downcased_regexp
|
78
|
+
@downcased_regexp ||= /[а-яґєії]/
|
79
|
+
end
|
80
|
+
|
81
|
+
# apostrophe can be inside a word
|
82
|
+
def letter?(symbol)
|
83
|
+
symbol =~ letter_regexp
|
84
|
+
end
|
85
|
+
|
86
|
+
def letter_regexp
|
87
|
+
@letter_regexp ||= /[а-яґєіїА-ЯҐЄІЇ'’]/
|
88
|
+
end
|
89
|
+
|
90
|
+
def lookahead_upcase(word)
|
91
|
+
downcased?(ahead) ? word.capitalize : word.upcase
|
92
|
+
end
|
93
|
+
|
94
|
+
def straight_lookup
|
95
|
+
@straight_lookup ||= {
|
96
|
+
'а'=>'a','б'=>'b','в'=>'v','ґ'=>'g','д'=>'d','е'=>'e','ж'=>'zh',
|
97
|
+
'з'=>'z','и'=>'y','і'=>'i','к'=>'k','л'=>'l','м'=>'m','н'=>'n','о'=>'o',
|
98
|
+
'п'=>'p','р'=>'r','с'=>'s','т'=>'t','у'=>'u','ф'=>'f','х'=>'kh','ц'=>'ts',
|
99
|
+
'ч'=>'ch','ш'=>'sh','щ'=>'shch','ь'=>'','’'=>'',
|
100
|
+
'А'=>'A','Б'=>'B','В'=>'V','Ґ'=>'G','Д'=>'D','Е'=>'E',
|
101
|
+
'З'=>'Z','И'=>'Y','І'=>'I','К'=>'K','Л'=>'L','М'=>'M','Н'=>'N','О'=>'O',
|
102
|
+
'П'=>'P','Р'=>'R','С'=>'S','Т'=>'T','У'=>'U','Ф'=>'F','Ь'=>''
|
103
|
+
}
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
# (c) Yaroslav Markin, Julian "julik" Tarkhanov and Co
|
109
|
+
# https://github.com/yaroslav/russian/blob/master/lib/russian/transliteration.rb
|
110
|
+
module Russian
|
111
|
+
class << self
|
112
|
+
def rule
|
113
|
+
lambda do |string|
|
114
|
+
next '' unless string
|
115
|
+
|
116
|
+
chars = string.scan(%r{#{multi_keys.join '|'}|\w|.})
|
117
|
+
|
118
|
+
result = +""
|
119
|
+
|
120
|
+
chars.each_with_index do |char, index|
|
121
|
+
if upper.has_key?(char) && lower.has_key?(chars[index+1])
|
122
|
+
# combined case
|
123
|
+
result << upper[char].downcase.capitalize
|
124
|
+
elsif upper.has_key?(char)
|
125
|
+
result << upper[char]
|
126
|
+
elsif lower.has_key?(char)
|
127
|
+
result << lower[char]
|
128
|
+
else
|
129
|
+
result << char
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
result
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
private
|
138
|
+
|
139
|
+
# use instance variables instead of constants to prevent warnings
|
140
|
+
# on re-evaling after I18n.reload!
|
141
|
+
|
142
|
+
def upper
|
143
|
+
@upper ||= begin
|
144
|
+
upper_single = {
|
145
|
+
"Ґ"=>"G","Ё"=>"YO","Є"=>"E","Ї"=>"YI","І"=>"I",
|
146
|
+
"А"=>"A","Б"=>"B","В"=>"V","Г"=>"G",
|
147
|
+
"Д"=>"D","Е"=>"E","Ж"=>"ZH","З"=>"Z","И"=>"I",
|
148
|
+
"Й"=>"Y","К"=>"K","Л"=>"L","М"=>"M","Н"=>"N",
|
149
|
+
"О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T",
|
150
|
+
"У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"TS","Ч"=>"CH",
|
151
|
+
"Ш"=>"SH","Щ"=>"SCH","Ъ"=>"'","Ы"=>"Y","Ь"=>"",
|
152
|
+
"Э"=>"E","Ю"=>"YU","Я"=>"YA",
|
153
|
+
}
|
154
|
+
|
155
|
+
(upper_single.merge(upper_multi)).freeze
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
def lower
|
160
|
+
@lower ||= begin
|
161
|
+
lower_single = {
|
162
|
+
"і"=>"i","ґ"=>"g","ё"=>"yo","№"=>"#","є"=>"e",
|
163
|
+
"ї"=>"yi","а"=>"a","б"=>"b",
|
164
|
+
"в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"zh",
|
165
|
+
"з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
|
166
|
+
"м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
|
167
|
+
"с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",
|
168
|
+
"ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"'",
|
169
|
+
"ы"=>"y","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya",
|
170
|
+
}
|
171
|
+
|
172
|
+
(lower_single.merge(lower_multi)).freeze
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
176
|
+
def upper_multi
|
177
|
+
@upper_multi ||= { "ЬЕ"=>"IE", "ЬЁ"=>"IE" }
|
178
|
+
end
|
179
|
+
|
180
|
+
def lower_multi
|
181
|
+
@lower_multi ||= { "ье"=>"ie", "ьё"=>"ie" }
|
182
|
+
end
|
183
|
+
|
184
|
+
def multi_keys
|
185
|
+
@multi_keys ||= (lower_multi.merge(upper_multi)).keys.sort_by {|s| s.length}.reverse.freeze
|
186
|
+
end
|
187
|
+
end
|
188
|
+
end
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
data/rails/locale/en.yml
CHANGED
@@ -17,7 +17,7 @@ en:
|
|
17
17
|
- Fri
|
18
18
|
- Sat
|
19
19
|
abbr_month_names:
|
20
|
-
-
|
20
|
+
-
|
21
21
|
- Jan
|
22
22
|
- Feb
|
23
23
|
- Mar
|
@@ -43,7 +43,7 @@ en:
|
|
43
43
|
long: "%B %d, %Y"
|
44
44
|
short: "%b %d"
|
45
45
|
month_names:
|
46
|
-
-
|
46
|
+
-
|
47
47
|
- January
|
48
48
|
- February
|
49
49
|
- March
|
@@ -57,9 +57,9 @@ en:
|
|
57
57
|
- November
|
58
58
|
- December
|
59
59
|
order:
|
60
|
-
-
|
61
|
-
-
|
62
|
-
-
|
60
|
+
- year
|
61
|
+
- month
|
62
|
+
- day
|
63
63
|
datetime:
|
64
64
|
distance_in_words:
|
65
65
|
about_x_hours:
|
@@ -100,7 +100,7 @@ en:
|
|
100
100
|
one: "%{count} year"
|
101
101
|
other: "%{count} years"
|
102
102
|
prompts:
|
103
|
-
second:
|
103
|
+
second: Seconds
|
104
104
|
minute: Minute
|
105
105
|
hour: Hour
|
106
106
|
day: Day
|
@@ -128,6 +128,7 @@ en:
|
|
128
128
|
not_an_integer: must be an integer
|
129
129
|
odd: must be odd
|
130
130
|
other_than: must be other than %{count}
|
131
|
+
password_too_long: is too long
|
131
132
|
present: must be blank
|
132
133
|
required: must exist
|
133
134
|
taken: has already been taken
|
@@ -157,6 +158,7 @@ en:
|
|
157
158
|
format:
|
158
159
|
delimiter: ","
|
159
160
|
format: "%u%n"
|
161
|
+
negative_format: "-%u%n"
|
160
162
|
precision: 2
|
161
163
|
separator: "."
|
162
164
|
significant: false
|
@@ -196,6 +198,7 @@ en:
|
|
196
198
|
mb: MB
|
197
199
|
pb: PB
|
198
200
|
tb: TB
|
201
|
+
zb: ZB
|
199
202
|
percentage:
|
200
203
|
format:
|
201
204
|
delimiter: ''
|
data/rails/locale/hr.yml
CHANGED
@@ -9,27 +9,27 @@ hr:
|
|
9
9
|
has_many: Nije moguće izbrisati zapis jer postoje ovisni %{record}
|
10
10
|
date:
|
11
11
|
abbr_day_names:
|
12
|
-
- ned
|
13
|
-
- pon
|
14
|
-
- uto
|
15
|
-
- sri
|
16
|
-
- čet
|
17
|
-
- pet
|
18
|
-
- sub
|
12
|
+
- ned.
|
13
|
+
- pon.
|
14
|
+
- uto.
|
15
|
+
- sri.
|
16
|
+
- čet.
|
17
|
+
- pet.
|
18
|
+
- sub.
|
19
19
|
abbr_month_names:
|
20
20
|
-
|
21
|
-
- sij
|
22
|
-
-
|
23
|
-
- ožu
|
24
|
-
- tra
|
25
|
-
- svi
|
26
|
-
- lip
|
27
|
-
- srp
|
28
|
-
- kol
|
29
|
-
- ruj
|
30
|
-
- lis
|
31
|
-
- stu
|
32
|
-
- pro
|
21
|
+
- sij.
|
22
|
+
- velj.
|
23
|
+
- ožu.
|
24
|
+
- tra.
|
25
|
+
- svi.
|
26
|
+
- lip.
|
27
|
+
- srp.
|
28
|
+
- kol.
|
29
|
+
- ruj.
|
30
|
+
- lis.
|
31
|
+
- stu.
|
32
|
+
- pro.
|
33
33
|
day_names:
|
34
34
|
- nedjelja
|
35
35
|
- ponedjeljak
|
@@ -44,18 +44,18 @@ hr:
|
|
44
44
|
short: "%e.%-m."
|
45
45
|
month_names:
|
46
46
|
-
|
47
|
-
-
|
48
|
-
-
|
49
|
-
-
|
50
|
-
-
|
51
|
-
-
|
52
|
-
-
|
53
|
-
-
|
54
|
-
-
|
55
|
-
-
|
56
|
-
-
|
57
|
-
-
|
58
|
-
-
|
47
|
+
- siječnja
|
48
|
+
- veljače
|
49
|
+
- ožujka
|
50
|
+
- travnja
|
51
|
+
- svibnja
|
52
|
+
- lipnja
|
53
|
+
- srpnja
|
54
|
+
- kolovoza
|
55
|
+
- rujna
|
56
|
+
- listopada
|
57
|
+
- studenoga
|
58
|
+
- prosinca
|
59
59
|
order:
|
60
60
|
- :day
|
61
61
|
- :month
|
data/rails/locale/ko.yml
CHANGED
data/rails/locale/lt.yml
CHANGED
@@ -107,6 +107,10 @@ lt:
|
|
107
107
|
one: "%{count} mėnesis"
|
108
108
|
few: "%{count} mėnesiai"
|
109
109
|
other: "%{count} mėnesių"
|
110
|
+
x_years:
|
111
|
+
one: "%{count} metai"
|
112
|
+
few: "%{count} metai"
|
113
|
+
other: "%{count} metai"
|
110
114
|
prompts:
|
111
115
|
second: Sekundės
|
112
116
|
minute: Minutė
|
@@ -126,15 +130,18 @@ lt:
|
|
126
130
|
exclusion: yra rezervuotas
|
127
131
|
greater_than: turi būti didesnis už %{count}
|
128
132
|
greater_than_or_equal_to: turi būti didesnis arba lygus %{count}
|
133
|
+
in: turi būti skaičiuje %{count}
|
129
134
|
inclusion: nenumatyta reikšmė
|
130
135
|
invalid: neteisingas
|
131
136
|
less_than: turi būti mažesnis už %{count}
|
132
137
|
less_than_or_equal_to: turi būti mažesnis arba lygus %{count}
|
138
|
+
model_invalid: 'Tikrinimo klaida: %{errors}'
|
133
139
|
not_a_number: ne skaičius
|
134
140
|
not_an_integer: privalo būti sveikas skaičius
|
135
141
|
odd: turi būti nelyginis skaičius
|
136
142
|
other_than: privalo būti kitoks nei %{count}
|
137
143
|
present: turi būti tuščias
|
144
|
+
required: turi egzistuoti
|
138
145
|
taken: jau užimtas
|
139
146
|
too_long:
|
140
147
|
one: per ilgas (daugiausiai %{count} simbolis)
|
@@ -171,6 +178,7 @@ lt:
|
|
171
178
|
format:
|
172
179
|
delimiter: " "
|
173
180
|
precision: 3
|
181
|
+
round_mode: default
|
174
182
|
separator: ","
|
175
183
|
significant: false
|
176
184
|
strip_insignificant_zeros: false
|
@@ -196,9 +204,11 @@ lt:
|
|
196
204
|
one: Baitas
|
197
205
|
few: Baitai
|
198
206
|
other: Baitų
|
207
|
+
eb: EB
|
199
208
|
gb: GB
|
200
209
|
kb: KB
|
201
210
|
mb: MB
|
211
|
+
pb: PB
|
202
212
|
tb: TB
|
203
213
|
percentage:
|
204
214
|
format:
|
data/rails/locale/pt.yml
CHANGED
@@ -57,9 +57,9 @@ pt:
|
|
57
57
|
- novembro
|
58
58
|
- dezembro
|
59
59
|
order:
|
60
|
-
-
|
61
|
-
-
|
62
|
-
-
|
60
|
+
- day
|
61
|
+
- month
|
62
|
+
- year
|
63
63
|
datetime:
|
64
64
|
distance_in_words:
|
65
65
|
about_x_hours:
|
@@ -128,6 +128,7 @@ pt:
|
|
128
128
|
not_an_integer: tem de ser um inteiro
|
129
129
|
odd: tem de ser ímpar
|
130
130
|
other_than: tem de ser diferente de %{count}
|
131
|
+
password_too_long: é muita longa
|
131
132
|
present: não pode estar em branco
|
132
133
|
required: é obrigatório
|
133
134
|
taken: não está disponível
|
@@ -145,12 +146,13 @@ pt:
|
|
145
146
|
submit:
|
146
147
|
create: Criar %{model}
|
147
148
|
submit: Gravar %{model}
|
148
|
-
update:
|
149
|
+
update: Atualizar %{model}
|
149
150
|
number:
|
150
151
|
currency:
|
151
152
|
format:
|
152
153
|
delimiter: "."
|
153
|
-
format: "%
|
154
|
+
format: "%n %u"
|
155
|
+
negative_format: "-%u%n"
|
154
156
|
precision: 2
|
155
157
|
separator: ","
|
156
158
|
significant: false
|
@@ -198,6 +200,7 @@ pt:
|
|
198
200
|
mb: MB
|
199
201
|
pb: PB
|
200
202
|
tb: TB
|
203
|
+
zb: ZB
|
201
204
|
percentage:
|
202
205
|
format:
|
203
206
|
delimiter: ''
|
data/rails/locale/tr.yml
CHANGED
data/rails/pluralization/ar.rb
CHANGED
@@ -1,30 +1,4 @@
|
|
1
|
-
|
2
|
-
module Pluralization
|
3
|
-
module Arabic
|
4
|
-
def self.rule
|
5
|
-
lambda do |n|
|
6
|
-
return :other unless n.is_a?(Numeric)
|
7
|
-
|
8
|
-
mod100 = n % 100
|
9
|
-
|
10
|
-
if n == 0
|
11
|
-
:zero
|
12
|
-
elsif n == 1
|
13
|
-
:one
|
14
|
-
elsif n == 2
|
15
|
-
:two
|
16
|
-
elsif (3..10).to_a.include?(mod100)
|
17
|
-
:few
|
18
|
-
elsif (11..99).to_a.include?(mod100)
|
19
|
-
:many
|
20
|
-
else
|
21
|
-
:other
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
1
|
+
require 'rails_i18n/pluralization'
|
28
2
|
|
29
3
|
{ :ar => {
|
30
4
|
:'i18n' => {
|
data/rails/pluralization/gd.rb
CHANGED
@@ -1,26 +1,4 @@
|
|
1
|
-
|
2
|
-
module Pluralization
|
3
|
-
module ScottishGaelic
|
4
|
-
def self.rule
|
5
|
-
lambda do |n|
|
6
|
-
return :other unless n.is_a?(Numeric)
|
7
|
-
|
8
|
-
floorn = n.floor
|
9
|
-
|
10
|
-
if floorn == 1 || floorn == 11
|
11
|
-
:one
|
12
|
-
elsif floorn == 2 || floorn == 12
|
13
|
-
:two
|
14
|
-
elsif (3..19).member?(floorn)
|
15
|
-
:few
|
16
|
-
else
|
17
|
-
:other
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
1
|
+
require 'rails_i18n/pluralization'
|
24
2
|
|
25
3
|
{ :gd => {
|
26
4
|
:'i18n' => {
|
data/rails/pluralization/hsb.rb
CHANGED
@@ -1,23 +1,4 @@
|
|
1
|
-
|
2
|
-
module Pluralization
|
3
|
-
module UpperSorbian
|
4
|
-
def self.rule
|
5
|
-
lambda do |n|
|
6
|
-
return :other unless n.is_a?(Numeric)
|
7
|
-
|
8
|
-
mod100 = n % 100
|
9
|
-
|
10
|
-
case mod100
|
11
|
-
when 1 then :one
|
12
|
-
when 2 then :two
|
13
|
-
when 3, 4 then :few
|
14
|
-
else :other
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
1
|
+
require 'rails_i18n/pluralization'
|
21
2
|
|
22
3
|
{ :hsb => {
|
23
4
|
:'i18n' => {
|
data/rails/pluralization/lt.rb
CHANGED
@@ -1,25 +1,4 @@
|
|
1
|
-
|
2
|
-
module Pluralization
|
3
|
-
module Lithuanian
|
4
|
-
def self.rule
|
5
|
-
lambda do |n|
|
6
|
-
return :other unless n.is_a?(Numeric)
|
7
|
-
|
8
|
-
mod10 = n % 10
|
9
|
-
mod100 = n % 100
|
10
|
-
|
11
|
-
if mod10 == 1 && !(11..19).to_a.include?(mod100)
|
12
|
-
:one
|
13
|
-
elsif (2..9).to_a.include?(mod10) && !(11..19).to_a.include?(mod100)
|
14
|
-
:few
|
15
|
-
else
|
16
|
-
:other
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
1
|
+
require 'rails_i18n/pluralization'
|
23
2
|
|
24
3
|
{ :lt => {
|
25
4
|
:'i18n' => {
|
data/rails/pluralization/lv.rb
CHANGED
@@ -1,18 +1,4 @@
|
|
1
|
-
|
2
|
-
module Pluralization
|
3
|
-
module Latvian
|
4
|
-
def self.rule
|
5
|
-
lambda do |n|
|
6
|
-
if n.is_a?(Numeric) && n % 10 == 1 && n % 100 != 11
|
7
|
-
:one
|
8
|
-
else
|
9
|
-
:other
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
1
|
+
require 'rails_i18n/pluralization'
|
16
2
|
|
17
3
|
{ :lv => {
|
18
4
|
:'i18n' => {
|
data/rails/pluralization/mk.rb
CHANGED
@@ -1,18 +1,4 @@
|
|
1
|
-
|
2
|
-
module Pluralization
|
3
|
-
module Macedonian
|
4
|
-
def self.rule
|
5
|
-
lambda do |n|
|
6
|
-
if n.is_a?(Numeric) && n % 10 == 1 && n != 11
|
7
|
-
:one
|
8
|
-
else
|
9
|
-
:other
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
1
|
+
require 'rails_i18n/pluralization'
|
16
2
|
|
17
3
|
{ :mk => {
|
18
4
|
:'i18n' => {
|
data/rails/pluralization/pl.rb
CHANGED
@@ -1,27 +1,4 @@
|
|
1
|
-
|
2
|
-
module Pluralization
|
3
|
-
module Polish
|
4
|
-
def self.rule
|
5
|
-
lambda do |n|
|
6
|
-
return :other unless n.is_a?(Numeric)
|
7
|
-
|
8
|
-
mod10 = n % 10
|
9
|
-
mod100 = n % 100
|
10
|
-
|
11
|
-
if n == 1
|
12
|
-
:one
|
13
|
-
elsif [2, 3, 4].include?(mod10) && ![12, 13, 14].include?(mod100)
|
14
|
-
:few
|
15
|
-
elsif [0, 1, 5, 6, 7, 8, 9].include?(mod10) || [12, 13, 14].include?(mod100)
|
16
|
-
:many
|
17
|
-
else
|
18
|
-
:other
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
1
|
+
require 'rails_i18n/pluralization'
|
25
2
|
|
26
3
|
{ :pl => {
|
27
4
|
:'i18n' => {
|
data/rails/pluralization/sl.rb
CHANGED
@@ -1,21 +1,4 @@
|
|
1
|
-
|
2
|
-
module Pluralization
|
3
|
-
module Slovenian
|
4
|
-
def self.rule
|
5
|
-
lambda do |n|
|
6
|
-
return :other unless n.is_a?(Numeric)
|
7
|
-
|
8
|
-
case n % 100
|
9
|
-
when 1 then :one
|
10
|
-
when 2 then :two
|
11
|
-
when 3, 4 then :few
|
12
|
-
else :other
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
1
|
+
require 'rails_i18n/pluralization'
|
19
2
|
|
20
3
|
{ :sl => {
|
21
4
|
:'i18n' => {
|
data/rails/transliteration/ru.rb
CHANGED
@@ -1,91 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
# (c) Yaroslav Markin, Julian "julik" Tarkhanov and Co
|
4
|
-
# https://github.com/yaroslav/russian/blob/master/lib/russian/transliteration.rb
|
5
|
-
|
6
|
-
module RailsI18n
|
7
|
-
module Transliteration
|
8
|
-
module Russian
|
9
|
-
class << self
|
10
|
-
def rule
|
11
|
-
lambda do |string|
|
12
|
-
next '' unless string
|
13
|
-
|
14
|
-
chars = string.scan(%r{#{multi_keys.join '|'}|\w|.})
|
15
|
-
|
16
|
-
result = ""
|
17
|
-
|
18
|
-
chars.each_with_index do |char, index|
|
19
|
-
if upper.has_key?(char) && lower.has_key?(chars[index+1])
|
20
|
-
# combined case
|
21
|
-
result << upper[char].downcase.capitalize
|
22
|
-
elsif upper.has_key?(char)
|
23
|
-
result << upper[char]
|
24
|
-
elsif lower.has_key?(char)
|
25
|
-
result << lower[char]
|
26
|
-
else
|
27
|
-
result << char
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
result
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
private
|
36
|
-
|
37
|
-
# use instance variables instead of constants to prevent warnings
|
38
|
-
# on re-evaling after I18n.reload!
|
39
|
-
|
40
|
-
def upper
|
41
|
-
@upper ||= begin
|
42
|
-
upper_single = {
|
43
|
-
"Ґ"=>"G","Ё"=>"YO","Є"=>"E","Ї"=>"YI","І"=>"I",
|
44
|
-
"А"=>"A","Б"=>"B","В"=>"V","Г"=>"G",
|
45
|
-
"Д"=>"D","Е"=>"E","Ж"=>"ZH","З"=>"Z","И"=>"I",
|
46
|
-
"Й"=>"Y","К"=>"K","Л"=>"L","М"=>"M","Н"=>"N",
|
47
|
-
"О"=>"O","П"=>"P","Р"=>"R","С"=>"S","Т"=>"T",
|
48
|
-
"У"=>"U","Ф"=>"F","Х"=>"H","Ц"=>"TS","Ч"=>"CH",
|
49
|
-
"Ш"=>"SH","Щ"=>"SCH","Ъ"=>"'","Ы"=>"Y","Ь"=>"",
|
50
|
-
"Э"=>"E","Ю"=>"YU","Я"=>"YA",
|
51
|
-
}
|
52
|
-
|
53
|
-
(upper_single.merge(upper_multi)).freeze
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
def lower
|
58
|
-
@lower ||= begin
|
59
|
-
lower_single = {
|
60
|
-
"і"=>"i","ґ"=>"g","ё"=>"yo","№"=>"#","є"=>"e",
|
61
|
-
"ї"=>"yi","а"=>"a","б"=>"b",
|
62
|
-
"в"=>"v","г"=>"g","д"=>"d","е"=>"e","ж"=>"zh",
|
63
|
-
"з"=>"z","и"=>"i","й"=>"y","к"=>"k","л"=>"l",
|
64
|
-
"м"=>"m","н"=>"n","о"=>"o","п"=>"p","р"=>"r",
|
65
|
-
"с"=>"s","т"=>"t","у"=>"u","ф"=>"f","х"=>"h",
|
66
|
-
"ц"=>"ts","ч"=>"ch","ш"=>"sh","щ"=>"sch","ъ"=>"'",
|
67
|
-
"ы"=>"y","ь"=>"","э"=>"e","ю"=>"yu","я"=>"ya",
|
68
|
-
}
|
69
|
-
|
70
|
-
(lower_single.merge(lower_multi)).freeze
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
def upper_multi
|
75
|
-
@upper_multi ||= { "ЬЕ"=>"IE", "ЬЁ"=>"IE" }
|
76
|
-
end
|
77
|
-
|
78
|
-
def lower_multi
|
79
|
-
@lower_multi ||= { "ье"=>"ie", "ьё"=>"ie" }
|
80
|
-
end
|
81
|
-
|
82
|
-
def multi_keys
|
83
|
-
@multi_keys ||= (lower_multi.merge(upper_multi)).keys.sort_by {|s| s.length}.reverse.freeze
|
84
|
-
end
|
85
|
-
end
|
86
|
-
end
|
87
|
-
end
|
88
|
-
end
|
1
|
+
require 'rails_i18n/transliteration'
|
89
2
|
|
90
3
|
{ :ru => {
|
91
4
|
:i18n => {
|
data/rails/transliteration/uk.rb
CHANGED
@@ -1,111 +1,4 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
module RailsI18n
|
4
|
-
module Transliteration
|
5
|
-
module Ukrainian
|
6
|
-
class << self
|
7
|
-
def rule
|
8
|
-
lambda do |string|
|
9
|
-
next '' unless string
|
10
|
-
|
11
|
-
string.gsub(/./) do |char|
|
12
|
-
# Regexp.last_match is local to the thread and method scope
|
13
|
-
# of the method that did the pattern match.
|
14
|
-
@pre_match, @post_match = $`, $'
|
15
|
-
|
16
|
-
case char
|
17
|
-
when 'Ж'
|
18
|
-
lookahead_upcase 'ZH'
|
19
|
-
when 'Х'
|
20
|
-
lookahead_upcase 'KH'
|
21
|
-
when 'Ц'
|
22
|
-
lookahead_upcase 'TS'
|
23
|
-
when 'Ч'
|
24
|
-
lookahead_upcase 'CH'
|
25
|
-
when 'Ш'
|
26
|
-
lookahead_upcase 'SH'
|
27
|
-
when 'Щ'
|
28
|
-
lookahead_upcase 'SHCH'
|
29
|
-
when 'г'
|
30
|
-
behind =~ /[зЗ]/ ? 'gh' : 'h'
|
31
|
-
when 'Г'
|
32
|
-
behind =~ /[зЗ]/ ? lookahead_upcase('GH') : 'H'
|
33
|
-
when 'є'
|
34
|
-
letter?(behind) ? 'ie' : 'ye'
|
35
|
-
when 'Є'
|
36
|
-
letter?(behind) ? lookahead_upcase('IE') : lookahead_upcase('YE')
|
37
|
-
when 'ї'
|
38
|
-
letter?(behind) ? 'i' : 'yi'
|
39
|
-
when 'Ї'
|
40
|
-
letter?(behind) ? 'I' : lookahead_upcase('YI')
|
41
|
-
when 'й'
|
42
|
-
letter?(behind) ? 'i' : 'y'
|
43
|
-
when 'Й'
|
44
|
-
letter?(behind) ? 'I' : 'Y'
|
45
|
-
when 'ю'
|
46
|
-
letter?(behind) ? 'iu' : 'yu'
|
47
|
-
when 'Ю'
|
48
|
-
letter?(behind) ? lookahead_upcase('IU') : lookahead_upcase('YU')
|
49
|
-
when 'я'
|
50
|
-
letter?(behind) ? 'ia' : 'ya'
|
51
|
-
when 'Я'
|
52
|
-
letter?(behind) ? lookahead_upcase('IA') : lookahead_upcase('YA')
|
53
|
-
when "'"
|
54
|
-
# remove apostrophe inside a word
|
55
|
-
letter?(behind) && letter?(ahead) ? '' : "'"
|
56
|
-
else
|
57
|
-
straight_lookup[char] || char
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
private
|
64
|
-
|
65
|
-
def behind
|
66
|
-
@pre_match && @pre_match[-1]
|
67
|
-
end
|
68
|
-
|
69
|
-
def ahead
|
70
|
-
@post_match && @post_match[0]
|
71
|
-
end
|
72
|
-
|
73
|
-
def downcased?(symbol)
|
74
|
-
symbol =~ downcased_regexp
|
75
|
-
end
|
76
|
-
|
77
|
-
def downcased_regexp
|
78
|
-
@downcased_regexp ||= /[а-яґєії]/
|
79
|
-
end
|
80
|
-
|
81
|
-
# apostrophe can be inside a word
|
82
|
-
def letter?(symbol)
|
83
|
-
symbol =~ letter_regexp
|
84
|
-
end
|
85
|
-
|
86
|
-
def letter_regexp
|
87
|
-
@letter_regexp ||= /[а-яґєіїА-ЯҐЄІЇ'’]/
|
88
|
-
end
|
89
|
-
|
90
|
-
def lookahead_upcase(word)
|
91
|
-
downcased?(ahead) ? word.capitalize : word.upcase
|
92
|
-
end
|
93
|
-
|
94
|
-
def straight_lookup
|
95
|
-
@straight_lookup ||= {
|
96
|
-
'а'=>'a','б'=>'b','в'=>'v','ґ'=>'g','д'=>'d','е'=>'e','ж'=>'zh',
|
97
|
-
'з'=>'z','и'=>'y','і'=>'i','к'=>'k','л'=>'l','м'=>'m','н'=>'n','о'=>'o',
|
98
|
-
'п'=>'p','р'=>'r','с'=>'s','т'=>'t','у'=>'u','ф'=>'f','х'=>'kh','ц'=>'ts',
|
99
|
-
'ч'=>'ch','ш'=>'sh','щ'=>'shch','ь'=>'','’'=>'',
|
100
|
-
'А'=>'A','Б'=>'B','В'=>'V','Ґ'=>'G','Д'=>'D','Е'=>'E',
|
101
|
-
'З'=>'Z','И'=>'Y','І'=>'I','К'=>'K','Л'=>'L','М'=>'M','Н'=>'N','О'=>'O',
|
102
|
-
'П'=>'P','Р'=>'R','С'=>'S','Т'=>'T','У'=>'U','Ф'=>'F','Ь'=>''
|
103
|
-
}
|
104
|
-
end
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
1
|
+
require 'rails_i18n/transliteration'
|
109
2
|
|
110
3
|
{ :uk => {
|
111
4
|
:i18n => {
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-i18n
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 8.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rails I18n Group
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-11-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: i18n
|
@@ -36,20 +36,20 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
39
|
+
version: 8.0.0
|
40
40
|
- - "<"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: '
|
42
|
+
version: '9'
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version:
|
49
|
+
version: 8.0.0
|
50
50
|
- - "<"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: '
|
52
|
+
version: '9'
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: rspec-rails
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -113,7 +113,9 @@ files:
|
|
113
113
|
- lib/rails_i18n/common_pluralizations/other.rb
|
114
114
|
- lib/rails_i18n/common_pluralizations/romanian.rb
|
115
115
|
- lib/rails_i18n/common_pluralizations/west_slavic.rb
|
116
|
+
- lib/rails_i18n/pluralization.rb
|
116
117
|
- lib/rails_i18n/railtie.rb
|
118
|
+
- lib/rails_i18n/transliteration.rb
|
117
119
|
- rails/locale/af.yml
|
118
120
|
- rails/locale/ar.yml
|
119
121
|
- rails/locale/az.yml
|
@@ -403,7 +405,7 @@ homepage: https://github.com/svenfuchs/rails-i18n
|
|
403
405
|
licenses:
|
404
406
|
- MIT
|
405
407
|
metadata: {}
|
406
|
-
post_install_message:
|
408
|
+
post_install_message:
|
407
409
|
rdoc_options: []
|
408
410
|
require_paths:
|
409
411
|
- lib
|
@@ -411,15 +413,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
411
413
|
requirements:
|
412
414
|
- - ">="
|
413
415
|
- !ruby/object:Gem::Version
|
414
|
-
version:
|
416
|
+
version: 3.2.0
|
415
417
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
416
418
|
requirements:
|
417
419
|
- - ">="
|
418
420
|
- !ruby/object:Gem::Version
|
419
421
|
version: 1.8.11
|
420
422
|
requirements: []
|
421
|
-
rubygems_version: 3.
|
422
|
-
signing_key:
|
423
|
+
rubygems_version: 3.5.16
|
424
|
+
signing_key:
|
423
425
|
specification_version: 4
|
424
426
|
summary: Common locale data and translations for Rails i18n.
|
425
427
|
test_files: []
|