gettext 3.4.0 → 3.4.3
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/doc/text/news.md +39 -0
- data/gettext.gemspec +3 -1
- data/lib/gettext/mo.rb +5 -14
- data/lib/gettext/text_domain_manager.rb +6 -5
- data/lib/gettext/tools/parser/erubi.rb +88 -0
- data/lib/gettext/tools/xgettext.rb +6 -0
- data/lib/gettext/version.rb +2 -2
- data/locale/ja/LC_MESSAGES/gettext.mo +0 -0
- data/po/bg/gettext.edit.po +13 -9
- data/po/bg/gettext.po +3 -0
- data/po/bs/gettext.edit.po +13 -9
- data/po/bs/gettext.po +3 -0
- data/po/ca/gettext.edit.po +13 -9
- data/po/ca/gettext.po +3 -0
- data/po/cs/gettext.edit.po +13 -9
- data/po/cs/gettext.po +3 -0
- data/po/de/gettext.edit.po +13 -9
- data/po/de/gettext.po +3 -0
- data/po/el/gettext.edit.po +13 -9
- data/po/el/gettext.po +3 -0
- data/po/eo/gettext.edit.po +13 -9
- data/po/eo/gettext.po +3 -0
- data/po/es/gettext.edit.po +13 -9
- data/po/es/gettext.po +3 -0
- data/po/et/gettext.edit.po +13 -9
- data/po/et/gettext.po +3 -0
- data/po/fr/gettext.edit.po +13 -9
- data/po/fr/gettext.po +3 -0
- data/po/gettext.pot +16 -12
- data/po/hr/gettext.edit.po +13 -9
- data/po/hr/gettext.po +3 -0
- data/po/hu/gettext.edit.po +13 -9
- data/po/hu/gettext.po +3 -0
- data/po/it/gettext.edit.po +13 -9
- data/po/it/gettext.po +3 -0
- data/po/ja/gettext.edit.po +14 -10
- data/po/ja/gettext.po +4 -1
- data/po/ko/gettext.edit.po +13 -9
- data/po/ko/gettext.po +3 -0
- data/po/lv/gettext.edit.po +13 -9
- data/po/lv/gettext.po +3 -0
- data/po/nb/gettext.edit.po +13 -9
- data/po/nb/gettext.po +3 -0
- data/po/nl/gettext.edit.po +13 -9
- data/po/nl/gettext.po +3 -0
- data/po/pt_BR/gettext.edit.po +13 -9
- data/po/pt_BR/gettext.po +3 -0
- data/po/ru/gettext.edit.po +13 -9
- data/po/ru/gettext.po +3 -0
- data/po/sr/gettext.edit.po +13 -9
- data/po/sr/gettext.po +3 -0
- data/po/sv/gettext.edit.po +13 -9
- data/po/sv/gettext.po +3 -0
- data/po/uk/gettext.edit.po +13 -9
- data/po/uk/gettext.po +3 -0
- data/po/vi/gettext.edit.po +13 -9
- data/po/vi/gettext.po +3 -0
- data/po/zh/gettext.edit.po +13 -9
- data/po/zh/gettext.po +3 -0
- data/po/zh_TW/gettext.edit.po +13 -9
- data/po/zh_TW/gettext.po +3 -0
- data/test/fixtures/erb/case.rhtml +16 -0
- data/test/fixtures/simple.rb +4 -0
- data/test/locale/fr/LC_MESSAGES/test1.mo +0 -0
- data/test/locale/fr_BE/LC_MESSAGES/test1.mo +0 -0
- data/test/locale/fr_BE_Foo/LC_MESSAGES/test1.mo +0 -0
- data/test/po/fr/test1.po +7 -0
- data/test/po/fr_BE/test1.po +24 -0
- data/test/po/fr_BE_Foo/test1.po +20 -0
- data/test/po/ja/_.po +15 -0
- data/test/test_gettext.rb +23 -0
- data/test/test_locale_path.rb +12 -4
- data/test/test_parser.rb +62 -0
- data/test/tools/test_xgettext.rb +85 -0
- metadata +39 -4
data/test/test_parser.rb
CHANGED
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
require "tempfile"
|
|
25
25
|
require "gettext/tools/parser/ruby"
|
|
26
26
|
require "gettext/tools/parser/erb"
|
|
27
|
+
require "gettext/tools/parser/erubi"
|
|
27
28
|
|
|
28
29
|
require "gettext/tools/xgettext"
|
|
29
30
|
|
|
@@ -215,6 +216,67 @@ class TestGetTextParser < Test::Unit::TestCase
|
|
|
215
216
|
|
|
216
217
|
assert_target("Hello", ["#{path}:8"])
|
|
217
218
|
end
|
|
219
|
+
|
|
220
|
+
def test_case
|
|
221
|
+
path = fixture_path("erb", "case.rhtml")
|
|
222
|
+
@ary = GetText::ErbParser.parse(path)
|
|
223
|
+
|
|
224
|
+
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.0.0')
|
|
225
|
+
assert_target("Hello", ["#{path}:11"])
|
|
226
|
+
assert_target("World", ["#{path}:14"])
|
|
227
|
+
else
|
|
228
|
+
assert_target("Hello", ["#{path}:11"])
|
|
229
|
+
assert_nil(@ary.detect {|elem| elem.msgid == 'World'}) # Not detected. see PR #91
|
|
230
|
+
end
|
|
231
|
+
end
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
class TestErubiParser < self
|
|
235
|
+
include Helper::Path
|
|
236
|
+
|
|
237
|
+
def test_detect_encoding
|
|
238
|
+
euc_file = Tempfile.new("euc-jp.rhtml")
|
|
239
|
+
euc_file.open
|
|
240
|
+
euc_file.puts("<%#-*- coding: euc-jp -*-%>")
|
|
241
|
+
euc_file.close
|
|
242
|
+
|
|
243
|
+
euc_file_content = File.read(euc_file.path)
|
|
244
|
+
encoding = GetText::ErubiParser.new(euc_file.path).detect_encoding(euc_file_content)
|
|
245
|
+
|
|
246
|
+
assert_equal("EUC-JP", encoding)
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
def test_ascii
|
|
250
|
+
path = fixture_path("erb", "ascii.rhtml")
|
|
251
|
+
@ary = GetText::ErubiParser.parse(path)
|
|
252
|
+
|
|
253
|
+
assert_target 'aaa', ["#{path}:8"]
|
|
254
|
+
assert_target "aaa\n", ["#{path}:11"]
|
|
255
|
+
assert_target 'bbb', ["#{path}:12"]
|
|
256
|
+
assert_plural_target "ccc1", "ccc2", ["#{path}:13"]
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
def test_non_ascii
|
|
260
|
+
path = fixture_path("erb", "non_ascii.rhtml")
|
|
261
|
+
@ary = GetText::ErubiParser.parse(path)
|
|
262
|
+
|
|
263
|
+
assert_target('わたし', ["#{path}:12"])
|
|
264
|
+
end
|
|
265
|
+
|
|
266
|
+
def test_minus
|
|
267
|
+
path = fixture_path("erb", "minus.rhtml")
|
|
268
|
+
@ary = GetText::ErubiParser.parse(path)
|
|
269
|
+
|
|
270
|
+
assert_target("Hello", ["#{path}:8"])
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
def test_case
|
|
274
|
+
path = fixture_path("erb", "case.rhtml")
|
|
275
|
+
@ary = GetText::ErubiParser.parse(path)
|
|
276
|
+
|
|
277
|
+
assert_target("Hello", ["#{path}:11"])
|
|
278
|
+
assert_target("World", ["#{path}:14"]) # Detected with Erubi
|
|
279
|
+
end
|
|
218
280
|
end
|
|
219
281
|
|
|
220
282
|
def test_xgettext_parse
|
data/test/tools/test_xgettext.rb
CHANGED
|
@@ -118,6 +118,91 @@ EOP
|
|
|
118
118
|
end
|
|
119
119
|
end
|
|
120
120
|
|
|
121
|
+
class TestParser < self
|
|
122
|
+
# Default ERB parser (don't find anything after "case")
|
|
123
|
+
def test_erb
|
|
124
|
+
rhtml = <<-EOR
|
|
125
|
+
<div>
|
|
126
|
+
<%= _('Hello') %>
|
|
127
|
+
<% case 1 %>
|
|
128
|
+
<% end %>
|
|
129
|
+
<%= _('World') %>
|
|
130
|
+
</div>
|
|
131
|
+
EOR
|
|
132
|
+
|
|
133
|
+
File.open(@rhtml_file_path, "w") do |rhtml_file|
|
|
134
|
+
rhtml_file.puts(rhtml)
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
@xgettext.run(
|
|
138
|
+
"--output", @pot_file_path,
|
|
139
|
+
@rhtml_file_path
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
pot_content = File.read(@pot_file_path)
|
|
143
|
+
|
|
144
|
+
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.0.0')
|
|
145
|
+
expected_content = <<-EOP
|
|
146
|
+
#{header}
|
|
147
|
+
#: ../templates/xgettext.rhtml:2
|
|
148
|
+
msgid "Hello"
|
|
149
|
+
msgstr ""
|
|
150
|
+
|
|
151
|
+
#: ../templates/xgettext.rhtml:5
|
|
152
|
+
msgid "World"
|
|
153
|
+
msgstr ""
|
|
154
|
+
EOP
|
|
155
|
+
else
|
|
156
|
+
# "World" not detected. see PR #91
|
|
157
|
+
expected_content = <<-EOP
|
|
158
|
+
#{header}
|
|
159
|
+
#: ../templates/xgettext.rhtml:2
|
|
160
|
+
msgid "Hello"
|
|
161
|
+
msgstr ""
|
|
162
|
+
EOP
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
assert_equal(expected_content, pot_content)
|
|
166
|
+
end
|
|
167
|
+
|
|
168
|
+
# Optional Erubi parser (find text after "case")
|
|
169
|
+
def test_erubi
|
|
170
|
+
rhtml = <<-EOR
|
|
171
|
+
<div>
|
|
172
|
+
<%= _('Hello') %>
|
|
173
|
+
<% case 1 %>
|
|
174
|
+
<% end %>
|
|
175
|
+
<%= _('World') %>
|
|
176
|
+
</div>
|
|
177
|
+
EOR
|
|
178
|
+
|
|
179
|
+
File.open(@rhtml_file_path, "w") do |rhtml_file|
|
|
180
|
+
rhtml_file.puts(rhtml)
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
@xgettext.run(
|
|
184
|
+
"--output", @pot_file_path,
|
|
185
|
+
'--require', 'gettext/tools/parser/erubi',
|
|
186
|
+
'--parser', 'GetText::ErubiParser',
|
|
187
|
+
@rhtml_file_path
|
|
188
|
+
)
|
|
189
|
+
|
|
190
|
+
pot_content = File.read(@pot_file_path)
|
|
191
|
+
expected_content = <<-EOP
|
|
192
|
+
#{header}
|
|
193
|
+
#: ../templates/xgettext.rhtml:2
|
|
194
|
+
msgid "Hello"
|
|
195
|
+
msgstr ""
|
|
196
|
+
|
|
197
|
+
#: ../templates/xgettext.rhtml:5
|
|
198
|
+
msgid "World"
|
|
199
|
+
msgstr ""
|
|
200
|
+
EOP
|
|
201
|
+
|
|
202
|
+
assert_equal(expected_content, pot_content)
|
|
203
|
+
end
|
|
204
|
+
end
|
|
205
|
+
|
|
121
206
|
class TestEncoding < self
|
|
122
207
|
def test_different_encoding_from_current_locale
|
|
123
208
|
rhtml = <<-EOR
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gettext
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.4.
|
|
4
|
+
version: 3.4.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kouhei Sutou
|
|
@@ -9,8 +9,22 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2022-05-20 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
|
+
- !ruby/object:Gem::Dependency
|
|
15
|
+
name: erubi
|
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
requirements:
|
|
18
|
+
- - ">="
|
|
19
|
+
- !ruby/object:Gem::Version
|
|
20
|
+
version: '0'
|
|
21
|
+
type: :runtime
|
|
22
|
+
prerelease: false
|
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
24
|
+
requirements:
|
|
25
|
+
- - ">="
|
|
26
|
+
- !ruby/object:Gem::Version
|
|
27
|
+
version: '0'
|
|
14
28
|
- !ruby/object:Gem::Dependency
|
|
15
29
|
name: locale
|
|
16
30
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -25,6 +39,20 @@ dependencies:
|
|
|
25
39
|
- - ">="
|
|
26
40
|
- !ruby/object:Gem::Version
|
|
27
41
|
version: 2.0.5
|
|
42
|
+
- !ruby/object:Gem::Dependency
|
|
43
|
+
name: prime
|
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
|
45
|
+
requirements:
|
|
46
|
+
- - ">="
|
|
47
|
+
- !ruby/object:Gem::Version
|
|
48
|
+
version: '0'
|
|
49
|
+
type: :runtime
|
|
50
|
+
prerelease: false
|
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
52
|
+
requirements:
|
|
53
|
+
- - ">="
|
|
54
|
+
- !ruby/object:Gem::Version
|
|
55
|
+
version: '0'
|
|
28
56
|
- !ruby/object:Gem::Dependency
|
|
29
57
|
name: text
|
|
30
58
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -184,6 +212,7 @@ files:
|
|
|
184
212
|
- lib/gettext/tools/msginit.rb
|
|
185
213
|
- lib/gettext/tools/msgmerge.rb
|
|
186
214
|
- lib/gettext/tools/parser/erb.rb
|
|
215
|
+
- lib/gettext/tools/parser/erubi.rb
|
|
187
216
|
- lib/gettext/tools/parser/glade.rb
|
|
188
217
|
- lib/gettext/tools/parser/gtk_builder_ui_definitions.rb
|
|
189
218
|
- lib/gettext/tools/parser/ruby.rb
|
|
@@ -1531,6 +1560,7 @@ files:
|
|
|
1531
1560
|
- test/fixtures/backslash.rb
|
|
1532
1561
|
- test/fixtures/erb/ascii.rhtml
|
|
1533
1562
|
- test/fixtures/erb/ascii.rxml
|
|
1563
|
+
- test/fixtures/erb/case.rhtml
|
|
1534
1564
|
- test/fixtures/erb/minus.rhtml
|
|
1535
1565
|
- test/fixtures/erb/non_ascii.rhtml
|
|
1536
1566
|
- test/fixtures/glade/2.glade
|
|
@@ -1563,6 +1593,8 @@ files:
|
|
|
1563
1593
|
- test/locale/fr/LC_MESSAGES/plural_error.mo
|
|
1564
1594
|
- test/locale/fr/LC_MESSAGES/test1.mo
|
|
1565
1595
|
- test/locale/fr/LC_MESSAGES/test2.mo
|
|
1596
|
+
- test/locale/fr_BE/LC_MESSAGES/test1.mo
|
|
1597
|
+
- test/locale/fr_BE_Foo/LC_MESSAGES/test1.mo
|
|
1566
1598
|
- test/locale/ir/LC_MESSAGES/plural.mo
|
|
1567
1599
|
- test/locale/ja/LC_MESSAGES/_.mo
|
|
1568
1600
|
- test/locale/ja/LC_MESSAGES/backslash.mo
|
|
@@ -1595,6 +1627,8 @@ files:
|
|
|
1595
1627
|
- test/po/fr/plural_error.po
|
|
1596
1628
|
- test/po/fr/test1.po
|
|
1597
1629
|
- test/po/fr/test2.po
|
|
1630
|
+
- test/po/fr_BE/test1.po
|
|
1631
|
+
- test/po/fr_BE_Foo/test1.po
|
|
1598
1632
|
- test/po/hello.pot
|
|
1599
1633
|
- test/po/ir/plural.po
|
|
1600
1634
|
- test/po/ja/_.edit.po
|
|
@@ -1677,7 +1711,8 @@ files:
|
|
|
1677
1711
|
- test/tools/test_xgettext.rb
|
|
1678
1712
|
homepage: https://ruby-gettext.github.io/
|
|
1679
1713
|
licenses:
|
|
1680
|
-
- Ruby
|
|
1714
|
+
- Ruby
|
|
1715
|
+
- LGPL-3.0+
|
|
1681
1716
|
metadata: {}
|
|
1682
1717
|
post_install_message:
|
|
1683
1718
|
rdoc_options: []
|
|
@@ -1694,7 +1729,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
1694
1729
|
- !ruby/object:Gem::Version
|
|
1695
1730
|
version: '0'
|
|
1696
1731
|
requirements: []
|
|
1697
|
-
rubygems_version: 3.
|
|
1732
|
+
rubygems_version: 3.4.0.dev
|
|
1698
1733
|
signing_key:
|
|
1699
1734
|
specification_version: 4
|
|
1700
1735
|
summary: Gettext is a pure Ruby libary and tools to localize messages.
|