{"thread":{"id":"12688","subject":"[PATCH] Update Japanese translation","startedAt":"2008-03-14T13:03:21Z","lastAt":"2008-03-16T13:08:27Z","messageCount":10,"participants":["しらいしななこ","Alex Riesen","Shawn O. Pearce","Junio C Hamano","Peter Karlsson"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"72074","messageId":"200803141303.m2ED3nUj016918@mi1.bluebottle.com","threadId":"12688","inReplyTo":null,"subject":"[PATCH] Update Japanese translation","fromName":"しらいしななこ","fromEmail":"nanako3@bluebottle.com","sentAt":"2008-03-14T13:03:21Z","receivedAt":"2008-03-14T13:03:21Z","isPatch":true,"sender":{"key":"nanako3@lavabit.com","avatar":"https://gravatar.com/avatar/3777b9e201c5883a62b1a6fdf7c53f2d712d1d80989146063ea861e33aad72a8?d=mp&s=160"},"body":"I updated Japanese translation for the latest git-gui.\n\nSigned-off-by: しらいしななこ <nanako3@bluebottle.com>\n---\n po/ja.po |  126 ++++++++++++++++++++++++++++++++++++++++++++++----------------\n 1 files changed, 94 insertions(+), 32 deletions(-)\n\ndiff --git a/po/ja.po b/po/ja.po\nindex e2cf5bd..189b726 100644\n--- a/po/ja.po\n+++ b/po/ja.po\n@@ -8,8 +8,8 @@ msgid \"\"\n msgstr \"\"\n \"Project-Id-Version: git-gui\\n\"\n \"Report-Msgid-Bugs-To: \\n\"\n-\"POT-Creation-Date: 2007-11-24 10:36+0100\\n\"\n-\"PO-Revision-Date: 2007-12-05 06:12+0900\\n\"\n+\"POT-Creation-Date: 2008-02-16 21:24+0100\\n\"\n+\"PO-Revision-Date: 2008-03-14 20:32+0900\\n\"\n \"Last-Translator: しらいし ななこ <nanako3@bluebottle.com>\\n\"\n \"Language-Team: Japanese\\n\"\n \"MIME-Version: 1.0\\n\"\n@@ -398,31 +398,31 @@ msgstr \"全てコピー\"\n msgid \"File:\"\n msgstr \"ファイル:\"\n \n-#: git-gui.sh:2545\n-msgid \"Refresh\"\n-msgstr \"再読み込み\"\n-\n-#: git-gui.sh:2566\n+#: git-gui.sh:2573\n msgid \"Apply/Reverse Hunk\"\n msgstr \"パッチを適用/取り消す\"\n \n-#: git-gui.sh:2572\n-msgid \"Decrease Font Size\"\n-msgstr \"フォントを小さく\"\n-\n-#: git-gui.sh:2576\n-msgid \"Increase Font Size\"\n-msgstr \"フォントを大きく\"\n-\n-#: git-gui.sh:2581\n+#: git-gui.sh:2579\n msgid \"Show Less Context\"\n msgstr \"文脈を少なく\"\n \n-#: git-gui.sh:2588\n+#: git-gui.sh:2586\n msgid \"Show More Context\"\n msgstr \"文脈を多く\"\n \n-#: git-gui.sh:2602\n+#: git-gui.sh:2594\n+msgid \"Refresh\"\n+msgstr \"再読み込み\"\n+\n+#: git-gui.sh:2615\n+msgid \"Decrease Font Size\"\n+msgstr \"フォントを小さく\"\n+\n+#: git-gui.sh:2619\n+msgid \"Increase Font Size\"\n+msgstr \"フォントを大きく\"\n+\n+#: git-gui.sh:2630\n msgid \"Unstage Hunk From Commit\"\n msgstr \"パッチをコミット予定から外す\"\n \n@@ -804,6 +804,10 @@ msgstr \"\"\n msgid \"Updating working directory to '%s'...\"\n msgstr \"作業ディレクトリを '%s' に更新しています…\"\n \n+#: lib/checkout_op.tcl:323\n+msgid \"files checked out\"\n+msgstr \"チェックアウトされたファイル\"\n+\n #: lib/checkout_op.tcl:353\n #, tcl-format\n msgid \"Aborted checkout of '%s' (file level merging is required).\"\n@@ -1262,11 +1266,40 @@ msgstr \"\"\n \"- 第２行: 空白\\n\"\n \"- 残りの行: なぜ、この変更が良い変更か、の説明。\\n\"\n \n-#: lib/commit.tcl:257\n+#: lib/commit.tcl:207\n+#, tcl-format\n+msgid \"warning: Tcl does not support encoding '%s'.\"\n+msgstr \"警告: Tcl はエンコーディング '%s' をサポートしていません\"\n+\n+#: lib/commit.tcl:221\n+msgid \"Calling pre-commit hook...\"\n+msgstr \"コミット前フックを実行中・・・\"\n+\n+#: lib/commit.tcl:236\n+msgid \"Commit declined by pre-commit hook.\"\n+msgstr \"コミット前フックがコミットを拒否しました\"\n+\n+#: lib/commit.tcl:259\n+msgid \"Calling commit-msg hook...\"\n+msgstr \"コミット・メッセージ・フックを実行中・・・\"\n+\n+#: lib/commit.tcl:274\n+msgid \"Commit declined by commit-msg hook.\"\n+msgstr \"コミット・メッセージ・フックがコミットを拒否しました\"\n+\n+#: lib/commit.tcl:287\n+msgid \"Committing changes...\"\n+msgstr \"変更点をコミット中・・・\"\n+\n+#: lib/commit.tcl:303\n msgid \"write-tree failed:\"\n msgstr \"write-tree が失敗しました:\"\n \n-#: lib/commit.tcl:275\n+#: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368\n+msgid \"Commit failed.\"\n+msgstr \"コミットに失敗しました。\"\n+\n+#: lib/commit.tcl:321\n #, tcl-format\n msgid \"Commit %s appears to be corrupt\"\n msgstr \"コミット %s は壊れています\"\n@@ -1289,12 +1322,7 @@ msgstr \"\"\n msgid \"No changes to commit.\"\n msgstr \"コミットする変更がありません。\"\n \n-#: lib/commit.tcl:303\n-#, tcl-format\n-msgid \"warning: Tcl does not support encoding '%s'.\"\n-msgstr \"警告: Tcl はエンコーディング '%s' をサポートしていません\"\n-\n-#: lib/commit.tcl:317\n+#: lib/commit.tcl:347\n msgid \"commit-tree failed:\"\n msgstr \"commit-tree が失敗しました:\"\n \n@@ -1457,7 +1485,9 @@ msgstr \"索引エラー\"\n msgid \"\"\n \"Updating the Git index failed.  A rescan will be automatically started to \"\n \"resynchronize git-gui.\"\n-msgstr \"GIT インデックスの更新が失敗しました。git-gui と同期をとるために再スキャンします。\"\n+msgstr \"\"\n+\"GIT インデックスの更新が失敗しました。git-gui と同期をとるために再スキャンし\"\n+\"ます。\"\n \n #: lib/index.tcl:27\n msgid \"Continue\"\n@@ -1472,6 +1502,10 @@ msgstr \"インデックスのロック解除\"\n msgid \"Unstaging %s from commit\"\n msgstr \"コミットから '%s' を降ろす\"\n \n+#: lib/index.tcl:313\n+msgid \"Ready to commit.\"\n+msgstr \"コミット準備完了\"\n+\n #: lib/index.tcl:326\n #, tcl-format\n msgid \"Adding %s\"\n@@ -1562,10 +1596,10 @@ msgstr \"%s の %s ブランチ\"\n \n #: lib/merge.tcl:119\n #, tcl-format\n-msgid \"Merging %s and %s\"\n-msgstr \"%s と %s をマージします\"\n+msgid \"Merging %s and %s...\"\n+msgstr \"%s と %s をマージ中・・・\"\n \n-#: lib/merge.tcl:131\n+#: lib/merge.tcl:130\n msgid \"Merge completed successfully.\"\n msgstr \"マージが完了しました\"\n \n@@ -1624,7 +1658,11 @@ msgstr \"\"\n msgid \"Aborting\"\n msgstr \"中断しています\"\n \n-#: lib/merge.tcl:266\n+#: lib/merge.tcl:238\n+msgid \"files reset\"\n+msgstr \"リセットしたファイル\"\n+\n+#: lib/merge.tcl:265\n msgid \"Abort failed.\"\n msgstr \"中断に失敗しました。\"\n \n@@ -1689,7 +1727,11 @@ msgstr \"diff の文脈行数\"\n msgid \"New Branch Name Template\"\n msgstr \"新しいブランチ名のテンプレート\"\n \n-#: lib/option.tcl:176\n+#: lib/option.tcl:191\n+msgid \"Spelling Dictionary:\"\n+msgstr \"スペルチェック辞書\"\n+\n+#: lib/option.tcl:215\n msgid \"Change Font\"\n msgstr \"フォントを変更\"\n \n@@ -1814,6 +1856,26 @@ msgstr \"ショートカットが書けません:\"\n msgid \"Cannot write icon:\"\n msgstr \"アイコンが書けません:\"\n \n+#: lib/spellcheck.tcl:37\n+msgid \"Not connected to aspell\"\n+msgstr \"aspell に接続していません\"\n+\n+#: lib/spellcheck.tcl:41\n+msgid \"Unrecognized aspell version\"\n+msgstr \"aspell バージョンが判別できません\"\n+\n+#: lib/spellcheck.tcl:135\n+msgid \"No Suggestions\"\n+msgstr \"提案なし\"\n+\n+#: lib/spellcheck.tcl:336\n+msgid \"Unexpected EOF from aspell\"\n+msgstr \"aspell が予想外の EOF を返しました\"\n+\n+#: lib/spellcheck.tcl:340\n+msgid \"Spell Checker Failed\"\n+msgstr \"スペルチェック失敗\"\n+\n #: lib/status_bar.tcl:83\n #, tcl-format\n msgid \"%s ... %*i of %*i %s (%3i%%)\"\n-- \n1.5.4.3\n\n-- \nNanako Shiraishi\nhttp://ivory.ap.teacup.com/nanako3/\n\n----------------------------------------------------------------------\nFree pop3 email with a spam filter.\nhttp://www.bluebottle.com/tag/5\n"},{"id":"72150","messageId":"20080314222557.GC5914@steel.home","threadId":"12688","inReplyTo":"200803141303.m2ED3nUj016918@mi1.bluebottle.com","subject":"[PATCH] git-gui: update russian translation","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2008-03-14T22:25:57Z","receivedAt":"2008-03-14T22:25:57Z","isPatch":true,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"Signed-off-by: Alex Riesen <raa.lkml@gmail.com>\n---\n po/ru.po |   48 +++++++++++++++++++++---------------------------\n 1 files changed, 21 insertions(+), 27 deletions(-)\n\ndiff --git a/po/ru.po b/po/ru.po\nindex 849dc5c..db55b3e 100644\n--- a/po/ru.po\n+++ b/po/ru.po\n@@ -806,7 +806,7 @@ msgstr \"Обновление рабочего каталога из '%s'...\"\n \n #: lib/checkout_op.tcl:323\n msgid \"files checked out\"\n-msgstr \"\"\n+msgstr \"файлы извлечены\"\n \n #: lib/checkout_op.tcl:353\n #, tcl-format\n@@ -1250,7 +1250,6 @@ msgstr \"\"\n \"Подготовьте хотя бы один файл до создания сохраненного состояния.\\n\"\n \n #: lib/commit.tcl:183\n-#, fuzzy\n msgid \"\"\n \"Please supply a commit message.\\n\"\n \"\\n\"\n@@ -1275,32 +1274,31 @@ msgstr \"предупреждение: Tcl не поддерживает коди\n \n #: lib/commit.tcl:221\n msgid \"Calling pre-commit hook...\"\n-msgstr \"\"\n+msgstr \"Вызов программы поддержки репозитория pre-commit...\"\n \n #: lib/commit.tcl:236\n msgid \"Commit declined by pre-commit hook.\"\n-msgstr \"\"\n+msgstr \"Сохранение прервано программой поддержки репозитория pre-commit\"\n \n #: lib/commit.tcl:259\n msgid \"Calling commit-msg hook...\"\n-msgstr \"\"\n+msgstr \"Вызов программы поддержки репозитория commit-msg...\"\n \n #: lib/commit.tcl:274\n msgid \"Commit declined by commit-msg hook.\"\n-msgstr \"\"\n+msgstr \"Сохранение прервано программой поддержки репозитория commit-msg\"\n \n #: lib/commit.tcl:287\n msgid \"Committing changes...\"\n-msgstr \"\"\n+msgstr \"Сохранение изменений...\"\n \n #: lib/commit.tcl:303\n msgid \"write-tree failed:\"\n msgstr \"Программа write-tree завершилась с ошибкой:\"\n \n #: lib/commit.tcl:304 lib/commit.tcl:348 lib/commit.tcl:368\n-#, fuzzy\n msgid \"Commit failed.\"\n-msgstr \"Клонирование не удалось.\"\n+msgstr \"Сохранить состояние не удалось.\"\n \n #: lib/commit.tcl:321\n #, tcl-format\n@@ -1506,7 +1504,6 @@ msgid \"Unstaging %s from commit\"\n msgstr \"Удаление %s из подготовленного\"\n \n #: lib/index.tcl:313\n-#, fuzzy\n msgid \"Ready to commit.\"\n msgstr \"Подготовлено для сохранения\"\n \n@@ -1602,9 +1599,8 @@ msgid \"%s of %s\"\n msgstr \"%s из %s\"\n \n #: lib/merge.tcl:119\n-#, fuzzy, tcl-format\n msgid \"Merging %s and %s...\"\n-msgstr \"Объединение %s и %s\"\n+msgstr \"Объединение %s и %s...\"\n \n #: lib/merge.tcl:130\n msgid \"Merge completed successfully.\"\n@@ -1666,9 +1662,8 @@ msgid \"Aborting\"\n msgstr \"Прерываю\"\n \n #: lib/merge.tcl:238\n-#, fuzzy\n msgid \"files reset\"\n-msgstr \"файлов\"\n+msgstr \"изменения в файлах отменены\"\n \n #: lib/merge.tcl:265\n msgid \"Abort failed.\"\n@@ -1701,7 +1696,7 @@ msgstr \"Имя пользователя\"\n \n #: lib/option.tcl:117\n msgid \"Email Address\"\n-msgstr \"Адес электронной почты\"\n+msgstr \"Адрес электронной почты\"\n \n #: lib/option.tcl:119\n msgid \"Summarize Merge Commits\"\n@@ -1732,9 +1727,8 @@ msgid \"Number of Diff Context Lines\"\n msgstr \"Число строк в контексте diff\"\n \n #: lib/option.tcl:127\n-#, fuzzy\n msgid \"Commit Message Text Width\"\n-msgstr \"Комментарий к состоянию:\"\n+msgstr \"Ширина комментария к состоянию:\"\n \n #: lib/option.tcl:128\n msgid \"New Branch Name Template\"\n@@ -1742,7 +1736,7 @@ msgstr \"Шаблон для имени новой ветви\"\n \n #: lib/option.tcl:192\n msgid \"Spelling Dictionary:\"\n-msgstr \"\"\n+msgstr \"Словарь для проверки правописания:\"\n \n #: lib/option.tcl:216\n msgid \"Change Font\"\n@@ -1871,40 +1865,40 @@ msgstr \"Невозможно записать значок:\"\n \n #: lib/spellcheck.tcl:57\n msgid \"Unsupported spell checker\"\n-msgstr \"\"\n+msgstr \"Неподдерживаемая программа проверки правописания\"\n \n #: lib/spellcheck.tcl:65\n msgid \"Spell checking is unavailable\"\n-msgstr \"\"\n+msgstr \"Проверка правописания не доступна\"\n \n #: lib/spellcheck.tcl:68\n msgid \"Invalid spell checking configuration\"\n-msgstr \"\"\n+msgstr \"Неправильная конфигурация программы проверки правописания\"\n \n #: lib/spellcheck.tcl:70\n #, tcl-format\n msgid \"Reverting dictionary to %s.\"\n-msgstr \"\"\n+msgstr \"Словарь вернут к %s.\"\n \n #: lib/spellcheck.tcl:73\n msgid \"Spell checker silently failed on startup\"\n-msgstr \"\"\n+msgstr \"Программа проверки правописания не смогла запустится\"\n \n #: lib/spellcheck.tcl:80\n msgid \"Unrecognized spell checker\"\n-msgstr \"\"\n+msgstr \"Нераспознаная программа проверки правописания\"\n \n #: lib/spellcheck.tcl:180\n msgid \"No Suggestions\"\n-msgstr \"\"\n+msgstr \"Исправлений не найдено\"\n \n #: lib/spellcheck.tcl:381\n msgid \"Unexpected EOF from spell checker\"\n-msgstr \"\"\n+msgstr \"Программа проверки правописания прервала передачу данных\"\n \n #: lib/spellcheck.tcl:385\n msgid \"Spell Checker Failed\"\n-msgstr \"\"\n+msgstr \"Ошибка проверки правописания\"\n \n #: lib/status_bar.tcl:83\n #, tcl-format\n-- \n1.5.4.4.578.g182d\n"},{"id":"72166","messageId":"20080315050840.GF8410@spearce.org","threadId":"12688","inReplyTo":"200803141303.m2ED3nUj016918@mi1.bluebottle.com","subject":"Re: [PATCH] Update Japanese translation","fromName":"Shawn O. Pearce","fromEmail":"spearce@spearce.org","sentAt":"2008-03-15T05:08:40Z","receivedAt":"2008-03-15T05:08:40Z","isPatch":true,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":" <nanako3@bluebottle.com> wrote:\n> I updated Japanese translation for the latest git-gui.\n> \n> Signed-off-by: しらいしななこ <nanako3@bluebottle.com>\n> ---\n>  po/ja.po |  126 ++++++++++++++++++++++++++++++++++++++++++++++----------------\n>  1 files changed, 94 insertions(+), 32 deletions(-)\n> \n> diff --git a/po/ja.po b/po/ja.po\n> index e2cf5bd..189b726 100644\n> --- a/po/ja.po\n> +++ b/po/ja.po\n> @@ -8,8 +8,8 @@ msgid \"\"\n>  msgstr \"\"\n>  \"Project-Id-Version: git-gui\\n\"\n>  \"Report-Msgid-Bugs-To: \\n\"\n> -\"POT-Creation-Date: 2007-11-24 10:36+0100\\n\"\n> -\"PO-Revision-Date: 2007-12-05 06:12+0900\\n\"\n> +\"POT-Creation-Date: 2008-02-16 21:24+0100\\n\"\n> +\"PO-Revision-Date: 2008-03-14 20:32+0900\\n\"\n\nUnfortunately this patch does not apply after Peter's regeneration\nof the POT file (0212242d66):\n\n  \"POT-Creation-Date: 2008-03-14 07:18+0100\\n\"\n\nI certainly can fix up a merge conflict in the header, but I do not\ndare try to fix up the merge conflicts in the lower parts, where\nthere are actual Japanese translations.  Would you please be so kind\nas to fetch my lastest master branch and submit an updated patch?\n\n-- \nShawn.\n"},{"id":"72167","messageId":"7vlk4ko7px.fsf@gitster.siamese.dyndns.org","threadId":"12688","inReplyTo":"20080315050840.GF8410@spearce.org","subject":"Re: [PATCH] Update Japanese translation","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-03-15T05:51:38Z","receivedAt":"2008-03-15T05:51:38Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Shawn O. Pearce\" <spearce@spearce.org> writes:\n\n>>  \"Report-Msgid-Bugs-To: \\n\"\n>> -\"POT-Creation-Date: 2007-11-24 10:36+0100\\n\"\n>> -\"PO-Revision-Date: 2007-12-05 06:12+0900\\n\"\n>> +\"POT-Creation-Date: 2008-02-16 21:24+0100\\n\"\n>> +\"PO-Revision-Date: 2008-03-14 20:32+0900\\n\"\n>\n> Unfortunately this patch does not apply after Peter's regeneration\n> of the POT file (0212242d66):\n>\n>   \"POT-Creation-Date: 2008-03-14 07:18+0100\\n\"\n\nHere is the guide to your translators, in your po/README:\n\n    By comparing \"POT-Creation-Date:\" line in po/git-gui.pot file and\n    po/af.po file, you can tell if there are new messages that need to be\n    translated.  You would need the GNU gettext package to perform this\n    step.\n\n            $ msgmerge -U po/af.po po/git-gui.pot\n\n    [NEEDSWORK: who is responsible for updating po/git-gui.pot file by\n    running xgettext?  IIRC, Christian recommended against running it\n    nilly-willy because it can become a source of unnecessary merge\n    conflicts.  Perhaps we should mention something like \"\n\n    The po/git-gui.pot file is updated by the internationalization\n    coordinator from time to time.  You _could_ update it yourself, but\n    translators are discouraged from doing so because we would want all\n    language teams to be working off of the same version of git-gui.pot.\n\n    \" here?]\n\nShawn, I think you guys should nail down the workflow right first, and\nthen mention the above a bit more prominently to avoid future accidents\nlike this.\n\nIt is perfectly fine if Peter regenerated the POT file for everybody as\nthe i18n coordinator, but the thing is, I think that regeneration should\nhave been done *before* you asked for translators to send in the\ntranslation updates, not _after_ they have fetched from you in response to\nyour call for help and started working.\n\nProbably it would be the easiest to reduce unnecessary work from\ntranslators, if you just applied the patch to the version _before_\nre-generation of POT, then msgmerge the updated POT after that.\n\nIt appears the patch was done on top of 48ed49f, so I would imagine a\nsensible approach would be for _you_ to do:\n\n    $ git checkout 48ed49f\n    $ git am -s ja.patch\n    $ git checkout master\n    $ git checkout HEAD@{1} po/ja.po\n    $ git commit -a -C HEAD@{1}\n    $ msgmerge -U po/ja.po po/git-gui.pot\n    $ git commit -m 'Adjusted older translation to updated POT' po/ja.po\n\nThen ask Nana to re-fetch and fix that up.  At least that would reduce the\nneed for re-translation.\n"},{"id":"72169","messageId":"20080315062734.GG8410@spearce.org","threadId":"12688","inReplyTo":"7vlk4ko7px.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH] Update Japanese translation","fromName":"Shawn O. Pearce","fromEmail":"spearce@spearce.org","sentAt":"2008-03-15T06:27:35Z","receivedAt":"2008-03-15T06:27:35Z","isPatch":true,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"Junio C Hamano <gitster@pobox.com> wrote:\n> \"Shawn O. Pearce\" <spearce@spearce.org> writes:\n> \n> >>  \"Report-Msgid-Bugs-To: \\n\"\n> >> -\"POT-Creation-Date: 2007-11-24 10:36+0100\\n\"\n> >> -\"PO-Revision-Date: 2007-12-05 06:12+0900\\n\"\n> >> +\"POT-Creation-Date: 2008-02-16 21:24+0100\\n\"\n> >> +\"PO-Revision-Date: 2008-03-14 20:32+0900\\n\"\n> >\n> > Unfortunately this patch does not apply after Peter's regeneration\n> > of the POT file (0212242d66):\n> >\n> >   \"POT-Creation-Date: 2008-03-14 07:18+0100\\n\"\n> \n> Here is the guide to your translators, in your po/README:\n \n>             $ msgmerge -U po/af.po po/git-gui.pot\n\nGah, I forgot about that.\n \n> Shawn, I think you guys should nail down the workflow right first, and\n> then mention the above a bit more prominently to avoid future accidents\n> like this.\n> \n> It is perfectly fine if Peter regenerated the POT file for everybody as\n> the i18n coordinator, but the thing is, I think that regeneration should\n> have been done *before* you asked for translators to send in the\n> translation updates, not _after_ they have fetched from you in response to\n> your call for help and started working.\n\nYes.  I clearly dropped the ball on that one.  I did try by asking\nfor assistance _before_ a tagged release, but I failed to make sure\nthe POT was up to date first.\n\n> It appears the patch was done on top of 48ed49f, so I would imagine a\n> sensible approach would be for _you_ to do:\n> \n>     $ git checkout 48ed49f\n...\n>     $ msgmerge -U po/ja.po po/git-gui.pot\n>     $ git commit -m 'Adjusted older translation to updated POT' po/ja.po\n\nDone, and now on repo.or.cz, master branch.  I did actually try to\ngo back to that version, apply it, and merge it forward, but I forgot\nabout msgmerge as a means of dealing with a conflicted PO file.\n\n> Then ask Nana to re-fetch and fix that up.  At least that would reduce the\n> need for re-translation.\n\nNana, hopefully a re-fetch will be easier to fix up.  :)\n\n-- \nShawn.\n"},{"id":"72170","messageId":"7v4pb8o2jd.fsf@gitster.siamese.dyndns.org","threadId":"12688","inReplyTo":"20080315062734.GG8410@spearce.org","subject":"Re: [PATCH] Update Japanese translation","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-03-15T07:43:34Z","receivedAt":"2008-03-15T07:43:34Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Shawn O. Pearce\" <spearce@spearce.org> writes:\n\n> Junio C Hamano <gitster@pobox.com> wrote:\n> ...\n>> Shawn, I think you guys should nail down the workflow right first, and\n>> then mention the above a bit more prominently to avoid future accidents\n>> like this.\n>> \n>> It is perfectly fine if Peter regenerated the POT file for everybody as\n>> the i18n coordinator, but the thing is, I think that regeneration should\n>> have been done *before* you asked for translators to send in the\n>> translation updates, not _after_ they have fetched from you in response to\n>> your call for help and started working.\n>\n> Yes.  I clearly dropped the ball on that one.  I did try by asking\n> for assistance _before_ a tagged release, but I failed to make sure\n> the POT was up to date first.\n\nAfter looking at the process and README once again, I think the problem\nwas not Peter's update to POT file itself.  Keeping POT up to date\nrelative to the software is absolutely necessary.  What was unwarranted\nwas that the same commit updated language files by running msgmerge before\nchecking if there is any outstanding translation work.  If we assume that\nthe translators do not have access to msgmerge, that is a good service to\nthem (the less they have to do, the better), but otherwise, it is better\nto be leave po/${language}.po files alone.\n\nHow about doing something like this?\n\n po/README |   62 +++++++++++++++++++++++++++++++++++++++++++++++++-----------\n 1 files changed, 50 insertions(+), 12 deletions(-)\n\ndiff --git a/po/README b/po/README\nindex 9d8b736..8264079 100644\n--- a/po/README\n+++ b/po/README\n@@ -178,18 +178,6 @@ step.\n \n \t$ msgmerge -U po/af.po po/git-gui.pot\n \n-[NEEDSWORK: who is responsible for updating po/git-gui.pot file by\n-running xgettext?  IIRC, Christian recommended against running it\n-nilly-willy because it can become a source of unnecessary merge\n-conflicts.  Perhaps we should mention something like \"\n-\n-The po/git-gui.pot file is updated by the internationalization\n-coordinator from time to time.  You _could_ update it yourself, but\n-translators are discouraged from doing so because we would want all\n-language teams to be working off of the same version of git-gui.pot.\n-\n-\" here?]\n-\n This updates po/af.po (again, replace \"af\" with your language\n code) so that it contains msgid lines (i.e. the original) that\n your translation did not have before.  There are a few things to\n@@ -207,3 +195,53 @@ watch out for:\n \n  - New messages added to the software will have msgstr lines with empty\n    strings.  You would need to translate them.\n+\n+The po/git-gui.pot file is updated by the internationalization\n+coordinator from time to time.  You _could_ update it yourself, but\n+translators are discouraged from doing so because we would want all\n+language teams to be working off of the same version of git-gui.pot.\n+\n+****************************************************************\n+\n+This section is a note to the internationalization coordinator, and\n+translators do not have to worry about it too much.\n+\n+The message template file po/git-gui.pot needs to be kept up to date\n+relative to the software the translations apply to, and it is the\n+responsibility of the internationalization coordinator.\n+\n+When updating po/git-gui.pot file, however, _never_ run \"msgmerge -U\n+po/xx.po\" for individual language translations, unless you are absolutely\n+sure that there is no outstanding work on translation for language xx.\n+Doing so will create unnecessary merge conflicts and force needless\n+re-translation on translators.  The translator however may not have access\n+to the msgmerge tool, in which case the coordinator may run it for the\n+translator as a service.\n+\n+But mistakes do happen.  Suppose a translation was based on an older\n+version X, the POT file was updated at version Y and then msgmerge was run\n+at version Z for the language, and the translator sent in a patch based on\n+version X:\n+\n+         ? translated\n+        /       \n+    ---X---Y---Z (master)\n+\n+The coordinator could recover from such a mistake by first applying the\n+patch to X, replace the translated file in Z, and then running msgmerge\n+again based on the updated POT file and commit the result.  The sequence\n+would look like this:\n+\n+    $ git checkout X\n+    $ git am -s xx.patch\n+    $ git checkout master\n+    $ git checkout HEAD@{1} po/xx.po\n+    $ msgmerge -U po/xx.po po/git-gui.pot\n+    $ git commit -c HEAD@{1} po/xx.po\n+\n+State in the message that the translated messages are based on a slightly\n+older version, and msgmerge was run to incorporate changes to message\n+templates from the updated POT file.  The result needs to be further\n+translated, but at least the messages that were updated by the patch that\n+were not changed by the POT update will survive the process and do not\n+need to be re-translated.\n"},{"id":"72175","messageId":"200803151112.m2FBCeYx010674@mi0.bluebottle.com","threadId":"12688","inReplyTo":"20080315062734.GG8410@spearce.org","subject":"[PATCH] Update Japanese translation","fromName":"しらいしななこ","fromEmail":"nanako3@bluebottle.com","sentAt":"2008-03-15T11:12:00Z","receivedAt":"2008-03-15T11:12:00Z","isPatch":true,"sender":{"key":"nanako3@lavabit.com","avatar":"https://gravatar.com/avatar/3777b9e201c5883a62b1a6fdf7c53f2d712d1d80989146063ea861e33aad72a8?d=mp&s=160"},"body":"---\n po/ja.po |   22 +++++++++-------------\n 1 files changed, 9 insertions(+), 13 deletions(-)\n\ndiff --git a/po/ja.po b/po/ja.po\nindex 083acdf..28e6d62 100644\n--- a/po/ja.po\n+++ b/po/ja.po\n@@ -9,7 +9,7 @@ msgstr \"\"\n \"Project-Id-Version: git-gui\\n\"\n \"Report-Msgid-Bugs-To: \\n\"\n \"POT-Creation-Date: 2008-03-14 07:18+0100\\n\"\n-\"PO-Revision-Date: 2008-03-14 20:32+0900\\n\"\n+\"PO-Revision-Date: 2008-03-15 20:12+0900\\n\"\n \"Last-Translator: しらいし ななこ <nanako3@bluebottle.com>\\n\"\n \"Language-Team: Japanese\\n\"\n \"MIME-Version: 1.0\\n\"\n@@ -1724,9 +1724,8 @@ msgid \"Number of Diff Context Lines\"\n msgstr \"diff の文脈行数\"\n \n #: lib/option.tcl:127\n-#, fuzzy\n msgid \"Commit Message Text Width\"\n-msgstr \"コミットメッセージ:\"\n+msgstr \"コミットメッセージのテキスト幅\"\n \n #: lib/option.tcl:128\n msgid \"New Branch Name Template\"\n@@ -1863,39 +1862,36 @@ msgstr \"アイコンが書けません:\"\n \n #: lib/spellcheck.tcl:57\n msgid \"Unsupported spell checker\"\n-msgstr \"\"\n+msgstr \"サポートされていないスペルチェッカーです\"\n \n #: lib/spellcheck.tcl:65\n-#, fuzzy\n msgid \"Spell checking is unavailable\"\n-msgstr \"スペルチェック失敗\"\n+msgstr \"スペルチェック機能は使えません\"\n \n #: lib/spellcheck.tcl:68\n msgid \"Invalid spell checking configuration\"\n-msgstr \"\"\n+msgstr \"スペルチェックの設定が不正です\"\n \n #: lib/spellcheck.tcl:70\n #, tcl-format\n msgid \"Reverting dictionary to %s.\"\n-msgstr \"\"\n+msgstr \"辞書を %s に巻き戻します\"\n \n #: lib/spellcheck.tcl:73\n msgid \"Spell checker silently failed on startup\"\n-msgstr \"\"\n+msgstr \"スペルチェッカーの起動に失敗しました\"\n \n #: lib/spellcheck.tcl:80\n-#, fuzzy\n msgid \"Unrecognized spell checker\"\n-msgstr \"aspell バージョンが判別できません\"\n+msgstr \"スペルチェッカーが判別できません\"\n \n #: lib/spellcheck.tcl:180\n msgid \"No Suggestions\"\n msgstr \"提案なし\"\n \n #: lib/spellcheck.tcl:381\n-#, fuzzy\n msgid \"Unexpected EOF from spell checker\"\n-msgstr \"aspell が予想外の EOF を返しました\"\n+msgstr \"スペルチェッカーが予想外の EOF を返しました\"\n \n #: lib/spellcheck.tcl:385\n msgid \"Spell Checker Failed\"\n-- \n1.5.4.4.718.ga6ccf\n\n\n\n-- \nNanako Shiraishi\nhttp://ivory.ap.teacup.com/nanako3/\n\n----------------------------------------------------------------------\nFinally - A spam blocker that actually works.\nhttp://www.bluebottle.com/tag/4\n"},{"id":"72206","messageId":"20080316042522.GI8410@spearce.org","threadId":"12688","inReplyTo":"7v4pb8o2jd.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH] Update Japanese translation","fromName":"Shawn O. Pearce","fromEmail":"spearce@spearce.org","sentAt":"2008-03-16T04:25:22Z","receivedAt":"2008-03-16T04:25:22Z","isPatch":true,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"Junio C Hamano <gitster@pobox.com> wrote:\n> How about doing something like this?\n\nYea, this looks good.  Can I apply it?  SBO?\n \n>  po/README |   62 +++++++++++++++++++++++++++++++++++++++++++++++++-----------\n>  1 files changed, 50 insertions(+), 12 deletions(-)\n> \n> diff --git a/po/README b/po/README\n> index 9d8b736..8264079 100644\n> --- a/po/README\n> +++ b/po/README\n> @@ -178,18 +178,6 @@ step.\n>  \n>  \t$ msgmerge -U po/af.po po/git-gui.pot\n>  \n> -[NEEDSWORK: who is responsible for updating po/git-gui.pot file by\n> -running xgettext?  IIRC, Christian recommended against running it\n> -nilly-willy because it can become a source of unnecessary merge\n> -conflicts.  Perhaps we should mention something like \"\n> -\n> -The po/git-gui.pot file is updated by the internationalization\n> -coordinator from time to time.  You _could_ update it yourself, but\n> -translators are discouraged from doing so because we would want all\n> -language teams to be working off of the same version of git-gui.pot.\n> -\n> -\" here?]\n> -\n>  This updates po/af.po (again, replace \"af\" with your language\n>  code) so that it contains msgid lines (i.e. the original) that\n>  your translation did not have before.  There are a few things to\n> @@ -207,3 +195,53 @@ watch out for:\n>  \n>   - New messages added to the software will have msgstr lines with empty\n>     strings.  You would need to translate them.\n> +\n> +The po/git-gui.pot file is updated by the internationalization\n> +coordinator from time to time.  You _could_ update it yourself, but\n> +translators are discouraged from doing so because we would want all\n> +language teams to be working off of the same version of git-gui.pot.\n> +\n> +****************************************************************\n> +\n> +This section is a note to the internationalization coordinator, and\n> +translators do not have to worry about it too much.\n> +\n> +The message template file po/git-gui.pot needs to be kept up to date\n> +relative to the software the translations apply to, and it is the\n> +responsibility of the internationalization coordinator.\n> +\n> +When updating po/git-gui.pot file, however, _never_ run \"msgmerge -U\n> +po/xx.po\" for individual language translations, unless you are absolutely\n> +sure that there is no outstanding work on translation for language xx.\n> +Doing so will create unnecessary merge conflicts and force needless\n> +re-translation on translators.  The translator however may not have access\n> +to the msgmerge tool, in which case the coordinator may run it for the\n> +translator as a service.\n> +\n> +But mistakes do happen.  Suppose a translation was based on an older\n> +version X, the POT file was updated at version Y and then msgmerge was run\n> +at version Z for the language, and the translator sent in a patch based on\n> +version X:\n> +\n> +         ? translated\n> +        /       \n> +    ---X---Y---Z (master)\n> +\n> +The coordinator could recover from such a mistake by first applying the\n> +patch to X, replace the translated file in Z, and then running msgmerge\n> +again based on the updated POT file and commit the result.  The sequence\n> +would look like this:\n> +\n> +    $ git checkout X\n> +    $ git am -s xx.patch\n> +    $ git checkout master\n> +    $ git checkout HEAD@{1} po/xx.po\n> +    $ msgmerge -U po/xx.po po/git-gui.pot\n> +    $ git commit -c HEAD@{1} po/xx.po\n> +\n> +State in the message that the translated messages are based on a slightly\n> +older version, and msgmerge was run to incorporate changes to message\n> +templates from the updated POT file.  The result needs to be further\n> +translated, but at least the messages that were updated by the patch that\n> +were not changed by the POT update will survive the process and do not\n> +need to be re-translated.\n\n-- \nShawn.\n"},{"id":"72209","messageId":"7vfxurkypv.fsf@gitster.siamese.dyndns.org","threadId":"12688","inReplyTo":"20080316042522.GI8410@spearce.org","subject":"Re: [PATCH] Update Japanese translation","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-03-16T05:46:36Z","receivedAt":"2008-03-16T05:46:36Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Shawn O. Pearce\" <spearce@spearce.org> writes:\n\n> Junio C Hamano <gitster@pobox.com> wrote:\n>> How about doing something like this?\n>\n> Yea, this looks good.  Can I apply it?  SBO?\n\nSurely, and thanks.\n"},{"id":"72218","messageId":"alpine.DEB.1.00.0803161405270.19370@perkele.intern.softwolves.pp.se","threadId":"12688","inReplyTo":"7v4pb8o2jd.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH] Update Japanese translation","fromName":"Peter Karlsson","fromEmail":"peter@softwolves.pp.se","sentAt":"2008-03-16T13:08:27Z","receivedAt":"2008-03-16T13:08:27Z","isPatch":true,"sender":{"key":"peter@softwolves.pp.se","avatar":"https://avatars.githubusercontent.com/u/990764?v=4"},"body":"Junio C Hamano:\n\n> What was unwarranted was that the same commit updated language files by \n> running msgmerge before checking if there is any outstanding translation \n> work.\n\nIndeed, that was probably not such a good idea. I should just have updated \nthe POT file and the Swedish translation, and let the other files be updated \nby the other translator, or someone who co-ordinates the translations.\n\nBTW, this is one of the reasons why I would like you to consider using \nTranslation Project for these things. They have infrastructure to handle \nthese conditions.\n\n-- \n\\\\// Peter - http://www.softwolves.pp.se/\n"}]}