gettext 2.3.5 → 2.3.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,18 @@
1
1
  # News
2
+ ## <a id="2-3-6">2.3.6</a>: 2012-12-19
3
+
4
+ This is a bug fix release.
5
+
6
+ ### Fixes
7
+
8
+ * [POEntry] Fixed the bug that obsolete comment mark (#~) is added
9
+ to already comment.
10
+ * [msgmerge] Fixed the bug that no separator (blank line) didn't exist
11
+ between each obsolete entry.
12
+ * [msgmerge] Fixed tne bug that obsolete entries in old PO file are
13
+ added to new PO file. Any obsolete entries in old PO file aren't
14
+ treated for merging.
15
+
2
16
  ## <a id="2-3-5">2.3.5</a>: 2012-12-11
3
17
 
4
18
  This is a bug fix release.
@@ -68,8 +68,7 @@ module GetText
68
68
 
69
69
  parser = POParser.new
70
70
  parser.ignore_fuzzy = false
71
- pot = parser.parse_file(@input_file,
72
- GetText::PO.new)
71
+ pot = parser.parse_file(@input_file, GetText::PO.new)
73
72
  po = replace_pot_header(pot)
74
73
 
75
74
  File.open(@output_file, "w") do |f|
@@ -255,8 +254,7 @@ module GetText
255
254
  POT_REVISION_DATE_KEY = /^(PO-Revision-Date:).+/
256
255
 
257
256
  def replace_pot_revision_date #:nodoc:
258
- @entry = @entry.gsub(POT_REVISION_DATE_KEY,
259
- "\\1 #{revision_date}")
257
+ @entry = @entry.gsub(POT_REVISION_DATE_KEY, "\\1 #{revision_date}")
260
258
  end
261
259
 
262
260
  LANGUAGE_KEY = /^(Language:).+/
@@ -349,8 +347,7 @@ module GetText
349
347
  def replace_first_author #:nodoc:
350
348
  @comment = @comment.gsub(YEAR_KEY, "\\1 #{year}.")
351
349
  unless @translator.nil?
352
- @comment = @comment.gsub(FIRST_AUTHOR_KEY,
353
- "#{@translator}, \\1")
350
+ @comment = @comment.gsub(FIRST_AUTHOR_KEY, "#{@translator}, \\1")
354
351
  end
355
352
  end
356
353
 
@@ -344,11 +344,12 @@ module GetText
344
344
  MAX_FUZZY_DISTANCE = 0.5 # XXX: make sure that its value is proper.
345
345
 
346
346
  def find_fuzzy_entry(definition, msgid, msgctxt)
347
+ return nil if msgid == :last
347
348
  min_distance_entry = nil
348
349
  min_distance = MAX_FUZZY_DISTANCE
349
350
 
350
351
  same_msgctxt_entries = definition.find_all do |entry|
351
- entry.msgctxt == msgctxt
352
+ entry.msgctxt == msgctxt and not entry.msgid == :last
352
353
  end
353
354
  same_msgctxt_entries.each do |entry|
354
355
  distance = Levenshtein.normalized_distance(entry.msgid, msgid)
@@ -374,14 +375,14 @@ module GetText
374
375
 
375
376
  obsolete_entries = extract_obsolete_entries(result, definition)
376
377
  unless obsolete_entries.empty?
377
- obsolete_comment = ""
378
+ obsolete_comment = []
378
379
 
379
380
  obsolete_entries.each do |entry|
380
381
  obsolete_comment << entry.to_s
381
382
  end
382
383
  obsolete_entry = POEntry.new(:normal)
383
384
  obsolete_entry.msgid = :last
384
- obsolete_entry.comment = obsolete_comment
385
+ obsolete_entry.comment = obsolete_comment.join("\n")
385
386
  end
386
387
  obsolete_entry
387
388
  end
@@ -390,7 +391,7 @@ module GetText
390
391
  obsolete_entries = []
391
392
  definition.each do |entry|
392
393
  id = [entry.msgctxt, entry.msgid]
393
- unless result.has_key?(*id)
394
+ if not result.has_key?(*id) and not entry.msgid == :last
394
395
  obsolete_entries << entry
395
396
  end
396
397
  end
@@ -176,7 +176,7 @@ module GetText
176
176
  str = ""
177
177
  # extracted comments
178
178
  if @msgid == :last
179
- return format_comment("#~", comment)
179
+ return format_obsolete_comment(comment)
180
180
  end
181
181
 
182
182
  str << format_translator_comment
@@ -275,6 +275,23 @@ module GetText
275
275
  formatted_comment
276
276
  end
277
277
 
278
+ def format_obsolete_comment(comment)
279
+ mark = "#~"
280
+ return "" if comment.nil?
281
+
282
+ formatted_comment = ""
283
+ comment.each_line do |comment_line|
284
+ if /\A#[^~]/ =~ comment_line or comment_line.start_with?(mark)
285
+ formatted_comment << comment_line
286
+ elsif comment_line == "\n"
287
+ formatted_comment << "\n"
288
+ else
289
+ formatted_comment << "#{mark} #{comment_line.strip}\n"
290
+ end
291
+ end
292
+ formatted_comment
293
+ end
294
+
278
295
  def format_message(message)
279
296
  formatted_message = ""
280
297
  if not message.nil? and message.include?("\n")
@@ -9,5 +9,5 @@
9
9
  =end
10
10
 
11
11
  module GetText
12
- VERSION = "2.3.5"
12
+ VERSION = "2.3.6"
13
13
  end
@@ -7,7 +7,7 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: gettext 2.3.1\n"
9
9
  "Report-Msgid-Bugs-To: \n"
10
- "POT-Creation-Date: 2012-09-20 14:51+0900\n"
10
+ "POT-Creation-Date: 2012-12-19 15:16+0900\n"
11
11
  "PO-Revision-Date: 2012-10-16 16:20+0900\n"
12
12
  "Last-Translator: Haruka Yoshihara <yoshihara@clear-code.com>\n"
13
13
  "Language-Team: Japanese\n"
@@ -17,6 +17,14 @@ msgstr ""
17
17
  "Content-Transfer-Encoding: 8bit\n"
18
18
  "Plural-Forms: nplurals=1; plural=0;\n"
19
19
 
20
+ #: ../lib/gettext/runtime/textdomain_manager.rb:148
21
+ msgid "ngettext: 3rd parmeter is wrong: value = %{number}"
22
+ msgstr "ngettext: 3番目のパラメータが不正です。: value = %{number}"
23
+
24
+ #: ../lib/gettext/runtime/textdomain_manager.rb:154
25
+ msgid "ngettext: 3rd parameter should be a number, not nil."
26
+ msgstr "ngettext: 3番目のパラメータがnilです。数値にしてください。"
27
+
20
28
  #: ../lib/gettext/tools.rb:81
21
29
  msgid "Failed to merge with %{defpo}"
22
30
  msgstr "%{defpo}のマージに失敗しました。"
@@ -31,7 +39,9 @@ msgstr "po/potファイルをチェックしてください。文法エラーも
31
39
 
32
40
  #: ../lib/gettext/tools.rb:188
33
41
  msgid "`%{cmd}' can not be found. \nInstall GNU Gettext then set PATH or MSGMERGE_PATH correctly."
34
- msgstr "`%{cmd}'は見つかりませんでした。\nGNU Gettextをインストールし、環境変数PATHかMSGMERGE_PATHを正しく設定してください。"
42
+ msgstr ""
43
+ "`%{cmd}'は見つかりませんでした。\n"
44
+ "GNU Gettextをインストールし、環境変数PATHかMSGMERGE_PATHを正しく設定してください。"
35
45
 
36
46
  #: ../lib/gettext/tools/msgfmt.rb:65
37
47
  msgid "no input files specified."
@@ -45,58 +55,62 @@ msgstr "使い方: %s input.po [-o output.mo]"
45
55
  msgid "Generate binary message catalog from textual translation description."
46
56
  msgstr "poファイルからバイナリのメッセージカタログファイル(moファイル)を生成します。"
47
57
 
48
- #: ../lib/gettext/tools/msgfmt.rb:86 ../lib/gettext/tools/msginit.rb:89
49
- #: ../lib/gettext/tools/msgmerge.rb:474 ../lib/gettext/tools/xgettext.rb:210
50
- msgid "Specific options:"
51
- msgstr "オプション:"
52
-
53
- #: ../lib/gettext/tools/msgfmt.rb:89 ../lib/gettext/tools/msgmerge.rb:479
58
+ #: ../lib/gettext/tools/msgfmt.rb:89
59
+ #: ../lib/gettext/tools/msgmerge.rb:483
54
60
  #: ../lib/gettext/tools/xgettext.rb:213
55
61
  msgid "write output to specified file"
56
62
  msgstr "出力ファイルを指定します"
57
63
 
58
- #: ../lib/gettext/tools/msgfmt.rb:93 ../lib/gettext/tools/msgmerge.rb:490
64
+ #: ../lib/gettext/tools/msgfmt.rb:93
65
+ #: ../lib/gettext/tools/msgmerge.rb:494
59
66
  #: ../lib/gettext/tools/xgettext.rb:256
60
67
  msgid "display version information and exit"
61
68
  msgstr "バージョンを表示します"
62
69
 
63
- #: ../lib/gettext/tools/msginit.rb:85
70
+ #: ../lib/gettext/tools/msgfmt.rb:86 ../lib/gettext/tools/msginit.rb:88
71
+ #: ../lib/gettext/tools/msgmerge.rb:478
72
+ #: ../lib/gettext/tools/xgettext.rb:210
73
+ msgid "Specific options:"
74
+ msgstr "オプション:"
75
+
76
+ #: ../lib/gettext/tools/msginit.rb:84
64
77
  msgid "Create a new .po file from initializing .pot file with user's environment and input."
65
78
  msgstr "ユーザの環境や入力からpotファイルを初期化してpoファイルを作成します。"
66
79
 
67
- #: ../lib/gettext/tools/msginit.rb:91
80
+ #: ../lib/gettext/tools/msginit.rb:90
68
81
  msgid "Use INPUT as a .pot file. If INPUT is not specified, INPUT is a .pot file existing the current directory."
69
82
  msgstr "INPUTとして指定された値をpotファイルとして使います。potファイルが指定されていない場合は、現在のカレントディレクトリにあるpotファイルを使用します。"
70
83
 
71
- #: ../lib/gettext/tools/msginit.rb:98
84
+ #: ../lib/gettext/tools/msginit.rb:97
72
85
  msgid "Use OUTPUT as a created .po file. If OUTPUT is not specified, OUTPUT depend on LOCALE or the current locale on your environment."
73
86
  msgstr "OUTPUTとして指定されたファイルをpoファイルとして扱います。poファイルが指定されていない場合、LOCALEとして指定された値か、ユーザの現在のロケールをもとにpoファイルの名前を決めます。"
74
87
 
75
- #: ../lib/gettext/tools/msginit.rb:105
88
+ #: ../lib/gettext/tools/msginit.rb:104
76
89
  msgid "Use LOCALE as target locale. If LOCALE is not specified, LOCALE is the current locale on your environment."
77
90
  msgstr "LOCALEとして指定された値をターゲットのロケールとして扱います。ロケールが指定されていない場合は、ユーザの現在のロケールを使用します。"
78
91
 
79
- #: ../lib/gettext/tools/msginit.rb:112 ../lib/gettext/tools/msgmerge.rb:485
92
+ #: ../lib/gettext/tools/msginit.rb:111
93
+ #: ../lib/gettext/tools/msgmerge.rb:489
80
94
  msgid "Display this help and exit"
81
95
  msgstr "このヘルプを表示します"
82
96
 
83
- #: ../lib/gettext/tools/msginit.rb:117
97
+ #: ../lib/gettext/tools/msginit.rb:116
84
98
  msgid "Display version and exit"
85
99
  msgstr "バージョンを表示します"
86
100
 
87
- #: ../lib/gettext/tools/msginit.rb:135
101
+ #: ../lib/gettext/tools/msginit.rb:134
88
102
  msgid ".pot file does not exist in the current directory."
89
103
  msgstr "現在のカレントディレクトリにpotファイルが存在しません。"
90
104
 
91
- #: ../lib/gettext/tools/msginit.rb:140
105
+ #: ../lib/gettext/tools/msginit.rb:139
92
106
  msgid "file '%s' does not exist."
93
107
  msgstr "ファイル'%s'は存在しません。"
94
108
 
95
- #: ../lib/gettext/tools/msginit.rb:152
109
+ #: ../lib/gettext/tools/msginit.rb:151
96
110
  msgid "\"Locale '#{language_tag}' is invalid. \"Please check if your specified locale is usable."
97
111
  msgstr "'#{language_tag}'というロケールは正しくありません。指定したロケールが使用可能かどうか確認してください。"
98
112
 
99
- #: ../lib/gettext/tools/msginit.rb:161
113
+ #: ../lib/gettext/tools/msginit.rb:160
100
114
  msgid "file '%s' has already existed."
101
115
  msgstr "ファイル'%s'はすでに存在します。"
102
116
 
@@ -108,22 +122,26 @@ msgstr "あなたのフルネームを入力してください"
108
122
  msgid "Please enter your email address"
109
123
  msgstr "あなたのメールアドレスを入力してください"
110
124
 
111
- #: ../lib/gettext/tools/msgmerge.rb:453
125
+ #: ../lib/gettext/tools/msgmerge.rb:457
112
126
  msgid "definition po is not given."
113
127
  msgstr "poファイルが指定されていません。"
114
128
 
115
- #: ../lib/gettext/tools/msgmerge.rb:455
129
+ #: ../lib/gettext/tools/msgmerge.rb:459
116
130
  msgid "reference pot is not given."
117
131
  msgstr "potファイルが指定されていません。"
118
132
 
119
- #: ../lib/gettext/tools/msgmerge.rb:463
133
+ #: ../lib/gettext/tools/msgmerge.rb:467
120
134
  msgid "Usage: %s def.po ref.pot [-o output.pot]"
121
135
  msgstr "使用法: %s def.po ref.pot [-o output.pot]"
122
136
 
123
- #: ../lib/gettext/tools/msgmerge.rb:466
137
+ #: ../lib/gettext/tools/msgmerge.rb:470
124
138
  msgid "Merges two Uniforum style .po files together. The def.po file is an existing PO file with translations. The ref.pot file is the last created PO file with up-to-date source references. ref.pot is generally created by rgettext."
125
139
  msgstr "2つの.poファイルをマージします。def.poファイルはすでにある翻訳済みのPOファイルです。ref.potは最新のPOファイルです。ref.potは通常xgettextから新たに生成されたものです。"
126
140
 
141
+ #: ../lib/gettext/tools/parser/glade.rb:76
142
+ msgid "`%{file}' is not glade-2.0 format."
143
+ msgstr "ファイル'%{file}'はglade-2.0のフォーマットではありません。"
144
+
127
145
  #: ../lib/gettext/tools/xgettext.rb:64
128
146
  msgid "'%{klass}' is ignored."
129
147
  msgstr "'%{klass}'は無視されました。"
@@ -176,80 +194,173 @@ msgstr "デバッグモードで実行します"
176
194
  msgid "display this help and exit"
177
195
  msgstr "このヘルプを表示します"
178
196
 
179
- #: ../lib/gettext/tools/xgettext.rb:302
197
+ #: ../lib/gettext/tools/xgettext.rb:300
180
198
  msgid "Warning: The empty \"\" msgid is reserved by gettext. So gettext(\"\") doesn't returns empty string but the header entry in po file."
181
199
  msgstr "\"\"というmsgidはgettextによって予約されています。したがって、gettext(\"\")は作成されるpoファイルのヘッダエントリを返しますが、空の文字列は返しません。"
182
200
 
183
- #: ../lib/gettext/tools/parser/glade.rb:76
184
- msgid "`%{file}' is not glade-2.0 format."
185
- msgstr "ファイル'%{file}'はglade-2.0のフォーマットではありません。"
186
-
187
- #: ../lib/gettext/runtime/textdomain_manager.rb:148
188
- msgid "ngettext: 3rd parmeter is wrong: value = %{number}"
189
- msgstr "ngettext: 3番目のパラメータが不正です。: value = %{number}"
201
+ #: ../samples/cgi/hellolib.rb:16
202
+ msgid "This message is from hellolib."
203
+ msgstr ""
190
204
 
191
- #: ../lib/gettext/runtime/textdomain_manager.rb:154
192
- msgid "ngettext: 3rd parameter should be a number, not nil."
193
- msgstr "ngettext: 3番目のパラメータがnilです。数値にしてください。"
205
+ #: ../samples/hello.rb:16
206
+ msgid "Hello World\n"
207
+ msgstr ""
194
208
 
195
- #: ../samples/hello_gtk2.rb:22
196
- msgid "hello, gtk world"
209
+ #: ../samples/hello2.rb:18
210
+ msgid "One is %{num}\n"
197
211
  msgstr ""
198
212
 
199
- #: ../samples/hello_tk.rb:15
200
- msgid "hello, tk world"
213
+ #: ../samples/hello2.rb:19
214
+ msgid "Hello %{world}\n"
201
215
  msgstr ""
202
216
 
203
- #: ../samples/hello_glade2.glade:9 ../test/fixtures/gladeparser.glade:8
204
- msgid "window1"
217
+ #: ../samples/hello2.rb:19
218
+ msgid "World"
205
219
  msgstr ""
206
220
 
207
221
  #: ../samples/hello_glade2.glade:30
208
- msgid ""
209
- "first line\n"
210
- "second line\n"
211
- "third line"
222
+ msgid "first line\nsecond line\nthird line"
212
223
  msgstr ""
213
224
 
214
225
  #: ../samples/hello_glade2.glade:54
215
226
  msgid "<Hello world>"
216
227
  msgstr ""
217
228
 
229
+ #: ../samples/hello_glade2.glade:9 ../test/fixtures/gladeparser.glade:8
230
+ msgid "window1"
231
+ msgstr ""
232
+
233
+ #: ../samples/hello_gtk2.rb:22
234
+ msgid "hello, gtk world"
235
+ msgstr ""
236
+
237
+ #: ../samples/hello_noop.rb:13
238
+ msgid "Hello World2"
239
+ msgstr ""
240
+
241
+ #: ../samples/hello_noop.rb:13
242
+ msgid "Hello World"
243
+ msgstr ""
244
+
218
245
  #: ../samples/hello_plural.rb:19
219
246
  msgid "There is an apple.\n"
220
247
  msgid_plural "There are %{num} apples.\n"
221
248
  msgstr[0] ""
249
+ msgstr[1] ""
222
250
 
223
- #: ../samples/hello_noop.rb:13
224
- msgid "Hello World"
251
+ #: ../samples/hello_tk.rb:15
252
+ msgid "hello, tk world"
225
253
  msgstr ""
226
254
 
227
- #: ../samples/hello_noop.rb:13
228
- msgid "Hello World2"
255
+ #: ../test/fixtures/N_.rb:37
256
+ #: ../test/fixtures/n_.rb:63 ../test/fixtures/_.rb:57
257
+ msgid "ggghhhiii"
258
+ msgid_plural "jjjkkklll"
259
+ msgstr[0] ""
260
+ msgstr[1] ""
261
+
262
+ #: ../test/fixtures/N_.rb:43
263
+ #: ../test/fixtures/n_.rb:72 ../test/fixtures/_.rb:63
264
+ msgid "a\"b\"c\""
265
+ msgid_plural "a\"b\"c\"2"
266
+ msgstr[0] ""
267
+ msgstr[1] ""
268
+
269
+ #: ../test/fixtures/N_.rb:47
270
+ #: ../test/fixtures/n_.rb:76 ../test/fixtures/_.rb:67
271
+ msgid "d\"e\"f\""
272
+ msgid_plural "d\"e\"f\"2"
273
+ msgstr[0] ""
274
+ msgstr[1] ""
275
+
276
+ #: ../test/fixtures/N_.rb:10 ../test/test_gettext.rb:155
277
+ #: ../test/fixtures/n_.rb:29 ../test/fixtures/_.rb:30
278
+ #: ../test/test_gettext.rb:159
279
+ msgid "aaa"
280
+ msgid_plural "aaa2"
281
+ msgstr[0] ""
282
+ msgstr[1] ""
283
+
284
+ #: ../test/fixtures/N_.rb:29 ../test/fixtures/N_.rb:33
285
+ #: ../test/fixtures/_.rb:49 ../test/fixtures/_.rb:53
286
+ msgid "eee"
229
287
  msgstr ""
230
288
 
231
- #: ../samples/hello.rb:16
232
- msgid "Hello World\n"
289
+ #: ../test/fixtures/_.rb:96
290
+ msgid " aaa"
233
291
  msgstr ""
234
292
 
235
- #: ../samples/cgi/hellolib.rb:16
236
- msgid "This message is from hellolib."
293
+ #: ../test/fixtures/_.rb:100
294
+ msgid "Here document1\nHere document2\n"
237
295
  msgstr ""
238
296
 
239
- #: ../samples/hello2.rb:18
240
- msgid "One is %{num}\n"
297
+ #. This is a proper name. See the gettext
298
+ #. manual, section Names. Note this is actually a non-ASCII
299
+ #. name: The first name is (with Unicode escapes)
300
+ #. "Fran\u00e7ois" or (with HTML entities) "Fran&ccedil;ois".
301
+ #. Pronunciation is like "fraa-swa pee-nar".
302
+ #. This is an example from GNU gettext documentation.
303
+ #: ../test/fixtures/_.rb:119
304
+ msgid "Francois Pinard"
241
305
  msgstr ""
242
306
 
243
- #: ../samples/hello2.rb:19
244
- msgid "Hello %{world}\n"
307
+ #: ../test/fixtures/_.rb:122
308
+ msgid "No TRANSLATORS comment"
245
309
  msgstr ""
246
310
 
247
- #: ../samples/hello2.rb:19
248
- msgid "World"
311
+ #: ../test/fixtures/_.rb:127
312
+ msgid "self explaining"
249
313
  msgstr ""
250
314
 
251
- #: ../test/tools/files/simple_translation.rb:3
252
- msgid "a translation"
315
+ #: ../test/fixtures/_.rb:131
316
+ msgid "This is a # including string."
317
+ msgstr ""
318
+
319
+ #: ../test/fixtures/_.rb:34 ../test/fixtures/N_.rb:14
320
+ msgid "aaa\n"
321
+ msgstr ""
322
+
323
+ #: ../test/fixtures/_.rb:38 ../test/fixtures/N_.rb:18
324
+ msgid "bbb\nccc"
325
+ msgstr ""
326
+
327
+ #: ../test/fixtures/_.rb:42 ../test/fixtures/N_.rb:22
328
+ msgid "bbb\nccc\nddd\n"
329
+ msgstr ""
330
+
331
+ #: ../test/fixtures/_.rb:53 ../test/fixtures/N_.rb:33
332
+ #: ../test/fixtures/n_.rb:55 ../test/fixtures/n_.rb:59
333
+ msgid "fff"
334
+ msgid_plural "fff2"
335
+ msgstr[0] ""
336
+ msgstr[1] ""
337
+
338
+ #: ../test/fixtures/_.rb:71 ../test/fixtures/N_.rb:51
339
+ msgid "jjj"
340
+ msgstr ""
341
+
342
+ #: ../test/fixtures/_.rb:72 ../test/fixtures/N_.rb:52
343
+ msgid "kkk"
344
+ msgstr ""
345
+
346
+ #: ../test/fixtures/_.rb:76 ../test/fixtures/N_.rb:56
347
+ msgid "lllmmm"
348
+ msgstr ""
349
+
350
+ #: ../test/fixtures/_.rb:84 ../test/fixtures/N_.rb:64
351
+ msgid "nnn\nooo"
352
+ msgstr ""
353
+
354
+ #: ../test/fixtures/_.rb:88 ../test/fixtures/_.rb:92
355
+ msgid "#"
356
+ msgstr ""
357
+
358
+ #: ../test/fixtures/_/one_line.rb:28
359
+ msgid "one line"
360
+ msgstr ""
361
+
362
+ #: ../test/fixtures/backslash.rb:27
363
+ msgid "You should escape '\\' as '\\\\'."
253
364
  msgstr ""
254
365
 
255
366
  #: ../test/fixtures/gladeparser.glade:29
@@ -257,10 +368,7 @@ msgid "normal text"
257
368
  msgstr ""
258
369
 
259
370
  #: ../test/fixtures/gladeparser.glade:50
260
- msgid ""
261
- "1st line\n"
262
- "2nd line\n"
263
- "3rd line"
371
+ msgid "1st line\n2nd line\n3rd line"
264
372
  msgstr ""
265
373
 
266
374
  #: ../test/fixtures/gladeparser.glade:73
@@ -275,87 +383,89 @@ msgstr ""
275
383
  msgid "<span>&quot;markup&quot; with &lt;escaped strings&gt;</span>"
276
384
  msgstr ""
277
385
 
278
- #: ../test/fixtures/gladeparser.glade:137 ../test/fixtures/gladeparser.glade:158
386
+ #: ../test/fixtures/gladeparser.glade:137
387
+ #: ../test/fixtures/gladeparser.glade:158
279
388
  msgid "duplicated"
280
389
  msgstr ""
281
390
 
282
- #: ../test/fixtures/n_.rb:29 ../test/fixtures/_.rb:30 ../test/fixtures/N_.rb:10
283
- #: ../test/test_gettext.rb:155 ../test/test_gettext.rb:159
284
- msgid "aaa"
285
- msgid_plural "aaa2"
286
- msgstr[0] ""
391
+ #: ../test/fixtures/multi_textdomain.rb:11
392
+ #: ../test/fixtures/multi_textdomain.rb:24
393
+ #: ../test/fixtures/multi_textdomain.rb:43
394
+ #: ../test/fixtures/multi_textdomain.rb:50
395
+ #: ../test/fixtures/multi_textdomain.rb:62
396
+ #: ../test/fixtures/multi_textdomain.rb:75
397
+ #: ../test/fixtures/multi_textdomain.rb:91
398
+ #: ../test/fixtures/multi_textdomain.rb:104
399
+ #: ../test/fixtures/multi_textdomain.rb:108
400
+ #: ../test/fixtures/multi_textdomain.rb:128
401
+ #: ../test/fixtures/simple.rb:10 ../test/test_thread.rb:23
402
+ #: ../test/test_gettext.rb:297 ../test/test_gettext.rb:299
403
+ #: ../test/test_gettext.rb:302 ../test/test_gettext.rb:306
404
+ #: ../test/test_gettext.rb:309 ../test/test_gettext.rb:322
405
+ #: ../test/test_gettext.rb:325 ../test/test_gettext.rb:328
406
+ #: ../test/test_gettext.rb:336 ../test/test_gettext.rb:339
407
+ #: ../test/test_gettext.rb:351 ../test/test_gettext.rb:358
408
+ #: ../test/test_textdomain_toplevel.rb:9
409
+ #: ../test/test_textdomain_toplevel.rb:15
410
+ #: ../test/test_textdomain_toplevel.rb:18
411
+ #: ../test/test_textdomain_toplevel.rb:23 ../test/test_gettext.rb:64
412
+ msgid "language"
413
+ msgstr ""
414
+
415
+ #: ../test/fixtures/multi_textdomain.rb:14
416
+ #: ../test/fixtures/multi_textdomain.rb:27
417
+ #: ../test/fixtures/multi_textdomain.rb:54
418
+ #: ../test/fixtures/multi_textdomain.rb:65
419
+ #: ../test/fixtures/multi_textdomain.rb:78
420
+ #: ../test/fixtures/multi_textdomain.rb:116 ../test/test_gettext.rb:53
421
+ msgid "LANGUAGE"
422
+ msgstr ""
423
+
424
+ #: ../test/fixtures/multi_textdomain.rb:120
425
+ msgid "no data"
426
+ msgstr ""
287
427
 
288
428
  #: ../test/fixtures/n_.rb:33
289
429
  msgid "bbb\n"
290
430
  msgid_plural "ccc2\nccc2"
291
431
  msgstr[0] ""
432
+ msgstr[1] ""
292
433
 
293
434
  #: ../test/fixtures/n_.rb:37
294
435
  msgid "ddd\nddd"
295
436
  msgid_plural "ddd2\nddd2"
296
437
  msgstr[0] ""
438
+ msgstr[1] ""
297
439
 
298
440
  #: ../test/fixtures/n_.rb:42
299
- msgid ""
300
- "eee\n"
301
- "eee\n"
302
- msgid_plural ""
303
- "eee2\n"
304
- "eee2\n"
441
+ msgid "eee\neee\n"
442
+ msgid_plural "eee2\neee2\n"
305
443
  msgstr[0] ""
444
+ msgstr[1] ""
306
445
 
307
446
  #: ../test/fixtures/n_.rb:48
308
- msgid ""
309
- "ddd\n"
310
- "eee\n"
447
+ msgid "ddd\neee\n"
311
448
  msgid_plural "ddd\neee2"
312
449
  msgstr[0] ""
313
-
314
- #: ../test/fixtures/n_.rb:55 ../test/fixtures/n_.rb:59 ../test/fixtures/_.rb:53
315
- #: ../test/fixtures/N_.rb:33
316
- msgid "fff"
317
- msgid_plural "fff2"
318
- msgstr[0] ""
450
+ msgstr[1] ""
319
451
 
320
452
  #: ../test/fixtures/n_.rb:59
321
453
  msgid "ggg"
322
454
  msgid_plural "ggg2"
323
455
  msgstr[0] ""
324
-
325
- #: ../test/fixtures/n_.rb:63 ../test/fixtures/_.rb:57 ../test/fixtures/N_.rb:37
326
- msgid "ggghhhiii"
327
- msgid_plural "jjjkkklll"
328
- msgstr[0] ""
329
-
330
- #: ../test/fixtures/n_.rb:72 ../test/fixtures/_.rb:63 ../test/fixtures/N_.rb:43
331
- msgid "a\"b\"c\""
332
- msgid_plural "a\"b\"c\"2"
333
- msgstr[0] ""
334
-
335
- #: ../test/fixtures/n_.rb:76 ../test/fixtures/_.rb:67 ../test/fixtures/N_.rb:47
336
- msgid "d\"e\"f\""
337
- msgid_plural "d\"e\"f\"2"
338
- msgstr[0] ""
456
+ msgstr[1] ""
339
457
 
340
458
  #: ../test/fixtures/n_.rb:80
341
459
  msgid "mmmmmm"
342
460
  msgid_plural "mmm2mmm2"
343
461
  msgstr[0] ""
462
+ msgstr[1] ""
344
463
 
345
464
  #: ../test/fixtures/n_.rb:81
346
465
  msgid "nnn"
347
466
  msgid_plural "nnn2"
348
467
  msgstr[0] ""
349
-
350
- #: ../test/fixtures/n_.rb:86 ../test/fixtures/n_.rb:85
351
- msgid "ooo"
352
- msgid_plural "ppp"
353
- msgstr[0] ""
354
-
355
- #: ../test/fixtures/n_.rb:90 ../test/fixtures/n_.rb:91
356
- msgid "qqq"
357
- msgid_plural "rrr"
358
- msgstr[0] ""
468
+ msgstr[1] ""
359
469
 
360
470
  #. please provide translations for all
361
471
  #. the plural forms!
@@ -363,195 +473,108 @@ msgstr[0] ""
363
473
  msgid "comment"
364
474
  msgid_plural "comments"
365
475
  msgstr[0] ""
476
+ msgstr[1] ""
366
477
 
367
- #: ../test/fixtures/ns_/custom.rb:28 ../test/fixtures/s_/custom.rb:28
368
- msgid "context|context$message"
369
- msgid_plural "context|context$messages"
478
+ #: ../test/fixtures/n_.rb:86 ../test/fixtures/n_.rb:85
479
+ msgid "ooo"
480
+ msgid_plural "ppp"
370
481
  msgstr[0] ""
482
+ msgstr[1] ""
371
483
 
372
- #: ../test/fixtures/multi_textdomain.rb:11 ../test/fixtures/multi_textdomain.rb:24
373
- #: ../test/fixtures/multi_textdomain.rb:43 ../test/fixtures/multi_textdomain.rb:50
374
- #: ../test/fixtures/multi_textdomain.rb:62 ../test/fixtures/multi_textdomain.rb:75
375
- #: ../test/fixtures/multi_textdomain.rb:91 ../test/fixtures/multi_textdomain.rb:104
376
- #: ../test/fixtures/multi_textdomain.rb:108 ../test/fixtures/multi_textdomain.rb:128
377
- #: ../test/fixtures/simple.rb:10 ../test/test_thread.rb:23 ../test/test_textdomain_toplevel.rb:9
378
- #: ../test/test_textdomain_toplevel.rb:15 ../test/test_textdomain_toplevel.rb:18
379
- #: ../test/test_textdomain_toplevel.rb:23 ../test/test_gettext.rb:64 ../test/test_gettext.rb:297
380
- #: ../test/test_gettext.rb:299 ../test/test_gettext.rb:302 ../test/test_gettext.rb:306
381
- #: ../test/test_gettext.rb:309 ../test/test_gettext.rb:322 ../test/test_gettext.rb:325
382
- #: ../test/test_gettext.rb:328 ../test/test_gettext.rb:336 ../test/test_gettext.rb:339
383
- #: ../test/test_gettext.rb:351 ../test/test_gettext.rb:358
384
- msgid "language"
385
- msgstr ""
386
-
387
- #: ../test/fixtures/multi_textdomain.rb:14 ../test/fixtures/multi_textdomain.rb:27
388
- #: ../test/fixtures/multi_textdomain.rb:54 ../test/fixtures/multi_textdomain.rb:65
389
- #: ../test/fixtures/multi_textdomain.rb:78 ../test/fixtures/multi_textdomain.rb:116 ../test/test_gettext.rb:53
390
- msgid "LANGUAGE"
391
- msgstr ""
484
+ #: ../test/fixtures/n_.rb:90 ../test/fixtures/n_.rb:91
485
+ msgid "qqq"
486
+ msgid_plural "rrr"
487
+ msgstr[0] ""
488
+ msgstr[1] ""
392
489
 
393
- #: ../test/fixtures/multi_textdomain.rb:120
394
- msgid "no data"
490
+ #: ../test/fixtures/non_ascii.rb:10
491
+ msgid "こんにちは"
395
492
  msgstr ""
396
493
 
397
- #: ../test/fixtures/np_.rb:28 ../test/fixtures/np_.rb:29 ../test/fixtures/np_.rb:33
398
- #: ../test/fixtures/np_.rb:34
494
+ #: ../test/fixtures/np_.rb:28 ../test/fixtures/np_.rb:29
495
+ #: ../test/fixtures/np_.rb:33 ../test/fixtures/np_.rb:34
399
496
  msgctxt "Magazine"
400
497
  msgid "a book"
401
498
  msgid_plural "%{num} books"
402
499
  msgstr[0] ""
500
+ msgstr[1] ""
403
501
 
404
502
  #: ../test/fixtures/np_.rb:38 ../test/fixtures/np_.rb:39
405
503
  msgctxt "Hardcover"
406
504
  msgid "a book"
407
505
  msgid_plural "%{num} books"
408
506
  msgstr[0] ""
507
+ msgstr[1] ""
409
508
 
410
509
  #: ../test/fixtures/np_.rb:43 ../test/fixtures/np_.rb:44
411
510
  msgctxt "Magaine"
412
511
  msgid "I have a magazine"
413
512
  msgid_plural "I have %{num} magazines"
414
513
  msgstr[0] ""
514
+ msgstr[1] ""
415
515
 
416
516
  #: ../test/fixtures/np_.rb:48 ../test/fixtures/np_.rb:49
417
517
  msgctxt "Hardcover"
418
518
  msgid "a picture"
419
519
  msgid_plural "%{num} pictures"
420
520
  msgstr[0] ""
521
+ msgstr[1] ""
421
522
 
422
- #: ../test/fixtures/_/one_line.rb:28
423
- msgid "one line"
424
- msgstr ""
425
-
426
- #: ../test/fixtures/non_ascii.rb:10
427
- msgid "こんにちは"
428
- msgstr ""
429
-
430
- #: ../test/fixtures/untranslated.rb:10
431
- msgid "untranslated"
432
- msgstr ""
433
-
434
- #: ../test/fixtures/_.rb:34 ../test/fixtures/N_.rb:14
435
- msgid "aaa\n"
436
- msgstr ""
437
-
438
- #: ../test/fixtures/_.rb:38 ../test/fixtures/N_.rb:18
439
- msgid "bbb\nccc"
440
- msgstr ""
441
-
442
- #: ../test/fixtures/_.rb:42 ../test/fixtures/N_.rb:22
443
- msgid ""
444
- "bbb\n"
445
- "ccc\n"
446
- "ddd\n"
447
- msgstr ""
448
-
449
- #: ../test/fixtures/_.rb:49 ../test/fixtures/_.rb:53 ../test/fixtures/N_.rb:29
450
- #: ../test/fixtures/N_.rb:33
451
- msgid "eee"
452
- msgstr ""
453
-
454
- #: ../test/fixtures/_.rb:71 ../test/fixtures/N_.rb:51
455
- msgid "jjj"
456
- msgstr ""
457
-
458
- #: ../test/fixtures/_.rb:72 ../test/fixtures/N_.rb:52
459
- msgid "kkk"
460
- msgstr ""
461
-
462
- #: ../test/fixtures/_.rb:76 ../test/fixtures/N_.rb:56
463
- msgid "lllmmm"
464
- msgstr ""
465
-
466
- #: ../test/fixtures/_.rb:84 ../test/fixtures/N_.rb:64
467
- msgid "nnn\nooo"
468
- msgstr ""
469
-
470
- #: ../test/fixtures/_.rb:88 ../test/fixtures/_.rb:92
471
- msgid "#"
472
- msgstr ""
473
-
474
- #: ../test/fixtures/_.rb:96
475
- msgid " aaa"
476
- msgstr ""
477
-
478
- #: ../test/fixtures/_.rb:100
479
- msgid ""
480
- "Here document1\n"
481
- "Here document2\n"
482
- msgstr ""
483
-
484
- #. This is a proper name. See the gettext
485
- #. manual, section Names. Note this is actually a non-ASCII
486
- #. name: The first name is (with Unicode escapes)
487
- #. "Fran\u00e7ois" or (with HTML entities) "Fran&ccedil;ois".
488
- #. Pronunciation is like "fraa-swa pee-nar".
489
- #. This is an example from GNU gettext documentation.
490
- #: ../test/fixtures/_.rb:119
491
- msgid "Francois Pinard"
492
- msgstr ""
493
-
494
- #: ../test/fixtures/_.rb:122
495
- msgid "No TRANSLATORS comment"
496
- msgstr ""
497
-
498
- #: ../test/fixtures/_.rb:127
499
- msgid "self explaining"
500
- msgstr ""
501
-
502
- #: ../test/fixtures/_.rb:131
503
- msgid "This is a # including string."
504
- msgstr ""
505
-
506
- #: ../test/fixtures/ns_.rb:28 ../test/fixtures/s_.rb:28 ../test/fixtures/s_.rb:32
507
- #: ../test/fixtures/ns_.rb:32 ../test/test_gettext.rb:119
523
+ #: ../test/fixtures/ns_.rb:28 ../test/fixtures/s_.rb:28
524
+ #: ../test/fixtures/s_.rb:32 ../test/fixtures/ns_.rb:32
525
+ #: ../test/test_gettext.rb:119
508
526
  msgid "AAA|BBB"
509
527
  msgid_plural "CCC"
510
528
  msgstr[0] ""
529
+ msgstr[1] ""
511
530
 
512
531
  #: ../test/fixtures/ns_.rb:36 ../test/fixtures/s_.rb:36
513
532
  msgid "AAA"
514
533
  msgid_plural "BBB"
515
534
  msgstr[0] ""
535
+ msgstr[1] ""
516
536
 
517
537
  #: ../test/fixtures/ns_.rb:40 ../test/fixtures/s_.rb:40
518
538
  msgid "AAA|CCC"
519
539
  msgid_plural "DDD"
520
540
  msgstr[0] ""
541
+ msgstr[1] ""
521
542
 
522
543
  #: ../test/fixtures/ns_.rb:44 ../test/fixtures/s_.rb:44
523
544
  msgid "AAA|BBB|CCC"
524
545
  msgid_plural "DDD"
525
546
  msgstr[0] ""
547
+ msgstr[1] ""
526
548
 
527
549
  #: ../test/fixtures/ns_.rb:48 ../test/fixtures/s_.rb:48
528
550
  msgid "AAA$BBB"
529
551
  msgid_plural "CCC"
530
552
  msgstr[0] ""
553
+ msgstr[1] ""
531
554
 
532
555
  #: ../test/fixtures/ns_.rb:52 ../test/fixtures/s_.rb:52
533
556
  msgid "AAA$B|BB"
534
557
  msgid_plural "CCC"
535
558
  msgstr[0] ""
559
+ msgstr[1] ""
536
560
 
537
561
  #: ../test/fixtures/ns_.rb:56 ../test/fixtures/s_.rb:56
538
562
  msgid "AAA$B|CC"
539
563
  msgid_plural "DDD"
540
564
  msgstr[0] ""
565
+ msgstr[1] ""
541
566
 
542
567
  #: ../test/fixtures/ns_.rb:60 ../test/fixtures/s_.rb:60
543
568
  msgid "AAA|CCC|BBB"
544
569
  msgid_plural "DDD"
545
570
  msgstr[0] ""
571
+ msgstr[1] ""
546
572
 
547
- #: ../test/fixtures/backslash.rb:27
548
- msgid "You should escape '\\' as '\\\\'."
549
- msgstr ""
550
-
551
- #: ../test/fixtures/p_.rb:29 ../test/fixtures/p_.rb:33
552
- msgctxt "AAA"
553
- msgid "BBB"
554
- msgstr ""
573
+ #: ../test/fixtures/ns_/custom.rb:28 ../test/fixtures/s_/custom.rb:28
574
+ msgid "context|context$message"
575
+ msgid_plural "context|context$messages"
576
+ msgstr[0] ""
577
+ msgstr[1] ""
555
578
 
556
579
  #: ../test/fixtures/p_.rb:37
557
580
  msgctxt "AAA|BBB"
@@ -579,10 +602,19 @@ msgctxt "program"
579
602
  msgid "name"
580
603
  msgstr ""
581
604
 
605
+ #: ../test/fixtures/p_.rb:29 ../test/fixtures/p_.rb:33
606
+ msgctxt "AAA"
607
+ msgid "BBB"
608
+ msgstr ""
609
+
582
610
  #: ../test/fixtures/simple.rb:14
583
611
  msgid "one is %d."
584
612
  msgstr ""
585
613
 
614
+ #: ../test/fixtures/untranslated.rb:10
615
+ msgid "untranslated"
616
+ msgstr ""
617
+
586
618
  #: ../test/test_gettext.rb:59
587
619
  msgid "nomsgstr"
588
620
  msgstr ""
@@ -591,36 +623,54 @@ msgstr ""
591
623
  msgid "test"
592
624
  msgstr ""
593
625
 
594
- #: ../test/test_gettext.rb:179 ../test/test_gettext.rb:180 ../test/test_gettext.rb:181
595
- #: ../test/test_gettext.rb:184 ../test/test_gettext.rb:185 ../test/test_gettext.rb:186
596
- #: ../test/test_gettext.rb:189 ../test/test_gettext.rb:190 ../test/test_gettext.rb:191
597
- #: ../test/test_gettext.rb:194 ../test/test_gettext.rb:195 ../test/test_gettext.rb:196
598
- #: ../test/test_gettext.rb:197 ../test/test_gettext.rb:200 ../test/test_gettext.rb:201
599
- #: ../test/test_gettext.rb:202 ../test/test_gettext.rb:203 ../test/test_gettext.rb:206
600
- #: ../test/test_gettext.rb:207 ../test/test_gettext.rb:208 ../test/test_gettext.rb:211
601
- #: ../test/test_gettext.rb:212 ../test/test_gettext.rb:213 ../test/test_gettext.rb:216
602
- #: ../test/test_gettext.rb:217 ../test/test_gettext.rb:218 ../test/test_gettext.rb:221
603
- #: ../test/test_gettext.rb:222 ../test/test_gettext.rb:223 ../test/test_gettext.rb:224
604
- #: ../test/test_gettext.rb:225 ../test/test_gettext.rb:252 ../test/test_gettext.rb:253
605
- #: ../test/test_gettext.rb:254 ../test/test_gettext.rb:260 ../test/test_gettext.rb:261
606
- #: ../test/test_gettext.rb:262 ../test/test_gettext.rb:271 ../test/test_gettext.rb:272
607
- #: ../test/test_gettext.rb:273 ../test/test_gettext.rb:281 ../test/test_gettext.rb:282
626
+ #: ../test/test_gettext.rb:251
627
+ #: ../test/test_gettext.rb:231 ../test/test_gettext.rb:232
628
+ #: ../test/test_gettext.rb:233 ../test/test_gettext.rb:236
629
+ #: ../test/test_gettext.rb:237 ../test/test_gettext.rb:238
630
+ #: ../test/test_gettext.rb:240 ../test/test_gettext.rb:241
631
+ #: ../test/test_gettext.rb:242 ../test/test_gettext.rb:244
632
+ #: ../test/test_gettext.rb:245 ../test/test_gettext.rb:246
633
+ #: ../test/test_gettext.rb:249 ../test/test_gettext.rb:250
634
+ msgid "first"
635
+ msgid_plural "second"
636
+ msgstr[0] ""
637
+ msgstr[1] ""
638
+
639
+ #: ../test/test_gettext.rb:179 ../test/test_gettext.rb:180
640
+ #: ../test/test_gettext.rb:181 ../test/test_gettext.rb:184
641
+ #: ../test/test_gettext.rb:185 ../test/test_gettext.rb:186
642
+ #: ../test/test_gettext.rb:189 ../test/test_gettext.rb:190
643
+ #: ../test/test_gettext.rb:191 ../test/test_gettext.rb:194
644
+ #: ../test/test_gettext.rb:195 ../test/test_gettext.rb:196
645
+ #: ../test/test_gettext.rb:197 ../test/test_gettext.rb:200
646
+ #: ../test/test_gettext.rb:201 ../test/test_gettext.rb:202
647
+ #: ../test/test_gettext.rb:203 ../test/test_gettext.rb:206
648
+ #: ../test/test_gettext.rb:207 ../test/test_gettext.rb:208
649
+ #: ../test/test_gettext.rb:211 ../test/test_gettext.rb:212
650
+ #: ../test/test_gettext.rb:213 ../test/test_gettext.rb:216
651
+ #: ../test/test_gettext.rb:217 ../test/test_gettext.rb:218
652
+ #: ../test/test_gettext.rb:221 ../test/test_gettext.rb:222
653
+ #: ../test/test_gettext.rb:223 ../test/test_gettext.rb:224
654
+ #: ../test/test_gettext.rb:225 ../test/test_gettext.rb:252
655
+ #: ../test/test_gettext.rb:253 ../test/test_gettext.rb:254
656
+ #: ../test/test_gettext.rb:260 ../test/test_gettext.rb:261
657
+ #: ../test/test_gettext.rb:262 ../test/test_gettext.rb:271
658
+ #: ../test/test_gettext.rb:272 ../test/test_gettext.rb:273
659
+ #: ../test/test_gettext.rb:281 ../test/test_gettext.rb:282
608
660
  #: ../test/test_gettext.rb:283 ../test/test_gettext.rb:292
609
661
  msgid "one"
610
662
  msgid_plural "two"
611
663
  msgstr[0] ""
664
+ msgstr[1] ""
612
665
 
613
- #: ../test/test_gettext.rb:231 ../test/test_gettext.rb:232 ../test/test_gettext.rb:233
614
- #: ../test/test_gettext.rb:236 ../test/test_gettext.rb:237 ../test/test_gettext.rb:238
615
- #: ../test/test_gettext.rb:240 ../test/test_gettext.rb:241 ../test/test_gettext.rb:242
616
- #: ../test/test_gettext.rb:244 ../test/test_gettext.rb:245 ../test/test_gettext.rb:246
617
- #: ../test/test_gettext.rb:249 ../test/test_gettext.rb:250 ../test/test_gettext.rb:251
618
- msgid "first"
619
- msgid_plural "second"
620
- msgstr[0] ""
621
-
622
- #: ../test/test_gettext.rb:269 ../test/test_gettext.rb:268 ../test/test_gettext.rb:270
623
- #: ../test/test_gettext.rb:278 ../test/test_gettext.rb:279 ../test/test_gettext.rb:280
666
+ #: ../test/test_gettext.rb:269 ../test/test_gettext.rb:268
667
+ #: ../test/test_gettext.rb:270 ../test/test_gettext.rb:278
668
+ #: ../test/test_gettext.rb:279 ../test/test_gettext.rb:280
624
669
  msgid "single"
625
670
  msgid_plural "plural"
626
671
  msgstr[0] ""
672
+ msgstr[1] ""
673
+
674
+ #: ../test/tools/files/simple_translation.rb:3
675
+ msgid "a translation"
676
+ msgstr ""
@@ -199,7 +199,12 @@ msgstr \"Salut\"
199
199
  EOC
200
200
  po.comment = obsolete_comment
201
201
 
202
- expected_obsolete_comment = obsolete_comment.gsub(/^/, "#~ ")
202
+ expected_obsolete_comment = <<-EOC
203
+ # test.rb:10
204
+ #~ msgid "hello"
205
+ #~ msgstr "Salut"
206
+ EOC
207
+
203
208
  assert_equal(expected_obsolete_comment, po.to_s)
204
209
  end
205
210
 
@@ -134,7 +134,13 @@ EOC
134
134
  po[""] = header_entry
135
135
  po.set_comment(:last, obsolete_comment)
136
136
 
137
- expected_obsolete_comment = obsolete_comment.gsub(/^/, "#~ ").chomp
137
+ expected_obsolete_comment = <<-EOC
138
+ # test.rb:10
139
+ #~ msgid "Hello"
140
+ #~ msgstr "Salut"
141
+ EOC
142
+ expected_obsolete_comment = expected_obsolete_comment.chomp
143
+
138
144
  expected_po = <<EOP
139
145
  #{header_entry_comment}
140
146
  msgid \"\"
@@ -307,6 +313,17 @@ EOE
307
313
  assert_equal("il", merged_po["he"].msgstr)
308
314
  end
309
315
 
316
+ def test_existing_obsolete_entry
317
+ @po["hello"] = "bonjour"
318
+ @po[:last] = generate_entry(:msgid => :last,
319
+ :comment => "#~ obsolete_entry")
320
+ @pot["hello"] = "bonjour"
321
+ merged_po = @merger.merge(@po, @pot)
322
+
323
+ assert_equal("bonjour", merged_po["hello"].msgstr)
324
+ assert_nil(merged_po[:last])
325
+ end
326
+
310
327
  def test_different_msgstr
311
328
  @po["hello"] = "salut"
312
329
  @pot["hello"] = "bonjour"
@@ -502,6 +519,7 @@ EOC
502
519
  entry.msgid = options[:msgid]
503
520
  entry.msgid_plural = msgid_plural
504
521
  entry.msgstr = options[:msgstr]
522
+ entry.comment = options[:comment]
505
523
  entry
506
524
  end
507
525
  end
@@ -477,11 +477,24 @@ EOC
477
477
  # test.rb:10
478
478
  msgid \"hello\"
479
479
  msgstr \"Salut\"
480
+
481
+ # test.rb:20
482
+ msgid \"hi\"
483
+ msgstr \"Bonjour\"
480
484
  EOC
481
485
  end
482
486
 
483
487
  def expected_obsolete_comment
484
- obsolete_comment.gsub(/^/, "#~ ").chomp
488
+ comment = <<EOC
489
+ # test.rb:10
490
+ #~ msgid \"hello\"
491
+ #~ msgstr \"Salut\"
492
+
493
+ # test.rb:20
494
+ #~ msgid \"hi\"
495
+ #~ msgstr \"Bonjour\"
496
+ EOC
497
+ comment.chomp
485
498
  end
486
499
  end
487
500
  end
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: 2.3.5
4
+ version: 2.3.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-12-11 00:00:00.000000000 Z
13
+ date: 2012-12-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: locale
@@ -966,7 +966,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
966
966
  version: '0'
967
967
  segments:
968
968
  - 0
969
- hash: -2018452385733488601
969
+ hash: 2516078036789009577
970
970
  required_rubygems_version: !ruby/object:Gem::Requirement
971
971
  none: false
972
972
  requirements:
@@ -975,7 +975,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
975
975
  version: '0'
976
976
  segments:
977
977
  - 0
978
- hash: -2018452385733488601
978
+ hash: 2516078036789009577
979
979
  requirements: []
980
980
  rubyforge_project: gettext
981
981
  rubygems_version: 1.8.23