gettext 3.3.9 → 3.4.9

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 (164) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/Rakefile +1 -3
  4. data/doc/text/news.md +121 -0
  5. data/gettext.gemspec +4 -2
  6. data/lib/gettext/mo.rb +5 -14
  7. data/lib/gettext/po_entry.rb +31 -21
  8. data/lib/gettext/po_parser.rb +65 -59
  9. data/lib/gettext/text_domain_manager.rb +6 -5
  10. data/lib/gettext/tools/msgcat.rb +9 -2
  11. data/lib/gettext/tools/msgmerge.rb +11 -6
  12. data/lib/gettext/tools/parser/erubi.rb +88 -0
  13. data/lib/gettext/tools/task.rb +3 -5
  14. data/lib/gettext/tools/xgettext.rb +15 -4
  15. data/lib/gettext/version.rb +3 -3
  16. data/locale/ja/LC_MESSAGES/gettext.mo +0 -0
  17. data/po/bg/gettext.edit.po +65 -60
  18. data/po/bg/gettext.po +6 -0
  19. data/po/bs/gettext.edit.po +65 -60
  20. data/po/bs/gettext.po +6 -0
  21. data/po/ca/gettext.edit.po +65 -60
  22. data/po/ca/gettext.po +6 -0
  23. data/po/cs/gettext.edit.po +65 -60
  24. data/po/cs/gettext.po +6 -0
  25. data/po/de/gettext.edit.po +65 -60
  26. data/po/de/gettext.po +6 -0
  27. data/po/el/gettext.edit.po +65 -60
  28. data/po/el/gettext.po +6 -0
  29. data/po/eo/gettext.edit.po +65 -60
  30. data/po/eo/gettext.po +6 -0
  31. data/po/es/gettext.edit.po +65 -60
  32. data/po/es/gettext.po +6 -0
  33. data/po/et/gettext.edit.po +65 -60
  34. data/po/et/gettext.po +6 -0
  35. data/po/fr/gettext.edit.po +65 -60
  36. data/po/fr/gettext.po +6 -0
  37. data/po/gettext.pot +77 -68
  38. data/po/hr/gettext.edit.po +65 -60
  39. data/po/hr/gettext.po +6 -0
  40. data/po/hu/gettext.edit.po +65 -60
  41. data/po/hu/gettext.po +6 -0
  42. data/po/it/gettext.edit.po +65 -60
  43. data/po/it/gettext.po +6 -0
  44. data/po/ja/gettext.edit.po +66 -61
  45. data/po/ja/gettext.po +7 -1
  46. data/po/ko/gettext.edit.po +65 -60
  47. data/po/ko/gettext.po +6 -0
  48. data/po/lv/gettext.edit.po +65 -60
  49. data/po/lv/gettext.po +6 -0
  50. data/po/nb/gettext.edit.po +65 -60
  51. data/po/nb/gettext.po +6 -0
  52. data/po/nl/gettext.edit.po +65 -60
  53. data/po/nl/gettext.po +6 -0
  54. data/po/pt_BR/gettext.edit.po +65 -60
  55. data/po/pt_BR/gettext.po +6 -0
  56. data/po/ru/gettext.edit.po +65 -60
  57. data/po/ru/gettext.po +6 -0
  58. data/po/sr/gettext.edit.po +65 -60
  59. data/po/sr/gettext.po +6 -0
  60. data/po/sv/gettext.edit.po +65 -57
  61. data/po/sv/gettext.po +6 -0
  62. data/po/uk/gettext.edit.po +65 -60
  63. data/po/uk/gettext.po +6 -0
  64. data/po/vi/gettext.edit.po +65 -60
  65. data/po/vi/gettext.po +6 -0
  66. data/po/zh/gettext.edit.po +65 -60
  67. data/po/zh/gettext.po +6 -0
  68. data/po/zh_TW/gettext.edit.po +65 -60
  69. data/po/zh_TW/gettext.po +6 -0
  70. data/samples/cgi/po/helloerb1.pot +3 -3
  71. data/samples/cgi/po/helloerb2.pot +3 -3
  72. data/samples/cgi/po/hellolib.pot +3 -3
  73. data/samples/cgi/po/main.pot +3 -3
  74. data/samples/po/bg/hello_gtk_builder.edit.po +15 -0
  75. data/samples/po/bg/hello_gtk_builder.po +12 -0
  76. data/samples/po/bs/hello_gtk_builder.edit.po +15 -0
  77. data/samples/po/bs/hello_gtk_builder.po +12 -0
  78. data/samples/po/ca/hello_gtk_builder.edit.po +15 -0
  79. data/samples/po/ca/hello_gtk_builder.po +12 -0
  80. data/samples/po/cs/hello_gtk_builder.edit.po +15 -0
  81. data/samples/po/cs/hello_gtk_builder.po +12 -0
  82. data/samples/po/de/hello_gtk_builder.edit.po +15 -0
  83. data/samples/po/de/hello_gtk_builder.po +12 -0
  84. data/samples/po/el/hello_gtk_builder.edit.po +15 -0
  85. data/samples/po/el/hello_gtk_builder.po +12 -0
  86. data/samples/po/eo/hello_gtk_builder.edit.po +15 -0
  87. data/samples/po/eo/hello_gtk_builder.po +12 -0
  88. data/samples/po/es/hello_gtk_builder.edit.po +15 -0
  89. data/samples/po/es/hello_gtk_builder.po +12 -0
  90. data/samples/po/fr/hello_gtk_builder.edit.po +15 -0
  91. data/samples/po/fr/hello_gtk_builder.po +12 -0
  92. data/samples/po/hello.pot +3 -3
  93. data/samples/po/hello2.pot +4 -4
  94. data/samples/po/hello_glade2.pot +8 -5
  95. data/samples/po/hello_gtk2.pot +4 -4
  96. data/samples/po/hello_gtk_builder.pot +18 -4
  97. data/samples/po/hello_noop.pot +4 -4
  98. data/samples/po/hello_plural.pot +4 -4
  99. data/samples/po/hello_tk.pot +4 -4
  100. data/samples/po/hr/hello_gtk_builder.edit.po +15 -0
  101. data/samples/po/hr/hello_gtk_builder.po +12 -0
  102. data/samples/po/hu/hello_gtk_builder.edit.po +15 -0
  103. data/samples/po/hu/hello_gtk_builder.po +12 -0
  104. data/samples/po/it/hello_gtk_builder.edit.po +15 -0
  105. data/samples/po/it/hello_gtk_builder.po +12 -0
  106. data/samples/po/ja/hello_gtk_builder.edit.po +15 -0
  107. data/samples/po/ja/hello_gtk_builder.po +12 -0
  108. data/samples/po/ko/hello_gtk_builder.edit.po +15 -0
  109. data/samples/po/ko/hello_gtk_builder.po +12 -0
  110. data/samples/po/lv/hello_gtk_builder.edit.po +15 -0
  111. data/samples/po/lv/hello_gtk_builder.po +12 -0
  112. data/samples/po/nb/hello_gtk_builder.edit.po +15 -0
  113. data/samples/po/nb/hello_gtk_builder.po +12 -0
  114. data/samples/po/nl/hello_gtk_builder.edit.po +15 -0
  115. data/samples/po/nl/hello_gtk_builder.po +12 -0
  116. data/samples/po/pt_BR/hello_gtk_builder.edit.po +15 -0
  117. data/samples/po/pt_BR/hello_gtk_builder.po +12 -0
  118. data/samples/po/ru/hello_gtk_builder.edit.po +15 -0
  119. data/samples/po/ru/hello_gtk_builder.po +12 -0
  120. data/samples/po/sr/hello_gtk_builder.edit.po +15 -0
  121. data/samples/po/sr/hello_gtk_builder.po +12 -0
  122. data/samples/po/sv/hello_gtk_builder.edit.po +15 -0
  123. data/samples/po/sv/hello_gtk_builder.po +12 -0
  124. data/samples/po/uk/hello_gtk_builder.edit.po +15 -0
  125. data/samples/po/uk/hello_gtk_builder.po +12 -0
  126. data/samples/po/vi/hello_gtk_builder.edit.po +15 -0
  127. data/samples/po/vi/hello_gtk_builder.po +12 -0
  128. data/samples/po/zh/hello_gtk_builder.edit.po +15 -0
  129. data/samples/po/zh/hello_gtk_builder.po +12 -0
  130. data/samples/po/zh_TW/hello_gtk_builder.edit.po +15 -0
  131. data/samples/po/zh_TW/hello_gtk_builder.po +12 -0
  132. data/src/po_parser.ry +48 -42
  133. data/test/fixtures/erb/case.rhtml +16 -0
  134. data/test/fixtures/simple.rb +4 -0
  135. data/test/locale/fr/LC_MESSAGES/test1.mo +0 -0
  136. data/test/locale/fr_BE/LC_MESSAGES/test1.mo +0 -0
  137. data/test/locale/fr_BE_Foo/LC_MESSAGES/test1.mo +0 -0
  138. data/test/locale/ja/LC_MESSAGES/_.mo +0 -0
  139. data/test/po/_.pot +3 -3
  140. data/test/po/backslash.pot +6 -4
  141. data/test/po/fr/test1.po +7 -0
  142. data/test/po/fr_BE/test1.po +24 -0
  143. data/test/po/fr_BE_Foo/test1.po +20 -0
  144. data/test/po/hello.pot +3 -3
  145. data/test/po/ja/_.edit.po +3 -3
  146. data/test/po/ja/_.po +15 -0
  147. data/test/po/ja/hello.edit.po +0 -1
  148. data/test/po/non_ascii.pot +4 -4
  149. data/test/po/np_.pot +3 -3
  150. data/test/po/ns_.pot +3 -3
  151. data/test/po/p_.pot +3 -3
  152. data/test/po/s_.pot +3 -3
  153. data/test/po/untranslated.pot +4 -4
  154. data/test/test_gettext.rb +23 -0
  155. data/test/test_locale_path.rb +12 -4
  156. data/test/test_parser.rb +62 -0
  157. data/test/test_po_entry.rb +20 -4
  158. data/test/test_po_parser.rb +44 -1
  159. data/test/tools/test_msgcat.rb +21 -1
  160. data/test/tools/test_msginit.rb +7 -2
  161. data/test/tools/test_msgmerge.rb +41 -3
  162. data/test/tools/test_xgettext.rb +100 -3
  163. metadata +48 -14
  164. data/test/fixtures/gtk_builder_ui_definitions.ui~ +0 -68
@@ -17,3 +17,15 @@ msgstr ""
17
17
  "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4"
18
18
  " && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19
19
  "\n"
20
+
21
+ msgid "window1"
22
+ msgstr ""
23
+
24
+ msgid ""
25
+ "first line\n"
26
+ "second line\n"
27
+ "third line"
28
+ msgstr ""
29
+
30
+ msgid "<Hello world>"
31
+ msgstr ""
@@ -16,3 +16,18 @@ msgstr ""
16
16
  "Content-Transfer-Encoding: 8bit\n"
17
17
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
18
18
  "\n"
19
+
20
+ #: ../hello_gtk_builder.ui:7
21
+ msgid "window1"
22
+ msgstr ""
23
+
24
+ #: ../hello_gtk_builder.ui:16
25
+ msgid ""
26
+ "first line\n"
27
+ "second line\n"
28
+ "third line"
29
+ msgstr ""
30
+
31
+ #: ../hello_gtk_builder.ui:28
32
+ msgid "<Hello world>"
33
+ msgstr ""
@@ -16,3 +16,15 @@ msgstr ""
16
16
  "Content-Transfer-Encoding: 8bit\n"
17
17
  "Plural-Forms: nplurals=2; plural=n != 1;\n"
18
18
  "\n"
19
+
20
+ msgid "window1"
21
+ msgstr ""
22
+
23
+ msgid ""
24
+ "first line\n"
25
+ "second line\n"
26
+ "third line"
27
+ msgstr ""
28
+
29
+ msgid "<Hello world>"
30
+ msgstr ""
@@ -17,3 +17,18 @@ msgstr ""
17
17
  "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4"
18
18
  " && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19
19
  "\n"
20
+
21
+ #: ../hello_gtk_builder.ui:7
22
+ msgid "window1"
23
+ msgstr ""
24
+
25
+ #: ../hello_gtk_builder.ui:16
26
+ msgid ""
27
+ "first line\n"
28
+ "second line\n"
29
+ "third line"
30
+ msgstr ""
31
+
32
+ #: ../hello_gtk_builder.ui:28
33
+ msgid "<Hello world>"
34
+ msgstr ""
@@ -17,3 +17,15 @@ msgstr ""
17
17
  "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4"
18
18
  " && (n%100<10 || n%100>=20) ? 1 : 2;\n"
19
19
  "\n"
20
+
21
+ msgid "window1"
22
+ msgstr ""
23
+
24
+ msgid ""
25
+ "first line\n"
26
+ "second line\n"
27
+ "third line"
28
+ msgstr ""
29
+
30
+ msgid "<Hello world>"
31
+ msgstr ""
@@ -16,3 +16,18 @@ msgstr ""
16
16
  "Content-Transfer-Encoding: 8bit\n"
17
17
  "Plural-Forms: nplurals=1; plural=0;\n"
18
18
  "\n"
19
+
20
+ #: ../hello_gtk_builder.ui:7
21
+ msgid "window1"
22
+ msgstr ""
23
+
24
+ #: ../hello_gtk_builder.ui:16
25
+ msgid ""
26
+ "first line\n"
27
+ "second line\n"
28
+ "third line"
29
+ msgstr ""
30
+
31
+ #: ../hello_gtk_builder.ui:28
32
+ msgid "<Hello world>"
33
+ msgstr ""
@@ -16,3 +16,15 @@ msgstr ""
16
16
  "Content-Transfer-Encoding: 8bit\n"
17
17
  "Plural-Forms: nplurals=1; plural=0;\n"
18
18
  "\n"
19
+
20
+ msgid "window1"
21
+ msgstr ""
22
+
23
+ msgid ""
24
+ "first line\n"
25
+ "second line\n"
26
+ "third line"
27
+ msgstr ""
28
+
29
+ msgid "<Hello world>"
30
+ msgstr ""
@@ -16,3 +16,18 @@ msgstr ""
16
16
  "Content-Transfer-Encoding: 8bit\n"
17
17
  "Plural-Forms: nplurals=1; plural=0;\n"
18
18
  "\n"
19
+
20
+ #: ../hello_gtk_builder.ui:7
21
+ msgid "window1"
22
+ msgstr ""
23
+
24
+ #: ../hello_gtk_builder.ui:16
25
+ msgid ""
26
+ "first line\n"
27
+ "second line\n"
28
+ "third line"
29
+ msgstr ""
30
+
31
+ #: ../hello_gtk_builder.ui:28
32
+ msgid "<Hello world>"
33
+ msgstr ""
@@ -16,3 +16,15 @@ msgstr ""
16
16
  "Content-Transfer-Encoding: 8bit\n"
17
17
  "Plural-Forms: nplurals=1; plural=0;\n"
18
18
  "\n"
19
+
20
+ msgid "window1"
21
+ msgstr ""
22
+
23
+ msgid ""
24
+ "first line\n"
25
+ "second line\n"
26
+ "third line"
27
+ msgstr ""
28
+
29
+ msgid "<Hello world>"
30
+ msgstr ""
@@ -16,3 +16,18 @@ msgstr ""
16
16
  "Content-Transfer-Encoding: 8bit\n"
17
17
  "Plural-Forms: nplurals=1; plural=0;\n"
18
18
  "\n"
19
+
20
+ #: ../hello_gtk_builder.ui:7
21
+ msgid "window1"
22
+ msgstr ""
23
+
24
+ #: ../hello_gtk_builder.ui:16
25
+ msgid ""
26
+ "first line\n"
27
+ "second line\n"
28
+ "third line"
29
+ msgstr ""
30
+
31
+ #: ../hello_gtk_builder.ui:28
32
+ msgid "<Hello world>"
33
+ msgstr ""
@@ -16,3 +16,15 @@ msgstr ""
16
16
  "Content-Transfer-Encoding: 8bit\n"
17
17
  "Plural-Forms: nplurals=1; plural=0;\n"
18
18
  "\n"
19
+
20
+ msgid "window1"
21
+ msgstr ""
22
+
23
+ msgid ""
24
+ "first line\n"
25
+ "second line\n"
26
+ "third line"
27
+ msgstr ""
28
+
29
+ msgid "<Hello world>"
30
+ msgstr ""
data/src/po_parser.ry CHANGED
@@ -2,9 +2,9 @@
2
2
  #
3
3
  # po_parser.ry - ruby version of msgfmt
4
4
  #
5
- # Copyright (C) 2002-2008 Masao Mutoh <mutomasa at gmail.com>
6
- # Copyright (C) 2012-2017 Kouhei Sutou <kou@clear-code.com>
7
- # Copyright (C) 2012-2013 Haruka Yoshihara <yoshihara@clear-code.com>
5
+ # Copyright (C) 2002-2008 Masao Mutoh <mutomasa at gmail.com>
6
+ # Copyright (C) 2012-2023 Sutou Kouhei <kou@clear-code.com>
7
+ # Copyright (C) 2012-2013 Haruka Yoshihara <yoshihara@clear-code.com>
8
8
  #
9
9
  # You may redistribute it and/or modify it under the same
10
10
  # license terms as Ruby or LGPL.
@@ -24,7 +24,7 @@ class GetText::POParser
24
24
  msgctxt
25
25
  : MSGCTXT string_list
26
26
  {
27
- @msgctxt = unescape(val[1])
27
+ @msgctxt = val[1]
28
28
  }
29
29
  ;
30
30
 
@@ -36,9 +36,8 @@ class GetText::POParser
36
36
  single_message
37
37
  : MSGID string_list MSGSTR string_list
38
38
  {
39
- msgid_raw = val[1]
40
- msgid = unescape(msgid_raw)
41
- msgstr = unescape(val[3])
39
+ msgid = val[1]
40
+ msgstr = val[3]
42
41
  use_message_p = true
43
42
  if @fuzzy and not msgid.empty?
44
43
  use_message_p = (not ignore_fuzzy?)
@@ -48,11 +47,15 @@ class GetText::POParser
48
47
  else
49
48
  $stderr.print _("Warning: fuzzy message was used.\n")
50
49
  end
51
- $stderr.print " #{@po_file}: msgid '#{msgid_raw}'\n"
50
+ $stderr.print " #{@po_file}: msgid '#{msgid}'\n"
52
51
  end
53
52
  end
54
53
  @fuzzy = false
55
- on_message(msgid, msgstr) if use_message_p
54
+ if use_message_p
55
+ on_message(msgid, msgstr)
56
+ else
57
+ clear
58
+ end
56
59
  result = ""
57
60
  }
58
61
 
@@ -144,31 +147,26 @@ require "gettext/po"
144
147
  @report_warning
145
148
  end
146
149
 
147
- def unescape(orig)
148
- ret = orig.gsub(/\\n/, "\n")
149
- ret.gsub!(/\\t/, "\t")
150
- ret.gsub!(/\\r/, "\r")
151
- ret.gsub!(/\\"/, "\"")
152
- ret
150
+ def unescape(string)
151
+ string.gsub(/\\(.)/) do
152
+ escaped_character = $1
153
+ case escaped_character
154
+ when "t"
155
+ "\t"
156
+ when "r"
157
+ "\r"
158
+ when "n"
159
+ "\n"
160
+ else
161
+ escaped_character
162
+ end
163
+ end
153
164
  end
154
165
  private :unescape
155
166
 
156
- def unescape_string(string)
157
- string.gsub(/\\\\/, "\\")
158
- end
159
- private :unescape_string
160
-
161
167
  def parse(str, data)
162
- @translator_comments = []
163
- @extracted_comments = []
164
- @references = []
165
- @flags = []
166
- @previous = []
167
- @comments = []
168
+ clear
168
169
  @data = data
169
- @fuzzy = false
170
- @msgctxt = nil
171
- @msgid_plural = nil
172
170
 
173
171
  str = str.strip
174
172
  @q = []
@@ -202,7 +200,7 @@ require "gettext/po"
202
200
  @q.push [:COMMENT, $&]
203
201
  str = $'
204
202
  when /\A\"(.*)\"/
205
- @q.push [:STRING, unescape_string($1)]
203
+ @q.push [:STRING, unescape($1)]
206
204
  str = $'
207
205
  else
208
206
  #c = str[0,1]
@@ -254,15 +252,7 @@ require "gettext/po"
254
252
  @data.set_comment(msgid, format_comment(@comments))
255
253
  end
256
254
 
257
- @translator_comments = []
258
- @extracted_comments = []
259
- @references = []
260
- @flags = []
261
- @previous = []
262
- @references = []
263
- @comments.clear
264
- @msgctxt = nil
265
- @msgid_plural = nil
255
+ clear
266
256
  end
267
257
 
268
258
  def format_comment(comments)
@@ -274,7 +264,11 @@ require "gettext/po"
274
264
  end
275
265
 
276
266
  def on_comment(comment)
277
- @fuzzy = true if (/fuzzy/ =~ comment)
267
+ if comment.start_with?(POFormat::FLAG_MARK)
268
+ content = comment[POFormat::FLAG_MARK.size..-1]
269
+ flags = parse_flags_line(content)
270
+ @fuzzy = flags.include?("fuzzy")
271
+ end
278
272
  if @data.instance_of?(PO)
279
273
  if comment == "#"
280
274
  @translator_comments << ""
@@ -289,7 +283,7 @@ require "gettext/po"
289
283
  when POFormat::REFERENCE_COMMENT_MARK
290
284
  @references.concat(parse_references_line(content))
291
285
  when POFormat::FLAG_MARK
292
- @flags.concat(parse_flags_line(content))
286
+ @flags.concat(flags)
293
287
  when POFormat::PREVIOUS_COMMENT_MARK
294
288
  @previous << content
295
289
  else
@@ -358,7 +352,19 @@ require "gettext/po"
358
352
  end
359
353
 
360
354
  def parse_flags_line(line)
361
- line.split(/\s+/)
355
+ line.split(",").collect(&:strip)
356
+ end
357
+
358
+ def clear
359
+ @translator_comments = []
360
+ @extracted_comments = []
361
+ @references = []
362
+ @flags = []
363
+ @previous = []
364
+ @references = []
365
+ @comments = []
366
+ @msgctxt = nil
367
+ @msgid_plural = nil
362
368
  end
363
369
  ---- footer
364
370
 
@@ -0,0 +1,16 @@
1
+ <%
2
+ require 'gettext'
3
+ include GetText
4
+ bindtextdomain("helloerb", :path => "locale")
5
+ %>
6
+ <html>
7
+ <head>
8
+ <title></title>
9
+ </head>
10
+ <body>
11
+ <%= _('Hello') %>
12
+ <% case 1 %>
13
+ <% end %>
14
+ <%= _('World') %>
15
+ </body>
16
+ </html>
@@ -13,4 +13,8 @@ class Simple
13
13
  def test_formatted_string
14
14
  _("one is %d.") % 1
15
15
  end
16
+
17
+ def test_plural
18
+ n_("There is an apple.", "There are %{num} apples.", 5) % {:num => 5}
19
+ end
16
20
  end
Binary file
Binary file
data/test/po/_.pot CHANGED
@@ -6,10 +6,10 @@
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: _ 3.3.8\n"
9
+ "Project-Id-Version: _ 3.4.4\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2021-06-09 11:31+0900\n"
12
- "PO-Revision-Date: 2021-06-09 11:31+0900\n"
11
+ "POT-Creation-Date: 2023-06-11 06:20+0900\n"
12
+ "PO-Revision-Date: 2023-06-11 06:20+0900\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
15
  "Language: \n"
@@ -1,16 +1,18 @@
1
1
  # SOME DESCRIPTIVE TITLE.
2
2
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
- # This file is distributed under the same license as the PACKAGE package.
3
+ # This file is distributed under the same license as the backslash package.
4
4
  # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
5
  #
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: PACKAGE VERSION\n"
10
- "POT-Creation-Date: 2012-08-19 22:58+0900\n"
11
- "PO-Revision-Date: 2012-08-19 22:58+0900\n"
9
+ "Project-Id-Version: backslash 3.4.4\n"
10
+ "Report-Msgid-Bugs-To: \n"
11
+ "POT-Creation-Date: 2023-06-11 06:20+0900\n"
12
+ "PO-Revision-Date: 2023-06-11 06:20+0900\n"
12
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
+ "Language: \n"
14
16
  "MIME-Version: 1.0\n"
15
17
  "Content-Type: text/plain; charset=UTF-8\n"
16
18
  "Content-Transfer-Encoding: 8bit\n"
data/test/po/fr/test1.po CHANGED
@@ -13,6 +13,7 @@ msgstr ""
13
13
  "MIME-Version: 1.0\n"
14
14
  "Content-Type: text/plain; charset=utf-8\n"
15
15
  "Content-Transfer-Encoding: ENCODING\n"
16
+ "Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;\n"
16
17
 
17
18
  #: simple.rb:10
18
19
  msgid "language"
@@ -21,3 +22,9 @@ msgstr "french"
21
22
  #: simple.rb:14
22
23
  msgid "one is %d."
23
24
  msgstr "FRENCH:ONE IS %d."
25
+
26
+ #: simple.rb:18
27
+ msgid "There is an apple."
28
+ msgid_plural "There are %{num} apples."
29
+ msgstr[0] "FRENCH:Il y a une pomme."
30
+ msgstr[1] "FRENCH:Il y a %{num} pommes."
@@ -0,0 +1,24 @@
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) YEAR ORGANIZATION
3
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
4
+ #
5
+ #, fuzzy
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: PACKAGE VERSION\n"
9
+ "POT-Creation-Date: 2002-01-01 02:24:56+0900\n"
10
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
11
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12
+ "Language-Team: LANGUAGE <LL@li.org>\n"
13
+ "MIME-Version: 1.0\n"
14
+ "Content-Type: text/plain; charset=utf-8\n"
15
+ "Content-Transfer-Encoding: ENCODING\n"
16
+ "Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;\n"
17
+
18
+ #: simple.rb:10
19
+ msgid "language"
20
+ msgstr "french-Belgium"
21
+
22
+ #: simple.rb:14
23
+ msgid "one is %d."
24
+ msgstr "FRENCH-BELGIUM:ONE IS %d."
@@ -0,0 +1,20 @@
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) YEAR ORGANIZATION
3
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
4
+ #
5
+ #, fuzzy
6
+ msgid ""
7
+ msgstr ""
8
+ "Project-Id-Version: PACKAGE VERSION\n"
9
+ "POT-Creation-Date: 2002-01-01 02:24:56+0900\n"
10
+ "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
11
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12
+ "Language-Team: LANGUAGE <LL@li.org>\n"
13
+ "MIME-Version: 1.0\n"
14
+ "Content-Type: text/plain; charset=utf-8\n"
15
+ "Content-Transfer-Encoding: ENCODING\n"
16
+ "Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;\n"
17
+
18
+ #: simple.rb:10
19
+ msgid "language"
20
+ msgstr "french-Belgium-Foo"
data/test/po/hello.pot CHANGED
@@ -6,10 +6,10 @@
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: hello 3.1.7\n"
9
+ "Project-Id-Version: hello 3.4.4\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2015-09-22 14:05+0900\n"
12
- "PO-Revision-Date: 2015-09-22 14:05+0900\n"
11
+ "POT-Creation-Date: 2023-06-11 06:20+0900\n"
12
+ "PO-Revision-Date: 2023-06-11 06:20+0900\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
15
  "Language: \n"
data/test/po/ja/_.edit.po CHANGED
@@ -5,7 +5,7 @@
5
5
  msgid ""
6
6
  msgstr ""
7
7
  "Project-Id-Version: PACKAGE VERSION\n"
8
- "PO-Revision-Date: 2018-06-17 07:37+0900\n"
8
+ "PO-Revision-Date: 2023-10-22 06:37+0900\n"
9
9
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
10
10
  "Language-Team: LANGUAGE <LL@li.org>\n"
11
11
  "MIME-Version: 1.0\n"
@@ -84,8 +84,8 @@ msgid "#"
84
84
  msgstr ""
85
85
 
86
86
  #: ../fixtures/_.rb:96
87
- msgid "\taaa'bbb\\ccc"
88
- msgstr ""
87
+ msgid "\\taaa'bbb\\ccc"
88
+ msgstr "AAA"
89
89
 
90
90
  #: ../fixtures/_.rb:100
91
91
  msgid ""
data/test/po/ja/_.po CHANGED
@@ -133,3 +133,18 @@ msgstr "ONE LINE"
133
133
  msgid ""
134
134
  "one new line\n"
135
135
  msgstr ""
136
+
137
+ msgid "in_symbol_array"
138
+ msgstr ""
139
+
140
+ msgid "hello world"
141
+ msgstr ""
142
+
143
+ msgid "in_string_array"
144
+ msgstr ""
145
+
146
+ msgid "Hello"
147
+ msgstr ""
148
+
149
+ msgid "World"
150
+ msgstr ""
@@ -7,7 +7,6 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: hello 3.1.7\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2015-09-22 14:05+0900\n"
11
10
  "PO-Revision-Date: 2015-09-22 14:06+0900\n"
12
11
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
12
  "Language-Team: Japanese\n"
@@ -1,15 +1,15 @@
1
1
  # SOME DESCRIPTIVE TITLE.
2
2
  # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
- # This file is distributed under the same license as the gettext package.
3
+ # This file is distributed under the same license as the non_ascii package.
4
4
  # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
5
  #
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: gettext 3.0.0\n"
9
+ "Project-Id-Version: non_ascii 3.4.4\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2013-08-30 22:00+0900\n"
12
- "PO-Revision-Date: 2013-08-30 22:00+0900\n"
11
+ "POT-Creation-Date: 2023-06-11 06:20+0900\n"
12
+ "PO-Revision-Date: 2023-06-11 06:20+0900\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
15
  "Language: \n"
data/test/po/np_.pot CHANGED
@@ -6,10 +6,10 @@
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: np_ 3.3.8\n"
9
+ "Project-Id-Version: np_ 3.4.4\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2021-06-09 11:31+0900\n"
12
- "PO-Revision-Date: 2021-06-09 11:31+0900\n"
11
+ "POT-Creation-Date: 2023-06-11 06:20+0900\n"
12
+ "PO-Revision-Date: 2023-06-11 06:20+0900\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
15
  "Language: \n"
data/test/po/ns_.pot CHANGED
@@ -6,10 +6,10 @@
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: ns_ 3.3.8\n"
9
+ "Project-Id-Version: ns_ 3.4.4\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2021-06-09 11:31+0900\n"
12
- "PO-Revision-Date: 2021-06-09 11:31+0900\n"
11
+ "POT-Creation-Date: 2023-06-11 06:20+0900\n"
12
+ "PO-Revision-Date: 2023-06-11 06:20+0900\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
15
  "Language: \n"
data/test/po/p_.pot CHANGED
@@ -6,10 +6,10 @@
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: p_ 3.3.8\n"
9
+ "Project-Id-Version: p_ 3.4.4\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2021-06-09 11:31+0900\n"
12
- "PO-Revision-Date: 2021-06-09 11:31+0900\n"
11
+ "POT-Creation-Date: 2023-06-11 06:20+0900\n"
12
+ "PO-Revision-Date: 2023-06-11 06:20+0900\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
15
  "Language: \n"
data/test/po/s_.pot CHANGED
@@ -6,10 +6,10 @@
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: s_ 3.3.8\n"
9
+ "Project-Id-Version: s_ 3.4.4\n"
10
10
  "Report-Msgid-Bugs-To: \n"
11
- "POT-Creation-Date: 2021-06-09 11:31+0900\n"
12
- "PO-Revision-Date: 2021-06-09 11:31+0900\n"
11
+ "POT-Creation-Date: 2023-06-11 06:20+0900\n"
12
+ "PO-Revision-Date: 2023-06-11 06:20+0900\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
15
  "Language: \n"