{"thread":{"id":"29780","subject":"l10n: the maintaince of git-po repo","startedAt":"2012-02-28T17:40:09Z","lastAt":"2012-03-02T16:59:11Z","messageCount":11,"participants":["Jiang Xin","Junio C Hamano","Johannes Sixt","Jakub Narebski"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"185640","messageId":"CANYiYbGS_cFTHT1Pkafi9dmzedqezTq8k1tPkYur0b2St_c43Q@mail.gmail.com","threadId":"29780","inReplyTo":null,"subject":"l10n: the maintaince of git-po repo","fromName":"Jiang Xin","fromEmail":"worldhello.net@gmail.com","sentAt":"2012-02-28T17:40:09Z","receivedAt":"2012-02-28T17:40:09Z","isPatch":false,"sender":{"key":"worldhello.net@gmail.com","avatar":"https://avatars.githubusercontent.com/u/183860?v=4"},"body":"I'm looking forward to the next git release with Chinese l10n, so that\nI can start to rewrite my book on Git. ;-)\n\nThe maintaince of the git-po and git-po-zh_CN repositories so far:\n\ngit-po repository\n-----------------\nLocation   : https://github.com/gotgit/git-po\nFork from  : https://github.com/git/git\nDescription: This is the Git l10n master repo, and is used to coordinate\n             works of l10n teams. L10n team leaders send pull requests\n             to this repo, while other l10n contributors should wok on\n             the language specified repository created by the l10n team\n             leader.\nTypical commits:\n\n- commit https://github.com/gotgit/git-po/commit/71eb878\n\n      merge the pull request sent from the Chinese l10n team leader.\n\n- commit https://github.com/gotgit/git-po/commit/1d4ac88\n\n      l10n: Update git.pot (12 new messages)\n\n- commit https://github.com/gotgit/git-po/commit/508d124\n\n      Merge branch 'master' of 'git.git' into git-po,\n      and will generate new po/git.pot in next commit.\n\n- commit https://github.com/gotgit/git-po/commit/dce37b6\n\n      l10n: initial git.pot for 1.7.10 upcoming release\n\n\ngit-po-zh_CN repository\n-----------------------\nLocation   : https://github.com/jiangxin/git-po-zh_CN\nFork from  : https://github.com/gotgit/git-po\nDescription: Git l10n for Simplified Chinese.\nTypical commits:\n\n- commit https://github.com/jiangxin/git-po-zh_CN/commit/7ac1c0a\n\n      l10n: update Chinese translation to the new git.po\n\n- commit https://github.com/jiangxin/git-po-zh_CN/commit/0ad9e96\n\n      fix of Chinese translation\n\n- commit https://github.com/jiangxin/git-po-zh_CN/commit/d4a8e00\n\n      fix of Chinese translation\n\n- commit https://github.com/jiangxin/git-po-zh_CN/commit/c04f5ac\n\n      l10n: initial of zh_CN l10n\n\n\n-- \nJiang Xin\n"},{"id":"185700","messageId":"7v1upew6d0.fsf@alter.siamese.dyndns.org","threadId":"29780","inReplyTo":"CANYiYbGS_cFTHT1Pkafi9dmzedqezTq8k1tPkYur0b2St_c43Q@mail.gmail.com","subject":"Re: l10n: the maintaince of git-po repo","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-02-29T05:34:03Z","receivedAt":"2012-02-29T05:34:03Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jiang Xin <worldhello.net@gmail.com> writes:\n\n> I'm looking forward to the next git release with Chinese l10n, so that\n> I can start to rewrite my book on Git. ;-)\n\nFor people who don't know, Jiang kindly sent me an autographed copy of his\nbook https://plus.google.com/u/0/108182106411180467879/posts/XX2CewgxSAb I\ncan only read the command examples, but the book seems to have a good\ncoverage of modern Git, judging from the table of contents.\n\n> The maintaince of the git-po and git-po-zh_CN repositories so far:\n>\n> git-po repository\n> -----------------\n> Location   : https://github.com/gotgit/git-po\n> Fork from  : https://github.com/git/git\n> Description: This is the Git l10n master repo, and is used to coordinate\n>              works of l10n teams. L10n team leaders send pull requests\n>              to this repo, while other l10n contributors should wok on\n>              the language specified repository created by the l10n team\n>              leader.\n\nThanks.  I took a look.\n\nI'll comment on the changes as if they came in the patch form here, to ask\nfor sanity checks from the list members.\n\n>  Makefile      |    1 -\n>  po/.gitignore |    1 -\n>  po/git.pot    | 3494 ++++++++++++++++++++++++++++++++++++++++++++++++++++++\n>  po/zh_CN.po   | 3671 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n>  4 files changed, 7165 insertions(+), 2 deletions(-)\n>  create mode 100644 po/git.pot\n>  create mode 100644 po/zh_CN.po\n> \n> \n> diff --git a/Makefile b/Makefile\n> index cf2c40b..be1957a 100644\n> --- a/Makefile\n> +++ b/Makefile\n> @@ -2635,7 +2635,6 @@ dist-doc:\n>  \n>  distclean: clean\n>  \t$(RM) configure\n> -\t$(RM) po/git.pot\n>  \n>  profile-clean:\n>  \t$(RM) $(addsuffix *.gcda,$(addprefix $(PROFILE_DIR)/, $(object_dirs)))\n\nThe file is no longer a generated file but is tracked, and should not be\nremoved upon distclean.  Good.\n\n> diff --git a/po/.gitignore b/po/.gitignore\n> index 4caa631..796b96d 100644\n> --- a/po/.gitignore\n> +++ b/po/.gitignore\n> @@ -1,2 +1 @@\n> -/git.pot\n>  /build\n\nLikewise, it is not ignored anymore. Good.\n\n> diff --git a/po/git.pot b/po/git.pot\n> new file mode 100644\n> index 0000000..efcda39\n> --- /dev/null\n> +++ b/po/git.pot\n> @@ -0,0 +1,3494 @@\n> +# SOME DESCRIPTIVE TITLE.\n> +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER\n> +# This file is distributed under the same license as the PACKAGE package.\n\nShould the above placeholder lines left as they are, or should they be\nupdated to name \"Git\" as the \"PACKAGE\" with \"SOME DESCRIPTIVE TITLE\"?\n\nIf the answer is \"latter\", I think we would need to apply a similar update\nto po/git-gui.pot for git-gui package.\n\nOn the other hand, I think the placeholder lines below should stay as they\nare.\n\n> +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\n> +#\n> +#, fuzzy\n> +msgid \"\"\n> +msgstr \"\"\n> +\"Project-Id-Version: PACKAGE VERSION\\n\"\n> +\"Report-Msgid-Bugs-To: Git Mailing List <git@vger.kernel.org>\\n\"\n> +\"POT-Creation-Date: 2012-02-28 09:17+0800\\n\"\n> +\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n> +\"Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n\"\n> +\"Language-Team: LANGUAGE <LL@li.org>\\n\"\n> +\"Language: \\n\"\n> +\"MIME-Version: 1.0\\n\"\n> +\"Content-Type: text/plain; charset=CHARSET\\n\"\n> +\"Content-Transfer-Encoding: 8bit\\n\"\n> +\"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\\n\"\n> +\n> +#: advice.c:34\n> +#, c-format\n> +msgid \"hint: %.*s\\n\"\n> +msgstr \"\"\n> ...\n"},{"id":"185706","messageId":"7vfwduujxw.fsf_-_@alter.siamese.dyndns.org","threadId":"29780","inReplyTo":"7v1upew6d0.fsf@alter.siamese.dyndns.org","subject":"[PATCH] Update l10n guide","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-02-29T08:23:39Z","receivedAt":"2012-02-29T08:23:39Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Describe the high-level overview of the localization workflow, and update\nthe description on po/git.pot file, which no longer is an untracked file.\n\nClarify the roles and responsibilities among:\n\n - the core developers (responsible for marking the translatable strings\n   and restructuring the code to avoid message-lego);\n\n - the l10n coordinator (maintaining po/git.pot, interfacing with language\n   teams and feeding updated translations back to the core); and\n\n - the language teams (updating po/*.po for their language and feeding\n   their work back to the l10n coordinator).\n\nThis is largely based on an earlier message $gmane/189584 from me.\n\n  Date: Wed, 01 Feb 2012 20:56:18 -0800\n  Message-ID: <7vmx91ygst.fsf@alter.siamese.dyndns.org>\n\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n\n * I would like to see something like this before we start getting the\n   second language team.  Comments are very much appreciated.\n\n   I am not sure if the existing instruction to update the new XX.po\n   file copied from git.pot is correct, but I left it as-is.\n\n    @@ -1,6 +1,6 @@\n    -# Icelandic translations for PACKAGE package.\n    -# Copyright (C) 2010 THE PACKAGE'S COPYRIGHT HOLDER\n    -# This file is distributed under the same license as the PACKAGE package.\n    +# Icelandic translations for Git.\n    +# Copyright (C) 2010 Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n    +# This file is distributed under the same license as the Git package.\n     # Ævar Arnfjörð Bjarmason <avarab@gmail.com>, 2010.\n\n   The second line of the template tells us to name the copyright holder\n   of the package, not of the translation, but the above example makes it\n   appear as if we are assigning the copyright to the translator.\n\n po/README |  106 ++++++++++++++++++++++++++++++++++++++++++++++++-------------\n po/TEAMS  |   10 ++++++\n 2 files changed, 94 insertions(+), 22 deletions(-)\n create mode 100644 po/TEAMS\n\ndiff --git a/po/README b/po/README\nindex 10b0ad2..6480882 100644\n--- a/po/README\n+++ b/po/README\n@@ -1,33 +1,78 @@\n Core GIT Translations\n =====================\n \n-This directory holds the translations for the core of Git. This\n-document describes how to add to and maintain these translations, and\n-how to mark source strings for translation.\n-\n+This directory holds the translations for the core of Git. This document\n+describes how you can contribute to the effort of enhancing the language\n+coverage and maintaining the translation.\n+\n+The localization (l10n) coordinator, Jiang Xin <worldhello.net@gmail.com>,\n+coordinates our localization effort in his repository:\n+\n+        https://github.com/gotgit/git-po/\n+\n+As a contributor for a language XX, you would fork this repository,\n+prepare and/or update the translated message file po/XX.po (described\n+later), and ask the l10n coordinator to pull your work.\n+\n+If there are multiple contributors for the same language, please first\n+coordinate among yourselves and nominate the team leader for your\n+language, so that the l10n coordinator only needs to interact with one\n+person per language.\n+\n+For the list of exiting translations and language teams, see TEAMS file in\n+this directory.\n+\n+The overall data-flow looks like this:\n+\n+    +-------------------+            +------------------+\n+    | Git source code   | ---(1)---> | L10n coordinator |\n+    | repository        | <---(4)--- | repository       |\n+    +-------------------+            +------------------+\n+                                          |      ^\n+                                         (2)    (3)\n+                                          V      |\n+                                     +------------------+\n+                                     | Language Team XX |\n+                                     +------------------+\n+\n+ * Translatable strings are marked in the source file.\n+ * L10n coordinator pulls from the source (1)\n+ * L10n coordinator updates the message template po/git.pot\n+ * Language team pulls from L10n coordinator (2)\n+ * Language team updates the message file po/XX.po\n+ * L10n coordinator pulls from Language team (3)\n+ * L10n coordinator asks the result to be pulled (4).\n+\n+\n+Maintaining the po/git.pot file\n+-------------------------------\n \n-Generating a .pot file\n-----------------------\n+(This is done by the l10n coordinator).\n \n The po/git.pot file contains a message catalog extracted from Git's\n-sources. You need to generate it to add new translations with\n-msginit(1), or update existing ones with msgmerge(1).\n+sources. The l10n coordinator maintains it by adding new translations with\n+msginit(1), or update existing ones with msgmerge(1).  In order to update\n+the Git sources to extract the messages from, the l10n coordinator is\n+expected to pull from the main git repository at strategic point in\n+history (e.g. when a major release and release candidates are tagged),\n+and then run \"make pot\" at the top-level directory.\n \n-Since the file can be automatically generated it's not checked into\n-git.git. To generate it do, at the top-level:\n+Language contributors use this file to prepare translations for their\n+language, but they are not expected to modify it.\n \n-    make pot\n \n+Initializing a XX.po file\n+-------------------------\n \n-Initializing a .po file\n------------------------\n+(This is done by the language teams).\n \n-To add a new translation first generate git.pot (see above) and then\n-in the po/ directory do:\n+If your language XX does not have translated message file po/XX.po yet,\n+you add a translation for the first time by running:\n \n     msginit --locale=XX\n \n-Where XX is your locale, e.g. \"is\", \"de\" or \"pt_BR\".\n+in the po/ directory, where XX is the locale, e.g. \"de\", \"is\", \"pt_BR\",\n+\"zh_CN\", etc.\n \n Then edit the automatically generated copyright info in your new XX.po\n to be correct, e.g. for Icelandic:\n@@ -46,21 +91,36 @@ just \"Git\":\n \n     perl -pi -e 's/(?<=\"Project-Id-Version: )PACKAGE VERSION/Git/' XX.po\n \n+Once you are done testing the translation (see below), commit the result\n+and ask the l10n coordinator to pull from you.\n+\n+\n+Updating a XX.po file\n+---------------------\n \n-Updating a .po file\n--------------------\n+(This is done by the language teams).\n \n-If there's an existing *.po file for your language but you need to\n-update the translation you first need to generate git.pot (see above)\n-and then in the po/ directory do:\n+If you are replacing translation strings in an existing XX.po file to\n+improve the translation, just edit the file.\n+\n+If there's an existing XX.po file for your language, but the repository\n+of the l10n coordinator has newer po/git.pot file, you would need to first\n+pull from the l10n coordinator (see the beginning of this document for its\n+URL), and then update the existing translation by running:\n \n     msgmerge --add-location --backup=off -U XX.po git.pot\n \n-Where XX.po is the file you want to update.\n+in the po/ directory, where XX.po is the file you want to update.\n+\n+Once you are done testing the translation (see below), commit the result\n+and ask the l10n coordinator to pull from you.\n+\n \n Testing your changes\n --------------------\n \n+(This is done by the language teams, after creating or updating XX.po file).\n+\n Before you submit your changes go back to the top-level and do:\n \n     make\n@@ -75,6 +135,8 @@ with a newline or not.\n Marking strings for translation\n -------------------------------\n \n+(This is done by the core developers).\n+\n Before strings can be translated they first have to be marked for\n translation.\n \ndiff --git a/po/TEAMS b/po/TEAMS\nnew file mode 100644\nindex 0000000..8ee6199\n--- /dev/null\n+++ b/po/TEAMS\n@@ -0,0 +1,10 @@\n+Core Git translation language teams\n+(please keep the list sorted alphabetically on language field)\n+\n+Language:\tis (Icelandic)\n+Leader:\t\tÆvar Arnfjörð Bjarmason <avarab@gmail.com>\n+\n+Language:\tzh_CN (Simplified Chinese)\n+Leader:\t\tJiang Xin <worldhello.net@gmail.com>\n+Members:\tYichao Yu <yyc1992@gmail.com>\n+\t\tRiku <lu.riku@gmail.com>\n-- \n1.7.9.2.344.g3e8c86\n"},{"id":"185781","messageId":"CANYiYbE5rcnD_VGJyL2CjS-R5E0pyNSd5TetvH849W6wC5JiAA@mail.gmail.com","threadId":"29780","inReplyTo":"7vfwduujxw.fsf_-_@alter.siamese.dyndns.org","subject":"Re: [PATCH] Update l10n guide","fromName":"Jiang Xin","fromEmail":"worldhello.net@gmail.com","sentAt":"2012-03-01T04:05:19Z","receivedAt":"2012-03-01T04:05:19Z","isPatch":true,"sender":{"key":"worldhello.net@gmail.com","avatar":"https://avatars.githubusercontent.com/u/183860?v=4"},"body":"2012/2/29 Junio C Hamano <gitster@pobox.com>:\n\n> @@ -1,33 +1,78 @@\n> +The localization (l10n) coordinator, Jiang Xin <worldhello.net@gmail.com>,\n> +coordinates our localization effort in his repository:\n> +\n> +        https://github.com/gotgit/git-po/\n\nI create a new dedicated team, named git-l10n, and transfer this repo to the\nnew place: https://github.com/git-l10n/git-po/ for the following reasons:\n\n - git-po is a long-term repo, so has a dedicated, stabilized URL is better.\n   The repo URL may not change if l10n coordinator change.\n\n - git-l10n is a github organization account, and has a dedicated owners\n   group, who can assign new l10n coordinator.\n\n - Owners group of git-l10n organization will not receive pull requests to\n   git-po. I add gister, avar to the owners team.\n\n - Members of the git-l10n-coordinators team of git-l10n organization\n   will receive pull requests.\n\n - Some Chinese guys used to send pull request to gotgit/git-po, so you\n   can find some closed pull requests written in Chinese. It won't happen\n   after the repo transfer to git-l10n/git-po.\n\n> +As a contributor for a language XX, you would fork this repository,\n\nAs a contributor for a language XX, you should first check TEAMS file in\nthis directory to see whether a dedicated repository for your language XX\nexists. Fork the dedicated repository and start to work if it exists.\n\nIf you are the first contributor for the language XX, please fork this\nrepository,\n\n> +prepare and/or update the translated message file po/XX.po (described\n> +later), and ask the l10n coordinator to pull your work.\n\nShall we remind the contributors for l10n to write commit log in English,\nbut not language XX? It's a common mistake for translators.\n\n> diff --git a/po/TEAMS b/po/TEAMS\n> new file mode 100644\n> index 0000000..8ee6199\n> --- /dev/null\n> +++ b/po/TEAMS\n> @@ -0,0 +1,10 @@\n> +Core Git translation language teams\n> +(please keep the list sorted alphabetically on language field)\n> +\n> +Language:      is (Icelandic)\n> +Leader:                Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n> +\n\nI think we should add the URL of the dedicated repository for language XX here.\nExample:\n\nLanguage:      zh_CN (Simplified Chinese)\nLeader:           Jiang Xin <worldhello.net@gmail.com>\nHomepage:     https://github.com/jiangxin/git-po-zh_CN/\n\n\n> +Members:       Yichao Yu <yyc1992@gmail.com>\n> +               Riku <lu.riku@gmail.com>\n\nContributors and members can add to the header of the XX.po file.\nAdd here may cause the TEAMS file grows rapidly.\n\n\n-- \nJiang Xin\n"},{"id":"185785","messageId":"7vk434q4eg.fsf@alter.siamese.dyndns.org","threadId":"29780","inReplyTo":"CANYiYbE5rcnD_VGJyL2CjS-R5E0pyNSd5TetvH849W6wC5JiAA@mail.gmail.com","subject":"Re: [PATCH] Update l10n guide","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-03-01T05:25:11Z","receivedAt":"2012-03-01T05:25:11Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jiang Xin <worldhello.net@gmail.com> writes:\n\n> 2012/2/29 Junio C Hamano <gitster@pobox.com>:\n>\n>> @@ -1,33 +1,78 @@\n>> +The localization (l10n) coordinator, Jiang Xin <worldhello.net@gmail.com>,\n>> +coordinates our localization effort in his repository:\n>> +\n>> +        https://github.com/gotgit/git-po/\n>\n> I create a new dedicated team, named git-l10n, and transfer this repo to the\n> new place: https://github.com/git-l10n/git-po/ for the following reasons:\n>\n>  - git-po is a long-term repo, so has a dedicated, stabilized URL is better.\n>    The repo URL may not change if l10n coordinator change.\n>\n>  - git-l10n is a github organization account, and has a dedicated owners\n>    group, who can assign new l10n coordinator.\n>\n>  - Owners group of git-l10n organization will not receive pull requests to\n>    git-po. I add gister, avar to the owners team.\n>\n>  - Members of the git-l10n-coordinators team of git-l10n organization\n>    will receive pull requests.\n>\n>  - Some Chinese guys used to send pull request to gotgit/git-po, so you\n>    can find some closed pull requests written in Chinese. It won't happen\n>    after the repo transfer to git-l10n/git-po.\n\nIt is unclear the distinction between gotgit and git-l10n but I am\nguessing that (1) you feel \"gotgit\" is more for _your_ personal use, (2)\nyou happen to be the volunteer coordinator right now, but (3) the team\neffort deserves more permanent home, detached from your identity.\n\nAnd if that is the case, I agree 100% with the reasoning.\n\n>> +As a contributor for a language XX, you would fork this repository,\n>\n> As a contributor for a language XX, you should first check TEAMS file in\n> this directory to see whether a dedicated repository for your language XX\n> exists. Fork the dedicated repository and start to work if it exists.\n>\n> If you are the first contributor for the language XX, please fork this\n> repository,\n\nThat's better.\n\n>> +prepare and/or update the translated message file po/XX.po (described\n>> +later), and ask the l10n coordinator to pull your work.\n>\n> Shall we remind the contributors for l10n to write commit log in English,\n> but not language XX? It's a common mistake for translators.\n\nI would prefer to see the subject line (the first line summary) in English\nto say something like \"Update zh_CN translation for 1.7.12\".  That much of\nEnglish shouldn't be too much burden for language teams.\n\nOn the other hand, the body of the log that describes the change _may_ be\nhurt if you forbid the use of language XX.  The translators may want to\nwrite something like:\n\n\tThe earlier translation used word '[%#$@$#]' for original phrase\n\t'to distim' in English, but word '[**&*#$]' is a more appropriate\n        language XX translation in the context the message for such and\n\tsuch reasons.\n\nand I suspect that \"for such and such reasons\" part is far easier to\nexplain and understand if written in language XX for native speakers of\nlanguage XX.  Such a description often has to discuss connotations and\nsubtle nuances of the particular word that is hard to explain.\n\n>> diff --git a/po/TEAMS b/po/TEAMS\n>> new file mode 100644\n>> index 0000000..8ee6199\n>> --- /dev/null\n>> +++ b/po/TEAMS\n>> @@ -0,0 +1,10 @@\n>> +Core Git translation language teams\n>> +(please keep the list sorted alphabetically on language field)\n>> +\n>> +Language:      is (Icelandic)\n>> +Leader:                Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n>> +\n>\n> I think we should add the URL of the dedicated repository for language XX here.\n> Example:\n>\n> Language:      zh_CN (Simplified Chinese)\n> Leader:           Jiang Xin <worldhello.net@gmail.com>\n> Homepage:     https://github.com/jiangxin/git-po-zh_CN/\n\nGood thinking; I don't know if Homepage or Repository is more appropriate,\nbut some URL would definitely help.\n>\n>> +Members:       Yichao Yu <yyc1992@gmail.com>\n>> +               Riku <lu.riku@gmail.com>\n>\n> Contributors and members can add to the header of the XX.po file.\n> Add here may cause the TEAMS file grows rapidly.\n\nSorry, I do not understand what you are worried about here.  Could you\nclarify a bit?\n\nIn any case, the patch you are replying to is \"I'd like to see *something*\n*like* *this*...\", so feel free to take the ownership and update it.  I'll\ntry to help refining it if you send an updated draft to back the list for\nreview.\n\nThanks.\n"},{"id":"185890","messageId":"CANYiYbE7bxz5=h9gaKf6+N6k5cn6mEKnuf_7KPFAnDrC31UL_w@mail.gmail.com","threadId":"29780","inReplyTo":"7vk434q4eg.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH] Update l10n guide","fromName":"Jiang Xin","fromEmail":"worldhello.net@gmail.com","sentAt":"2012-03-02T07:30:51Z","receivedAt":"2012-03-02T07:30:51Z","isPatch":true,"sender":{"key":"worldhello.net@gmail.com","avatar":"https://avatars.githubusercontent.com/u/183860?v=4"},"body":"2012/3/1 Junio C Hamano <gitster@pobox.com>:\n>>\n>> Shall we remind the contributors for l10n to write commit log in English,\n>> but not language XX? It's a common mistake for translators.\n>\n> I would prefer to see the subject line (the first line summary) in English\n> to say something like \"Update zh_CN translation for 1.7.12\".  That much of\n> English shouldn't be too much burden for language teams.\n\nI noticed that all i18n related commit logs all have prefix \"i18n:\".\nIt would be nice to add a prefix \"l10n:\" to the l10n related commit log,\nsuch as: \"l10n: Update zh_CN translation for 1.7.12\".\n\n>\n> On the other hand, the body of the log that describes the change _may_ be\n> hurt if you forbid the use of language XX.  The translators may want to\n> write something like:\n>\n\nGit does not handle multi-bytes character well. Multi-bytes characters\nnot convert to UTF-8 when git write tree objects and commit objects.\nI think allow multi-bytes characters in commit log would hurt git.git until\ngit gives full support UTF-8 (are there any plans for this?).\nI just tested several versions of msysgit:\n\n - Only Git-1.7.8-preview20111229-unicode.exe saves commit objects\n   with utf-8 encode.\n\n - Other versions such as Git-1.7.9-preview20120201.exe and\n   Git-1.7.8-preview20111206.exe will not convert multi-bytes characters\n   in commit log into UTF-8.\n\n-- \nJiang Xin\n"},{"id":"185891","messageId":"1330674066-4490-1-git-send-email-worldhello.net@gmail.com","threadId":"29780","inReplyTo":"7vk434q4eg.fsf@alter.siamese.dyndns.org","subject":"[PATCH] Update l10n guide: change the repository URL, etc","fromName":"Jiang Xin","fromEmail":"worldhello.net@gmail.com","sentAt":"2012-03-02T07:41:06Z","receivedAt":"2012-03-02T07:41:06Z","isPatch":true,"sender":{"key":"worldhello.net@gmail.com","avatar":"https://avatars.githubusercontent.com/u/183860?v=4"},"body":"Host the l10n coordinator repository in a dedicated github organization\naccount \"git-l10n\", so that the team may have a more permanent home.\nAlso add a hint about reference of TEAMS file for l10n contributors.\n\nUpdate TEAMS file with new zh_CN l10n team members and a repository URL.\n\nSigned-off-by: Jiang Xin <worldhello.net@gmail.com>\n---\n po/README |   17 +++++++++--------\n po/TEAMS  |    9 +++++++--\n 2 files changed, 16 insertions(+), 10 deletions(-)\n\ndiff --git a/po/README b/po/README\nindex 64808..188ea 100644\n--- a/po/README\n+++ b/po/README\n@@ -6,22 +6,23 @@ describes how you can contribute to the effort of enhancing the language\n coverage and maintaining the translation.\n \n The localization (l10n) coordinator, Jiang Xin <worldhello.net@gmail.com>,\n-coordinates our localization effort in his repository:\n+coordinates our localization effort in the l10 coordinator repository:\n \n-        https://github.com/gotgit/git-po/\n+        https://github.com/git-l10n/git-po/\n \n-As a contributor for a language XX, you would fork this repository,\n-prepare and/or update the translated message file po/XX.po (described\n-later), and ask the l10n coordinator to pull your work.\n+As a contributor for a language XX, you should first check TEAMS file in\n+this directory to see whether a dedicated repository for your language XX\n+exists. Fork the dedicated repository and start to work if it exists.\n+\n+If you are the first contributor for the language XX, please fork this\n+repository, prepare and/or update the translated message file po/XX.po\n+(described later), and ask the l10n coordinator to pull your work.\n \n If there are multiple contributors for the same language, please first\n coordinate among yourselves and nominate the team leader for your\n language, so that the l10n coordinator only needs to interact with one\n person per language.\n \n-For the list of exiting translations and language teams, see TEAMS file in\n-this directory.\n-\n The overall data-flow looks like this:\n \n     +-------------------+            +------------------+\ndiff --git a/po/TEAMS b/po/TEAMS\nindex 8ee61..1d173 100644\n--- a/po/TEAMS\n+++ b/po/TEAMS\n@@ -5,6 +5,11 @@ Language:\tis (Icelandic)\n Leader:\t\tÆvar Arnfjörð Bjarmason <avarab@gmail.com>\n \n Language:\tzh_CN (Simplified Chinese)\n+Repository:\thttps://github.com/gotgit/git-po-zh_CN/\n Leader:\t\tJiang Xin <worldhello.net@gmail.com>\n-Members:\tYichao Yu <yyc1992@gmail.com>\n-\t\tRiku <lu.riku@gmail.com>\n+Members:\tRiku <lu.riku AT gmail.com>\n+\t\tZhuang Ya <zhuangya AT me.com>\n+\t\tLian Cheng <rhythm.mail AT gmail.com>\n+\t\tYichao Yu <yyc1992 AT gmail.com>\n+\t\tws3389 <willsmith3389 AT gmail.com>\n+\t\tThynson <lanxingcan AT gmail.com>\n-- \n1.7.9.2.322.g7ac1c\n"},{"id":"185901","messageId":"4F50A55E.8040705@viscovery.net","threadId":"29780","inReplyTo":"CANYiYbE7bxz5=h9gaKf6+N6k5cn6mEKnuf_7KPFAnDrC31UL_w@mail.gmail.com","subject":"Re: [PATCH] Update l10n guide","fromName":"Johannes Sixt","fromEmail":"j.sixt@viscovery.net","sentAt":"2012-03-02T10:47:58Z","receivedAt":"2012-03-02T10:47:58Z","isPatch":true,"sender":{"key":"j6t@kdbg.org","avatar":"https://avatars.githubusercontent.com/u/14810926?v=4"},"body":"Am 3/2/2012 8:30, schrieb Jiang Xin:\n> Git does not handle multi-bytes character well. Multi-bytes characters\n> not convert to UTF-8 when git write tree objects and commit objects.\n\nIt does not convert, but it records which encoding the text has. If you\ndon't specify anything, UTF-8 is assumed, and if your text is actually not\nUTF-8, the result is necessarily garbage.\n\n> I think allow multi-bytes characters in commit log would hurt git.git until\n> git gives full support UTF-8 (are there any plans for this?).\n> I just tested several versions of msysgit:\n> \n>  - Only Git-1.7.8-preview20111229-unicode.exe saves commit objects\n>    with utf-8 encode.\n> \n>  - Other versions such as Git-1.7.9-preview20120201.exe and\n>    Git-1.7.8-preview20111206.exe will not convert multi-bytes characters\n>    in commit log into UTF-8.\n\nThen you haven't set i18n.commitEncoding. Try this:\n\n   git config i18n.commitEncoding CP936\n\n(substitute whatever Windows codepage you are using).\n\n-- Hannes\n"},{"id":"185910","messageId":"CANYiYbG-Gp0cELF7_CxT1veRod+ookBaucfjCpWZjK1kTC0sAQ@mail.gmail.com","threadId":"29780","inReplyTo":"4F50A55E.8040705@viscovery.net","subject":"Re: [PATCH] Update l10n guide","fromName":"Jiang Xin","fromEmail":"worldhello.net@gmail.com","sentAt":"2012-03-02T12:18:36Z","receivedAt":"2012-03-02T12:18:36Z","isPatch":true,"sender":{"key":"worldhello.net@gmail.com","avatar":"https://avatars.githubusercontent.com/u/183860?v=4"},"body":"2012/3/2 Johannes Sixt <j.sixt@viscovery.net>:\n> It does not convert, but it records which encoding the text has. If you\n> don't specify anything, UTF-8 is assumed, and if your text is actually not\n> UTF-8, the result is necessarily garbage.\n>\n> Then you haven't set i18n.commitEncoding. Try this:\n>\n>   git config i18n.commitEncoding CP936\n\nI know there are two config variables. i18n.commitEncoding will insert\na \"encoding XX\" line to the commit object, while i18n.logOutputEncoding\nwill set the default output encoding. But this implementation seems like\na workaround.\n\n* Tree objects do not have such implementation, so multibyte characters\n   can not be used as filenames.\n\n* Commit object without \"encoding\" instruction will be used as it is. So\n  people under the same non-utf8 locale may not notice that they\n  have not set the proper i18n.commitEncoding, until one day they\n  need accross platform development.\n\n* As raw commit log alway used as fallback, sometimes it is hard to find\n  commit objects with wrong encoding instructions.\n\nI think save commit object, tree object, packed-refs in UTF-8 is\na better implementation.\n\n-- \nJiang Xin\n"},{"id":"185927","messageId":"m362enuk53.fsf@localhost.localdomain","threadId":"29780","inReplyTo":"CANYiYbG-Gp0cELF7_CxT1veRod+ookBaucfjCpWZjK1kTC0sAQ@mail.gmail.com","subject":"Re: [PATCH] Update l10n guide","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2012-03-02T14:56:12Z","receivedAt":"2012-03-02T14:56:12Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Jiang Xin <worldhello.net@gmail.com> writes:\n> 2012/3/2 Johannes Sixt <j.sixt@viscovery.net>:\n\n> > It does not convert, but it records which encoding the text has. If you\n> > don't specify anything, UTF-8 is assumed, and if your text is actually not\n> > UTF-8, the result is necessarily garbage.\n> >\n> > Then you haven't set i18n.commitEncoding. Try this:\n> >\n> >   git config i18n.commitEncoding CP936\n> \n> I know there are two config variables. i18n.commitEncoding will insert\n> a \"encoding XX\" line to the commit object, while i18n.logOutputEncoding\n> will set the default output encoding.\n\nNote that according to documentation 'git commit' issues a warning if\nthe commit log message given to it does not look like a valid UTF-8\nstring, unless you explicitly say your project uses a legacy encoding.\nModern git would also warn if you have NUL (\"\\0\") character in your\ncommit message, e.g. when using UCS-2 / UTF-16 encoding.\n\n> But this implementation seems like a workaround.\n> \n> * Tree objects do not have such implementation, so multibyte characters\n>   can not be used as filenames.\n\nAnd there is no place on pathnameEncoding in 'tree' object,\nunfortunately.\n\nOne proposed solution was to convert filenames from filesystem\nencoding to normal-form composed UTF-8 when creating tree objects, but\nthis would have to be optional.\n\nAnyway at least for source code using characters outside US-ASCII is\nreally discouraged anyway.  Note also that sample 'pre-commit' hook\nprevents adding files with non-ascii filenames.\n \n> * Commit object without \"encoding\" instruction will be used as it is. So\n>   people under the same non-utf8 locale may not notice that they\n>   have not set the proper i18n.commitEncoding, until one day they\n>   need accross platform development.\n\nBut see above.\n \n> * As raw commit log alway used as fallback, sometimes it is hard to find\n>   commit objects with wrong encoding instructions.\n> \n> I think save commit object, tree object, packed-refs in UTF-8 is\n> a better implementation.\n\nBackward compatibiltiyt and performance.\n\n-- \nJakub Narebski\n"},{"id":"185929","messageId":"7vfwdrey74.fsf@alter.siamese.dyndns.org","threadId":"29780","inReplyTo":"CANYiYbG-Gp0cELF7_CxT1veRod+ookBaucfjCpWZjK1kTC0sAQ@mail.gmail.com","subject":"Re: [PATCH] Update l10n guide","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-03-02T16:59:11Z","receivedAt":"2012-03-02T16:59:11Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jiang Xin <worldhello.net@gmail.com> writes:\n\n> I know there are two config variables. i18n.commitEncoding will insert\n> a \"encoding XX\" line to the commit object, while i18n.logOutputEncoding\n> will set the default output encoding. But this implementation seems like\n> a workaround.\n>\n> * Tree objects do not have such implementation, so multibyte characters\n>    can not be used as filenames.\n\nEven outside i18n/l10n context, projects that want to be usable by wide\npopulation avoid filesystem-unsafe characters, which are not limited to\njust multi-byte. Even though Git started on Linux, we do not have a file\nwhose name contains '\\' or HT, which would have made it impossible to\ncheck out on DOS.\n\nIt's just \"common sense\" or \"common courtesy\".\n\nIn any case, I do not expect we would need to have po/國語.po in git-l10n\nrepository, so this is a non issue in the context of this discussion\nthread.\n\n> * Commit object without \"encoding\" instruction will be used as it is. So\n>   people under the same non-utf8 locale may not notice that they\n>   have not set the proper i18n.commitEncoding, until one day they\n>   need accross platform development.\n\nThat is why we have l10n coordinator who can vet such mistakes crawling\ninto our system, isn't it?\n\n> I think save commit object, tree object, packed-refs in UTF-8 is\n> a better implementation.\n\nIt is one of the better conventions to encourage.\n\nIt is entirely a different matter to forbid a closed local user community\nfrom adopting GB, Big5, EUC or whatever character encoding as the encoding\nof their choice, and using it throughout their project for pathnames, blob\npayloads and log messages.\n"}]}