gettext 3.4.2 → 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 +11 -0
- data/gettext.gemspec +1 -0
- 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 +11 -7
- data/po/bg/gettext.po +3 -0
- data/po/bs/gettext.edit.po +11 -7
- data/po/bs/gettext.po +3 -0
- data/po/ca/gettext.edit.po +11 -7
- data/po/ca/gettext.po +3 -0
- data/po/cs/gettext.edit.po +11 -7
- data/po/cs/gettext.po +3 -0
- data/po/de/gettext.edit.po +11 -7
- data/po/de/gettext.po +3 -0
- data/po/el/gettext.edit.po +11 -7
- data/po/el/gettext.po +3 -0
- data/po/eo/gettext.edit.po +11 -7
- data/po/eo/gettext.po +3 -0
- data/po/es/gettext.edit.po +11 -7
- data/po/es/gettext.po +3 -0
- data/po/et/gettext.edit.po +11 -7
- data/po/et/gettext.po +3 -0
- data/po/fr/gettext.edit.po +11 -7
- data/po/fr/gettext.po +3 -0
- data/po/gettext.pot +14 -10
- data/po/hr/gettext.edit.po +11 -7
- data/po/hr/gettext.po +3 -0
- data/po/hu/gettext.edit.po +11 -7
- data/po/hu/gettext.po +3 -0
- data/po/it/gettext.edit.po +11 -7
- data/po/it/gettext.po +3 -0
- data/po/ja/gettext.edit.po +12 -8
- data/po/ja/gettext.po +4 -1
- data/po/ko/gettext.edit.po +11 -7
- data/po/ko/gettext.po +3 -0
- data/po/lv/gettext.edit.po +11 -7
- data/po/lv/gettext.po +3 -0
- data/po/nb/gettext.edit.po +11 -7
- data/po/nb/gettext.po +3 -0
- data/po/nl/gettext.edit.po +11 -7
- data/po/nl/gettext.po +3 -0
- data/po/pt_BR/gettext.edit.po +11 -7
- data/po/pt_BR/gettext.po +3 -0
- data/po/ru/gettext.edit.po +11 -7
- data/po/ru/gettext.po +3 -0
- data/po/sr/gettext.edit.po +11 -7
- data/po/sr/gettext.po +3 -0
- data/po/sv/gettext.edit.po +11 -7
- data/po/sv/gettext.po +3 -0
- data/po/uk/gettext.edit.po +11 -7
- data/po/uk/gettext.po +3 -0
- data/po/vi/gettext.edit.po +11 -7
- data/po/vi/gettext.po +3 -0
- data/po/zh/gettext.edit.po +11 -7
- data/po/zh/gettext.po +3 -0
- data/po/zh_TW/gettext.edit.po +11 -7
- data/po/zh_TW/gettext.po +3 -0
- data/test/fixtures/erb/case.rhtml +16 -0
- data/test/po/ja/_.po +15 -0
- data/test/test_parser.rb +62 -0
- data/test/tools/test_xgettext.rb +85 -0
- metadata +18 -2
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: 2022-
|
|
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
|
|
@@ -198,6 +212,7 @@ files:
|
|
|
198
212
|
- lib/gettext/tools/msginit.rb
|
|
199
213
|
- lib/gettext/tools/msgmerge.rb
|
|
200
214
|
- lib/gettext/tools/parser/erb.rb
|
|
215
|
+
- lib/gettext/tools/parser/erubi.rb
|
|
201
216
|
- lib/gettext/tools/parser/glade.rb
|
|
202
217
|
- lib/gettext/tools/parser/gtk_builder_ui_definitions.rb
|
|
203
218
|
- lib/gettext/tools/parser/ruby.rb
|
|
@@ -1545,6 +1560,7 @@ files:
|
|
|
1545
1560
|
- test/fixtures/backslash.rb
|
|
1546
1561
|
- test/fixtures/erb/ascii.rhtml
|
|
1547
1562
|
- test/fixtures/erb/ascii.rxml
|
|
1563
|
+
- test/fixtures/erb/case.rhtml
|
|
1548
1564
|
- test/fixtures/erb/minus.rhtml
|
|
1549
1565
|
- test/fixtures/erb/non_ascii.rhtml
|
|
1550
1566
|
- test/fixtures/glade/2.glade
|