From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH 2/5] gettext docs: add "Marking strings for translation" section in po/README
Date: Fri, 10 Sep 2010 19:35:50 +0000 [thread overview]
Message-ID: <1284147353-18000-3-git-send-email-avarab@gmail.com> (raw)
In-Reply-To: <AANLkTikdHZFmXAdABvS9hPXtbXNJU5NdCOrw5_KP73bX@mail.gmail.com>
Add a "Marking strings for translation" section to po/README and
mention it in Documentation/CodingGuidelines.
This section documents how the maintainers of Git's source code should
go about properly marking strings for translation.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
Documentation/CodingGuidelines | 7 ++++++
po/README | 41 +++++++++++++++++++++++++++++++++++++++-
2 files changed, 47 insertions(+), 1 deletions(-)
diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
index b8bf618..2e114d6 100644
--- a/Documentation/CodingGuidelines
+++ b/Documentation/CodingGuidelines
@@ -70,6 +70,10 @@ For shell scripts specifically (not exhaustive):
are ERE elements not BRE (note that \? and \+ are not even part
of BRE -- making them accessible from BRE is a GNU extension).
+ - Use Git's gettext wrappers in git-sh-i18n to make the user
+ interface translatable. See "Marking strings for translation" in
+ po/README.
+
For C programs:
- We use tabs to indent, and interpret tabs as taking up to
@@ -132,3 +136,6 @@ For C programs:
- When we pass <string, length> pair to functions, we should try to
pass them in that order.
+
+ - Use Git's gettext wrappers to make the user interface
+ translatable. See "Marking strings for translation" in po/README.
diff --git a/po/README b/po/README
index 4d23ca6..372cb9c 100644
--- a/po/README
+++ b/po/README
@@ -2,7 +2,8 @@ Core GIT Translations
=====================
This directory holds the translations for the core of Git. This
-document describes how to add to and maintain these translations.
+document describes how to add to and maintain these translations, and
+how to mark source strings for translation.
Generating a .pot file
@@ -80,3 +81,41 @@ changed PO file with `msgfmt --check`, the --check option flags many
common errors, e.g. missing printf format strings, or translated
messages that deviate from the originals in whether they begin/end
with a newline or not.
+
+
+Marking strings for translation
+-------------------------------
+
+Before strings can be translated they first have to be marked for
+translation.
+
+Git uses an internationalization interface that wraps the system's
+gettext library, so most of the advice in your gettext documentation
+(on GNU systems `info gettext` in a terminal) applies.
+
+General advice:
+
+ - Don't mark everything for translation, only strings which will be
+ read by humans (the porcelain interface) should be translated.
+
+ The output from Git's plumbing utilities will primarily be read by
+ programs and would break scripts under non-C locales. These strings
+ should not be translated.
+
+ - Adjust the strings so that they're easy to translate. Most of the
+ advice in `info '(gettext)Preparing Strings'` applies here.
+
+ - If something is unclear or ambiguous you can use a "TRANSLATORS"
+ comment to tell the translators what to make of it. These will be
+ extracted by xgettext(1) and put in the po/*.po files, e.g. from
+ git-am.sh:
+
+ # TRANSLATORS: Make sure to include [y], [n], [e], [v] and [a]
+ # in your translation. The program will only accept English
+ # input at this point.
+ gettext "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all "
+
+ Or in C, from builtin/revert.c:
+
+ /* TRANSLATORS: %s will be "revert" or "cherry-pick" */
+ die(_("%s: Unable to write new index file"), me);
--
1.7.2.3.313.gcd15
next prev parent reply other threads:[~2010-09-10 19:36 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-07 16:45 [PATCH 00/20] [CONTINUE] Add gettext support to Git Ævar Arnfjörð Bjarmason
2010-09-07 16:45 ` [PATCH 01/20] gettextize: git-clean clean.requireForce braces Ævar Arnfjörð Bjarmason
2010-09-07 16:45 ` [PATCH 02/20] gettextize: git-clone "Cloning into" message braces Ævar Arnfjörð Bjarmason
2010-09-07 16:47 ` [PATCH 04/20] Makefile: add GNU_GETTEXT, set when we expect GNU gettext Ævar Arnfjörð Bjarmason
2010-09-07 16:47 ` [PATCH 05/20] Makefile: MSGFMT="msgfmt --check" under GNU_GETTEXT Ævar Arnfjörð Bjarmason
2010-09-07 16:47 ` [PATCH 06/20] Revert "gettextize: git-revert mark the "me" variable for translation" Ævar Arnfjörð Bjarmason
2010-09-07 16:47 ` [PATCH 07/20] gettextize: git-revert "Your local changes" message Ævar Arnfjörð Bjarmason
2010-09-07 16:47 ` [PATCH 08/20] gettextize: git-revert literal "me" messages Ævar Arnfjörð Bjarmason
2010-09-07 16:47 ` [PATCH 09/20] gettext: add GETTEXT_POISON support for shell scripts Ævar Arnfjörð Bjarmason
2010-09-07 16:48 ` [PATCH 10/20] gettext: add GETTEXT_POISON tests " Ævar Arnfjörð Bjarmason
2010-09-07 16:48 ` [PATCH 11/20] gettextize: git-am add git-sh-i18n Ævar Arnfjörð Bjarmason
2010-09-07 16:48 ` [PATCH 12/20] gettextize: git-am one-line gettext $msg; echo Ævar Arnfjörð Bjarmason
2010-09-07 16:48 ` [PATCH 13/20] gettextize: git-am multi-line getttext " Ævar Arnfjörð Bjarmason
2010-09-07 16:48 ` [PATCH 14/20] gettextize: git-am eval_gettext messages Ævar Arnfjörð Bjarmason
2010-09-07 16:48 ` [PATCH 15/20] gettextize: git-am die messages Ævar Arnfjörð Bjarmason
2010-09-07 16:48 ` [PATCH 16/20] gettextize: git-am cannot_fallback messages Ævar Arnfjörð Bjarmason
2010-09-07 16:48 ` [PATCH 17/20] gettextize: git-am clean_abort messages Ævar Arnfjörð Bjarmason
2010-09-07 16:48 ` [PATCH 18/20] gettextize: git-am "Apply?" message Ævar Arnfjörð Bjarmason
2010-09-07 16:48 ` [PATCH 19/20] gettextize: git-am core say messages Ævar Arnfjörð Bjarmason
2010-09-07 16:50 ` [PATCH 20/20] gettextize: git-am printf(1) message to eval_gettext Ævar Arnfjörð Bjarmason
2010-09-07 20:10 ` Jonathan Nieder
2010-09-07 20:29 ` Ævar Arnfjörð Bjarmason
2010-09-07 20:32 ` Jonathan Nieder
2010-09-07 20:46 ` [PATCH v2 " Ævar Arnfjörð Bjarmason
2010-09-07 20:45 ` [PATCH v2 19/20] gettextize: git-am core say messages Ævar Arnfjörð Bjarmason
2010-09-08 16:43 ` [PATCH 00/20] [CONTINUE] Add gettext support to Git Junio C Hamano
2010-09-08 23:32 ` Ævar Arnfjörð Bjarmason
2010-09-10 12:00 ` Ævar Arnfjörð Bjarmason
2010-09-10 16:01 ` Junio C Hamano
2010-09-10 17:17 ` Ævar Arnfjörð Bjarmason
2010-09-10 19:35 ` [PATCH 0/5] gettext docs: programmer docs in po/README Ævar Arnfjörð Bjarmason
2010-09-10 23:21 ` Ævar Arnfjörð Bjarmason
2010-09-10 19:35 ` [PATCH 1/5] gettext docs: add a "Testing your changes" section to po/README Ævar Arnfjörð Bjarmason
2010-09-10 19:35 ` Ævar Arnfjörð Bjarmason [this message]
2010-09-10 22:26 ` [PATCH 2/5] gettext docs: add "Marking strings for translation" section in po/README Junio C Hamano
2010-09-10 22:31 ` Ævar Arnfjörð Bjarmason
2010-09-10 19:35 ` [PATCH 3/5] gettext docs: the gettext.h C interface Ævar Arnfjörð Bjarmason
2010-09-10 22:30 ` Junio C Hamano
2010-09-10 22:53 ` Ævar Arnfjörð Bjarmason
2010-09-10 22:52 ` Junio C Hamano
2010-09-10 23:03 ` Ævar Arnfjörð Bjarmason
2010-09-10 23:06 ` Junio C Hamano
2010-09-10 23:16 ` Ævar Arnfjörð Bjarmason
2010-09-10 19:35 ` [PATCH 4/5] gettext docs: the git-sh-i18n.sh Shell interface Ævar Arnfjörð Bjarmason
2010-09-10 22:54 ` Junio C Hamano
2010-09-10 22:58 ` Ævar Arnfjörð Bjarmason
2010-09-10 19:35 ` [PATCH 5/5] gettext docs: the Git::I18N Perl interface Ævar Arnfjörð Bjarmason
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1284147353-18000-3-git-send-email-avarab@gmail.com \
--to=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).