Code

git.git
14 years agopo/hi.po: add Hindi Translation
Ramkumar Ramachandra [Thu, 9 Sep 2010 14:02:09 +0000 (19:32 +0530)]
po/hi.po: add Hindi Translation

Translate a few Git messages to Standard Hindi. It uses a phonetic
script called Devanagari. Focus especially on transforming grammar and
tense in a sane manner to serve as a guideline for future translators.

Note that Devanagari rendering is broken on many applications by
default at this time- the latest Emacs, Vim and Chrome render it
incorrectly.

Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
Acked-by: Antriksh Pany <antriksh.pany@gmail.com>
Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agopo/en_GB.po: add British English translation
Sam Reed [Fri, 3 Sep 2010 17:29:48 +0000 (17:29 +0000)]
po/en_GB.po: add British English translation

Translate three Git messages from US to British English. These all had
to do with z v.s. s differences.

Signed-off-by: Sam Reed <sam@reedyboy.net>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agopo/de.po: add German translation
Jan Krüger [Fri, 3 Sep 2010 13:32:07 +0000 (15:32 +0200)]
po/de.po: add German translation

An incomplete German translation.

Signed-off-by: Jan Krüger <jk@jk.gs>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agoMakefile: only add gettext tests on XGETTEXT_INCLUDE_TESTS=YesPlease
Ævar Arnfjörð Bjarmason [Mon, 13 Sep 2010 12:42:29 +0000 (12:42 +0000)]
Makefile: only add gettext tests on XGETTEXT_INCLUDE_TESTS=YesPlease

Change the "pot" target so that the xgettext(1) invocation no longer
include test files from t/t0200.

These should only be included in the Icelandic is.po file since Git's
own test suite uses them for regression tests, but nobody else should
translate them. Previously I indicated this with a TRANSLATORS comment
for all the strings:

    #. TRANSLATORS: This is a test. You don't need to translate it.
    #, c-format
    msgid "TEST: A C test string %s"
    msgstr ""

But if translators follow those instructions they'll never have 100%
translation coverage. It's much better to add a hidden option so that
is.po now has to use a special git.pot file for msgmerge(1):

    make pot XGETTEXT_INCLUDE_TESTS=YesPlease

But everything else can continue to use the documented:

    make pot

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettext docs: add po/README file documenting Git's gettext
Ævar Arnfjörð Bjarmason [Fri, 3 Sep 2010 15:36:58 +0000 (15:36 +0000)]
gettext docs: add po/README file documenting Git's gettext

Add a po/README file. This documentation is targated at translators
and maintainers of git.git.

Currently it describes how to add new PO files and how to update
them. But in the future we want to add more things to it, e.g. how and
what to add in TRANSLATOR comments, how to make the source more
gettext friendly etc.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-am printf(1) message to eval_gettext
Ævar Arnfjörð Bjarmason [Tue, 7 Sep 2010 14:57:02 +0000 (14:57 +0000)]
gettextize: git-am printf(1) message to eval_gettext

Convert a message that used printf(1) format to use eval_gettext. It's
easier for translators to handle the latter, since the eval format
automatically gives them context via variable names.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-am core say messages
Ævar Arnfjörð Bjarmason [Tue, 7 Sep 2010 14:55:56 +0000 (14:55 +0000)]
gettextize: git-am core say messages

Make the core git-am messages that use say() translatable. These are
visible on almost every git am invocation.

There are tests that depend on the "Applying" output that need to be
skipped along with this translation.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-am "Apply?" message
Ævar Arnfjörð Bjarmason [Tue, 7 Sep 2010 14:37:41 +0000 (14:37 +0000)]
gettextize: git-am "Apply?" message

Make the "Apply? [y]es/[n]o/[e]dit/[v]iew patch/[a]ccept all" message
translatable, and leave a note in a TRANSLATORS comment explaining
that translators have to preserve a mention of the y/n/e/v/a
characters since the program will expect them, and not their
localized equivalents.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-am clean_abort messages
Ævar Arnfjörð Bjarmason [Tue, 7 Sep 2010 14:54:27 +0000 (14:54 +0000)]
gettextize: git-am clean_abort messages

Messages that used the clean_abort function needed both gettext(1) and
eval_gettext(). These need to be interpolated in a string like the die
and cannot_fallback messages.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-am cannot_fallback messages
Ævar Arnfjörð Bjarmason [Tue, 7 Sep 2010 14:36:09 +0000 (14:36 +0000)]
gettextize: git-am cannot_fallback messages

Translate messages with gettext(1) before they're passed to the
cannot_fallback function, just like we handle the die function.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-am die messages
Ævar Arnfjörð Bjarmason [Tue, 7 Sep 2010 14:11:04 +0000 (14:11 +0000)]
gettextize: git-am die messages

The die messages in git-am need to use:

    die "$(gettext "string")"

Since gettext(1) emits the message instead of returning it like the C
equivalent, and our die() function in git-sh-setup needs to get a
string as an argument.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-am eval_gettext messages
Ævar Arnfjörð Bjarmason [Tue, 7 Sep 2010 14:12:59 +0000 (14:12 +0000)]
gettextize: git-am eval_gettext messages

Messages that use variables to be interpolated need to use
eval_gettext(), this wrapper will eval the message and expand the
variable for us.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-am multi-line getttext $msg; echo
Ævar Arnfjörð Bjarmason [Tue, 7 Sep 2010 14:35:18 +0000 (14:35 +0000)]
gettextize: git-am multi-line getttext $msg; echo

When we have multi-line `gettext $msg; echo' messages we can't
preserve the existing indenting because gettext(1) can't accept input
on stdin.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-am one-line gettext $msg; echo
Ævar Arnfjörð Bjarmason [Tue, 7 Sep 2010 14:20:05 +0000 (14:20 +0000)]
gettextize: git-am one-line gettext $msg; echo

One-line `gettext $msg; echo' messages are the simplest use case for
gettext(1).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-am add git-sh-i18n
Ævar Arnfjörð Bjarmason [Tue, 7 Sep 2010 14:03:50 +0000 (14:03 +0000)]
gettextize: git-am add git-sh-i18n

Source git-sh-i18n in git-am.sh, it's needed to import the Git gettext
shell functions.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettext tests: add GETTEXT_POISON tests for shell scripts
Ævar Arnfjörð Bjarmason [Tue, 7 Sep 2010 15:38:23 +0000 (15:38 +0000)]
gettext tests: add GETTEXT_POISON tests for shell scripts

Test the new GETTEXT_POISON=YesPlease support for shell scripts. This
test is derived from the existing t0201-gettext-fallbacks.sh test.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettext tests: add GETTEXT_POISON support for shell scripts
Ævar Arnfjörð Bjarmason [Tue, 7 Sep 2010 15:25:05 +0000 (15:25 +0000)]
gettext tests: add GETTEXT_POISON support for shell scripts

Expand the existing GETTEXT_POISON=YesPlease support to support shell
scripts. Analogous the existing C support this is needed to test that
changes to the output of the shell scripts don't break the plumbing
output.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agoMakefile: MSGFMT="msgfmt --check" under GNU_GETTEXT
Ævar Arnfjörð Bjarmason [Tue, 7 Sep 2010 12:06:42 +0000 (12:06 +0000)]
Makefile: MSGFMT="msgfmt --check" under GNU_GETTEXT

GNU msgfmt(1) supports the --check parameter which does various sanity
checks on the translated strings we're processing, including checks
that the printf(3) format of "c-format" translations matches the
original. I.e. that a "%s" isn't missing, or that there aren't
spurious or missing newlines in the translation.

Since Solaris msgfmt(1) doesn't support --check we have to wrap this
in `ifdef GNU_GETTEXT'.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agoMakefile: add GNU_GETTEXT, set when we expect GNU gettext
Ævar Arnfjörð Bjarmason [Tue, 7 Sep 2010 12:00:46 +0000 (12:00 +0000)]
Makefile: add GNU_GETTEXT, set when we expect GNU gettext

Add a GNU_GETTEXT flag that's set to YesPlease by default everywhere
but on Solaris if the NO_GETTEXT flag isn't set.

Everyone uses GNU gettext these days except Solaris developers, so
having a dumb check for this that just depends on SunOS should be
OK.

I also don't plan to use this (for the time being) for anything that
would break if it isn't correctly set (e.g. if you're using GNU
libintl on Solaris), so I haven't added paranoid autoconf guards.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-shortlog basic messages
Ævar Arnfjörð Bjarmason [Sun, 5 Sep 2010 15:26:44 +0000 (15:26 +0000)]
gettextize: git-shortlog basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-revert split up "could not revert/apply" message
Ævar Arnfjörð Bjarmason [Sun, 5 Sep 2010 14:54:15 +0000 (14:54 +0000)]
gettextize: git-revert split up "could not revert/apply" message

Split up the "could not %s %s... %s" message into "could not revert
%s... %s" and "could not apply %s... %s". This makes it easier for
translators to understand the message.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-revert literal "me" messages
Ævar Arnfjörð Bjarmason [Sun, 5 Sep 2010 14:34:40 +0000 (14:34 +0000)]
gettextize: git-revert literal "me" messages

Translate messages that use the `me' variable. These are all error
messages referencing the command name, so the name shouldn't be
translated.

Reported-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-revert "Your local changes" message
Ævar Arnfjörð Bjarmason [Tue, 7 Sep 2010 13:33:18 +0000 (13:33 +0000)]
gettextize: git-revert "Your local changes" message

Translate the "Your local changes [...]" message without using the
`me' variable, instead split up the two messages so translators can
translate the whole messages as-is.

Reported-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-revert basic messages
Ævar Arnfjörð Bjarmason [Sun, 5 Sep 2010 14:11:57 +0000 (14:11 +0000)]
gettextize: git-revert basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-notes "Refusing to %s notes in %s" message
Ævar Arnfjörð Bjarmason [Sun, 5 Sep 2010 14:02:13 +0000 (14:02 +0000)]
gettextize: git-notes "Refusing to %s notes in %s" message

The first %s in "Refusing to %s notes in %s" is one of "git notes
ACTION". So we need to mark those actions for translation and later
use _().

Also add a TRANSLATORS comment explaining to translators what the
first %s means.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-notes GIT_NOTES_REWRITE_MODE error message
Ævar Arnfjörð Bjarmason [Sun, 5 Sep 2010 13:56:57 +0000 (13:56 +0000)]
gettextize: git-notes GIT_NOTES_REWRITE_MODE error message

Use sprintf format for the error message that's displayed if
GIT_NOTES_REWRITE_MODE is invalid, and leave a note in a TRANSLATORS
comment indicating what the message means.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-notes basic commands
Ævar Arnfjörð Bjarmason [Sun, 5 Sep 2010 13:49:10 +0000 (13:49 +0000)]
gettextize: git-notes basic commands

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-gc "Auto packing the repository" message
Ævar Arnfjörð Bjarmason [Sun, 5 Sep 2010 12:52:02 +0000 (12:52 +0000)]
gettextize: git-gc "Auto packing the repository" message

Split up the "Auto packing the repository" message into quiet and
verbose variants to make translation easier.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-gc basic messages
Ævar Arnfjörð Bjarmason [Sun, 5 Sep 2010 12:47:15 +0000 (12:47 +0000)]
gettextize: git-gc basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-describe basic messages
Ævar Arnfjörð Bjarmason [Sun, 5 Sep 2010 12:43:31 +0000 (12:43 +0000)]
gettextize: git-describe basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-clean clean.requireForce messages
Ævar Arnfjörð Bjarmason [Sun, 5 Sep 2010 12:34:17 +0000 (12:34 +0000)]
gettextize: git-clean clean.requireForce messages

Split up the "clean.requireForce set/defaults to true..." die()
message to make it easier to translate.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-clean basic messages
Ævar Arnfjörð Bjarmason [Sun, 5 Sep 2010 12:31:48 +0000 (12:31 +0000)]
gettextize: git-clean basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-bundle basic messages
Ævar Arnfjörð Bjarmason [Sun, 5 Sep 2010 12:29:55 +0000 (12:29 +0000)]
gettextize: git-bundle basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-archive basic messages
Ævar Arnfjörð Bjarmason [Sun, 5 Sep 2010 12:28:29 +0000 (12:28 +0000)]
gettextize: git-archive basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-status "renamed: " message
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 14:29:46 +0000 (14:29 +0000)]
gettextize: git-status "renamed: " message

Gettextize the "renamed: %s -> %s" message which appears as part of
git-status(1) output. Two tests in t4001-diff-rename.sh explicitly
checked for this message. Change them to skip under
GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-status "Initial commit" message
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 14:59:27 +0000 (14:59 +0000)]
gettextize: git-status "Initial commit" message

Gettextize the "# Initial commit" message. A test in t7501-commit.sh
explicitly checked for this message. Change it to skip under
GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-status "Changes to be committed" message
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 17:27:44 +0000 (17:27 +0000)]
gettextize: git-status "Changes to be committed" message

Gettextize the "# Changes to be committed:" messages. Several tests
explicitly checked for this message. Change them to skip under
GETTEXT_POISON=YesPlease.

Since these tests didn't check for the rest of the git-status(1)
output this change has been split up from the "git-status basic
messages" patch.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-status shortstatus messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 19:17:17 +0000 (19:17 +0000)]
gettextize: git-status shortstatus messages

Make the messages added in v1.7.2-rc0~54^2~1 translatable. Some of
these could use the to be implemented plural support in the gettext
library.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-status "nothing to commit" messages
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 18:25:18 +0000 (18:25 +0000)]
gettextize: git-status "nothing to commit" messages

Gettextize the "nothing to commit" messages. Many tests explicitly
checked for this message. Change them to skip under
GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-status basic messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 19:12:26 +0000 (19:12 +0000)]
gettextize: git-status basic messages

Gettextize the most common git-status messages. Many tests checked for
these explicitly. Change them to skip under GETTEXT_POISON=YesPlease.

Some of the tests in t7508-status.sh needed to be split up when I
added NO_GETTEXT_POISON to them, since parts of them affected later
tests (some of which aren't being skipped) indirectly.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-push "prevent you from losing" message
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 19:32:01 +0000 (19:32 +0000)]
gettextize: git-push "prevent you from losing" message

Gettextize the "To prevent you from losing history" message. A test in
lib-httpd.sh and another in t5541-http-push.sh explicitly checked for
this message. Change them to skip under GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-push basic messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 18:58:04 +0000 (18:58 +0000)]
gettextize: git-push basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-tag tag_template message
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 18:55:40 +0000 (18:55 +0000)]
gettextize: git-tag tag_template message

Mark the tag_template message as translatable with N_() and then use
it later with _(). We need to skip a test under GETTEXT_POISON that
relies on the output having a leading newline.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-tag basic messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 18:53:33 +0000 (18:53 +0000)]
gettextize: git-tag basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-reset "Unstaged changes after reset" message
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 13:36:28 +0000 (13:36 +0000)]
gettextize: git-reset "Unstaged changes after reset" message

Gettextize the ""Unstaged changes after reset:" message. A test in
t7102-reset.sh explicitly checked for this message. Change it to skip
under GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-reset reset_type_names messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 18:46:15 +0000 (18:46 +0000)]
gettextize: git-reset reset_type_names messages

Make the messages in git-reset that use the reset_type_names static
array to be translatable by marking the array items with N_() and
using _() later.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-reset basic messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 18:41:55 +0000 (18:41 +0000)]
gettextize: git-reset basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-rm basic messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 18:37:33 +0000 (18:37 +0000)]
gettextize: git-rm basic messages

Make the basic git-mv messages translatable, but skip things like "rm
'%s'\n" and "git rm '%s'\n" for now.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-mv "bad" messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 18:28:56 +0000 (18:28 +0000)]
gettextize: git-mv "bad" messages

Gettextize messages made by assigning to the "bad" char* variable.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-mv basic messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 18:26:27 +0000 (18:26 +0000)]
gettextize: git-mv basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-merge "Wonderful" message
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 14:18:47 +0000 (14:18 +0000)]
gettextize: git-merge "Wonderful" message

Gettextize the "Wonderful" message. A test in t7600-merge.sh
explicitly checked for this message. Change it to skip under
GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-merge "You have not concluded your merge" messages
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 15:20:50 +0000 (15:20 +0000)]
gettextize: git-merge "You have not concluded your merge" messages

Gettextize the "You have not concluded your merge messages. A test in
t3030-merge-recursive.sh explicitly checked for this message. Change
it to skip the test under GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-merge "Updating %s..%s" message
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 14:43:47 +0000 (14:43 +0000)]
gettextize: git-merge "Updating %s..%s" message

Gettextize the "Updating %s..%s\n" message. A test in
t1200-tutorial.sh explicitly checked for this message. Split it into
two tests to skip the test_cmp test under GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-merge basic messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 17:47:52 +0000 (17:47 +0000)]
gettextize: git-merge basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-log "--OPT does not make sense" messages
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 15:11:42 +0000 (15:11 +0000)]
gettextize: git-log "--OPT does not make sense" messages

Gettextize the "--name-only/--name-status/--check does not make sense"
messages. A test in t4014-format-patch.sh explicitly checked for these
messages. Change them to skip under GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-log basic messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 17:35:39 +0000 (17:35 +0000)]
gettextize: git-log basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-grep "--open-files-in-pager" message
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 14:08:50 +0000 (14:08 +0000)]
gettextize: git-grep "--open-files-in-pager" message

Gettextize the "--open-files-in-pager only works on the worktree"
message. A test in t7811-grep-open.sh explicitly checked for this
message. Change it to skip under GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-grep basic messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 17:30:36 +0000 (17:30 +0000)]
gettextize: git-grep basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-fetch split up "(non-fast-forward)" message
Ævar Arnfjörð Bjarmason [Fri, 3 Sep 2010 23:59:27 +0000 (23:59 +0000)]
gettextize: git-fetch split up "(non-fast-forward)" message

Split up the "(non-fast-forward)" message from printf directives and
make it translatable.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-fetch update_local_ref messages
Ævar Arnfjörð Bjarmason [Fri, 3 Sep 2010 23:58:01 +0000 (23:58 +0000)]
gettextize: git-fetch update_local_ref messages

Translate a "[rejected]" message spotted by Jeff King, and other
things in update_local_ref along with it.

Reported-by: Jeff King <peff@peff.net>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-fetch formatting messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 17:29:01 +0000 (17:29 +0000)]
gettextize: git-fetch formatting messages

Translate some of the formatting messages that appear on git-fetch
showing how branches/tags etc. were updated.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-fetch basic messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 17:21:53 +0000 (17:21 +0000)]
gettextize: git-fetch basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-diff basic messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 17:06:05 +0000 (17:06 +0000)]
gettextize: git-diff basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-commit advice messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 16:58:54 +0000 (16:58 +0000)]
gettextize: git-commit advice messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-commit "enter the commit message" message
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 16:53:39 +0000 (16:53 +0000)]
gettextize: git-commit "enter the commit message" message

Gettextize the "# Please enter the commit message for your changes."
message. Several tests in t7500-commit.sh and t7502-commit.sh assume
that this message starts with a newline. Change the tests to to skip
under GETTEXT_POISON=YesPlease.

These fail under GETTEXT_POISON=YesPlease because the poison editor
message doesn't do the right thing with comments and line breaks, so
these messages will be incorrectly broken up across lines.

This test should not be skipped under a hypothetical future testing
mode that tests Git under language locales, since those messages
should all start with a newline like the original.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-commit print_summary messages
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 17:43:11 +0000 (17:43 +0000)]
gettextize: git-commit print_summary messages

Gettextize the "(root-commit)" and "detached HEAD" fragments that
appear when you commit either the root commit, or a commit in a
detached head translatable.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-commit formatting messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 16:53:27 +0000 (16:53 +0000)]
gettextize: git-commit formatting messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-commit "middle of a merge" message
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 14:23:01 +0000 (14:23 +0000)]
gettextize: git-commit "middle of a merge" message

Gettextize the "You are in the middle of a merge -- cannot amend."
message. Several tests in t7110-reset-merge.sh explicitly checked for
this message. Change them to skip under GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-commit basic messages
Ævar Arnfjörð Bjarmason [Thu, 2 Sep 2010 16:38:18 +0000 (16:38 +0000)]
gettextize: git-commit basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-checkout "Switched to a .. branch" message
Ævar Arnfjörð Bjarmason [Wed, 1 Sep 2010 19:21:38 +0000 (19:21 +0000)]
gettextize: git-checkout "Switched to a .. branch" message

Split up the "Switched to and reset branch" and "Switched to a new
branch" messages to make them easier to translate.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-checkout "HEAD is now at" message
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 17:14:27 +0000 (17:14 +0000)]
gettextize: git-checkout "HEAD is now at" message

Gettextize the "HEAD is now at" messages. Several tests in t7201-co.sh
explicitly checked for this message. Change them to skip under
GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-checkout describe_detached_head messages
Ævar Arnfjörð Bjarmason [Wed, 1 Sep 2010 19:24:39 +0000 (19:24 +0000)]
gettextize: git-checkout describe_detached_head messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-checkout: our/their version message
Ævar Arnfjörð Bjarmason [Wed, 1 Sep 2010 19:18:54 +0000 (19:18 +0000)]
gettextize: git-checkout: our/their version message

Split up the "does not have our/their version" message to make it
easier to translate.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-checkout basic messages
Ævar Arnfjörð Bjarmason [Wed, 1 Sep 2010 19:24:24 +0000 (19:24 +0000)]
gettextize: git-checkout basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-branch "(no branch)" message
Ævar Arnfjörð Bjarmason [Wed, 1 Sep 2010 19:04:36 +0000 (19:04 +0000)]
gettextize: git-branch "(no branch)" message

Gettextize the "(no branch)" message that's shown by "git branch" when
you're in a detached HEAD.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-branch "git branch -v" messages
Ævar Arnfjörð Bjarmason [Wed, 1 Sep 2010 19:04:02 +0000 (19:04 +0000)]
gettextize: git-branch "git branch -v" messages

Make the "git branch -v" messages translatable, e.g.:

    5054b57 [ahead 8] branch error fixup

This is possibly a plumbing message.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-branch "Deleted branch [...]" message
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 13:58:04 +0000 (13:58 +0000)]
gettextize: git-branch "Deleted branch [...]" message

Gettextize the "Deleted %sbranch %s (was %s).\n" messages. test in
t3200-branch.sh explicitly checked for this message. Change it to skip
under GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-branch "remote branch '%s' not found" message
Ævar Arnfjörð Bjarmason [Wed, 1 Sep 2010 18:58:05 +0000 (18:58 +0000)]
gettextize: git-branch "remote branch '%s' not found" message

This could be done better by splitting it up, but it would change too
much code, which I'm trying to avoid at this point. Instead add a
TRANSLATORS comment to explain what "remote " does.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-branch basic messages
Ævar Arnfjörð Bjarmason [Wed, 1 Sep 2010 18:52:13 +0000 (18:52 +0000)]
gettextize: git-branch basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-add refresh_index message
Ævar Arnfjörð Bjarmason [Wed, 1 Sep 2010 18:49:22 +0000 (18:49 +0000)]
gettextize: git-add refresh_index message

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-add "remove '%s'" message
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 14:48:59 +0000 (14:48 +0000)]
gettextize: git-add "remove '%s'" message

Gettextize the "remove '%s'\n" message. A test in t2200-add-update.sh
explicitly checked for this message. Change it to skip under
GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-add "pathspec [...] did not match" message
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 15:48:06 +0000 (15:48 +0000)]
gettextize: git-add "pathspec [...] did not match" message

Gettextize the "pathspec '%s' did not match any files" message. A test
in t3700-add.sh explicitly checked for this message. Change it to skip
under GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-add "Use -f if you really want" message
Ævar Arnfjörð Bjarmason [Sun, 19 Sep 2010 15:59:10 +0000 (15:59 +0000)]
gettextize: git-add "Use -f if you really want" message

Gettextize the "Use -f if you really want to add them.\n"
message. Tests in t2204-add-ignored.sh and t3700-add.sh explicitly
checked for this message. Split the tests that did so up and skip
portion that calls grep on this message under
GETTEXT_POISON=YesPlease.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-add "no files added" message
Ævar Arnfjörð Bjarmason [Wed, 22 Sep 2010 19:20:25 +0000 (19:20 +0000)]
gettextize: git-add "no files added" message

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-add basic messages
Ævar Arnfjörð Bjarmason [Wed, 1 Sep 2010 18:40:13 +0000 (18:40 +0000)]
gettextize: git-add basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-clone "Cloning into" message
Ævar Arnfjörð Bjarmason [Wed, 1 Sep 2010 15:54:30 +0000 (15:54 +0000)]
gettextize: git-clone "Cloning into" message

Split up the "Cloning into %s" and "Cloning into bare repository %s"
messages to make them easier to translate.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-clone basic messages
Ævar Arnfjörð Bjarmason [Wed, 1 Sep 2010 15:44:13 +0000 (15:44 +0000)]
gettextize: git-clone basic messages

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettext tests: test message re-encoding under C
Ævar Arnfjörð Bjarmason [Mon, 30 Aug 2010 21:10:53 +0000 (21:10 +0000)]
gettext tests: test message re-encoding under C

Add tests for message re-encoding under C. Unlike the Shell tests
these tests will break under GNU libintl if the recent patch to
gettext.c is reverted. So this serves as a regression test for that
issue.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agopo/is.po: add Icelandic translation
Ævar Arnfjörð Bjarmason [Sat, 28 Aug 2010 17:48:26 +0000 (17:48 +0000)]
po/is.po: add Icelandic translation

Translate some non-TEST into Icelandic. This is far from a complete
translation, I've only translated init-db.c.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettext tests: mark a test message as not needing translation
Ævar Arnfjörð Bjarmason [Mon, 30 Aug 2010 17:54:53 +0000 (17:54 +0000)]
gettext tests: mark a test message as not needing translation

This was the only message in t/t0200/* that didn't have a TRANSLATORS
comment, without it translators will waste time translating this
needlessly.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettext tests: test re-encoding with a UTF-8 msgid under Shell
Ævar Arnfjörð Bjarmason [Mon, 30 Aug 2010 16:59:13 +0000 (16:59 +0000)]
gettext tests: test re-encoding with a UTF-8 msgid under Shell

A test that tests that calling gettext on a UTF-8 msgid works, and
that recoding the resulting string works too.

This test uses the --from-code=UTF-8 xgettext(1) argument introduced
in an earlier patch.

This patch only tests the shellscript portion of our gettext
interface. I can't get any of these tests to fail on any of the
gettext implementations I have around, even without the previous patch
to gettext.c. But having exhaustive tests in this area is good
regardless.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettext tests: test message re-encoding under Shell
Ævar Arnfjörð Bjarmason [Mon, 30 Aug 2010 16:02:41 +0000 (16:02 +0000)]
gettext tests: test message re-encoding under Shell

Our PO files are written in UTF-8, but We're not using
setlocale(LC_CTYPE, "") so it's not a given that someone with e.g. a
ISO-8859-1 locale will get messages in ISO-8859-1, and not UTF-8.

Introduce a new test to test for this, it uses the recently added
GETTEXT_ISO_LOCALE prerequisite.

This patch only tests the shellscript portion of our gettext
interface. I can't get any of these tests to fail on any of the
gettext implementations I have around, even without the previous patch
to gettext.c. But having exhaustive tests in this area is good
regardless.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettext tests: add detection for is_IS.ISO-8859-1 locale
Ævar Arnfjörð Bjarmason [Mon, 30 Aug 2010 15:18:15 +0000 (15:18 +0000)]
gettext tests: add detection for is_IS.ISO-8859-1 locale

Add a GETTEXT_ISO_LOCALE prerequisite to lib-gettext.sh, it'll be set
if we have an is_IS.ISO-8859-1 locale.

This is needed for an upcoming test that checks if our gettext library
can recode our UTF-8 po/is.po to is_IS.ISO-8859-1 on request.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettext tests: test if $VERSION exists before using it
Ævar Arnfjörð Bjarmason [Mon, 30 Aug 2010 19:35:24 +0000 (19:35 +0000)]
gettext tests: test if $VERSION exists before using it

Versions of Locale::Messages before 1.17 didn't have a $VERSION
variable. This caused test failures on boxes that had this old version
installed, since the warnings pragma emits warnings on STDERR, which
fails the test.

Change the test to work around this by first checking if the $VERSION
variable is defined before using it.

Reported-by: Jens Lehmann <Jens.Lehmann@web.de>
Tested-by: Jens Lehmann <Jens.Lehmann@web.de>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-init "Initialized [...] repository" message
Ævar Arnfjörð Bjarmason [Sat, 28 Aug 2010 15:32:15 +0000 (15:32 +0000)]
gettextize: git-init "Initialized [...] repository" message

Change the git-init "Initialized empty Git repository" message and its
variants to use gettext.

This is one of the messages that could do with splitting up, I had a
WIP patch to do that that began like this:

    const char *reinit_shared   = _("Reinitialized existing shared Git repository in %s\n");
    const char *init_shared     = _("Initialized empty shared Git repository in %s\n");
    const char *reinit_noshared = _("Reinitialized existing Git repository in %s\n");
    const char *init_noshared   = _("Initialized empty Git repository in %s\n");

But in the first round of gettextization I'm aiming to keep code
changes to a minimum for ease of review.

We can solicit input from translators about which messages that use
too much sprintf-ing are troublesome, and change those later.

Note that the TRANSLATORS comment doesn't use the usual Git
style. This is because everything from "/* TRANSLATORS: " to "*/" will
extracted as-is xgettext(1) and presented to translators, including
newlines and leading "*"'s. There seems to be no way to change that,
short of patching xgettext itself.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettextize: git-init basic messages
Ævar Arnfjörð Bjarmason [Sat, 28 Aug 2010 15:04:43 +0000 (15:04 +0000)]
gettextize: git-init basic messages

Change the user visible strings in init-db.c to use gettext
localizations. This only converts messages which needed to be changed
from "foo" to _("foo"), and didn't need any TRANSLATORS comments.

I haven't marked the messages in init_db_usage or init_db_options for
translation, since that would require additional changes in
parse-options.c. Those can be done later.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettext tests: skip lib-gettext.sh tests under GETTEXT_POISON
Ævar Arnfjörð Bjarmason [Sat, 4 Sep 2010 21:28:15 +0000 (21:28 +0000)]
gettext tests: skip lib-gettext.sh tests under GETTEXT_POISON

Change the gettext tests (all of whom use lib-gettext.sh) to skip
under GETTEXT_POISON=YesPlease. We also print a message to this
effect.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettext tests: add GETTEXT_POISON=YesPlease Makefile parameter
Ævar Arnfjörð Bjarmason [Fri, 3 Sep 2010 17:50:56 +0000 (17:50 +0000)]
gettext tests: add GETTEXT_POISON=YesPlease Makefile parameter

Add a new GETTEXT_POISON=YesPlease Makefile debug target. With this
target every invocation of _(s) will return "# GETTEXT POISON #"
instead of `s' or the msgstr that `s` would look up.

This target is intended to sanity check the gettextization series
against the test suite.

If the test suite is relying on the US English output of Git the test
should either have a NO_GETTEXT_POISON prerequisite, or the message in
question shouldn't be translated because it's a plumbing message.

We won't catch everything with this since we don't have 100% test
coverage, but the chances of us doing so are much larger.

The reason I'm using "# GETTEXT POISON #" is that a lot of tests that
rely on the fake editor would break if it wasn't a comment, since the
comment message that's inserted on e.g. `git commit --amend' is
translatable.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettext.c: use libcharset.h instead of langinfo.h when available
Erik Faye-Lund [Tue, 28 Sep 2010 16:05:26 +0000 (18:05 +0200)]
gettext.c: use libcharset.h instead of langinfo.h when available

Change the git_setup_gettext function to use libcharset to query the
character set of the current locale if it's available. I.e. use it
instead of nl_langinfo if HAVE_LIBCHARSET_H is set.

The GNU gettext manual recommends using langinfo.h's
nl_langinfo(CODESET) to acquire the current character set, but on
systems that have libcharset.h's locale_charset() using the latter is
either saner, or the only option on those systems.

GNU and Solaris have a nl_langinfo(CODESET), FreeBSD can use either,
but MinGW and some others need to use libcharset.h's locale_charset()
instead.

The locale_charset function returns a `const char*', instead of
`char*` as nl_langinfo does. Change the declaration of the variable
we're using to store the `charset' in `git_setup_gettext' accordingly.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
14 years agogettext.c: work around us not using setlocale(LC_CTYPE, "")
Ævar Arnfjörð Bjarmason [Sun, 29 Aug 2010 17:23:38 +0000 (17:23 +0000)]
gettext.c: work around us not using setlocale(LC_CTYPE, "")

Change the gettext setup code to arrange for messages to be emitted in
the user's requested encoding, but avoid setting LC_CTYPE from the
environment for the whole program.

In 107880a I removed our use of setlocale(LC_CTYPE, "") because of a
bug in vsnprintf in the GNU C Library [1].

Even if it wasn't for that bug we wouldn't want to use LC_CTYPE at
this point, because it'd require auditing all the code that uses C
functions whose semantics are modified by LC_CTYPE.

But only setting LC_MESSAGES as we do creates a problem, since we
declare the encoding of our PO files[2] the gettext implementation
will try to recode it to the user's locale, but without LC_CTYPE it'll
emit something like this on 'git init'

    Bj? til t?ma Git lind ? /hl/agh/.git/

Gettext knows about the encoding of our PO file, but we haven't told
it about the user's encoding, so all the non-US-ASCII characters get
encoded to question marks.

But we're in luck! We can set LC_CTYPE from the environment only while
we call nl_langinfo and bind_textdomain_codeset. That suffices to tell
gettext what encoding it should emit in, so it'll now say:

    Bjó til tóma Git lind í /hl/agh/.git/

And the equivalent ISO-8859-1 string will be emitted under a
ISO-8859-1 locale.

With this change way we get the advantages of setting LC_CTYPE (talk
to the user in his language/encoding), without the major drawbacks
(changed semantics for C functions we rely on).

However foreign functions using other message catalogs that aren't
using our neat trick will still have a problem, e.g. if we have to
call perror(3):

    #include <stdio.h>
    #include <locale.h>
    #include <errno.h>

    int main(void)
    {
        setlocale(LC_MESSAGES, "");
        setlocale(LC_CTYPE, "C");
        errno = ENODEV;
        perror("test");
        return 0;
    }

Running that will give you a message with question marks:

    $ LANGUAGE= LANG=de_DE.utf8 ./test
    test: Kein passendes Ger?t gefunden

In the long term we should probably see about getting that vsnprintf
bug in glibc fixed, and audit our code so it won't fall apart under a
non-C locale.

Then we could simply set LC_CTYPE from the environment, which would
make things like the external perror(3) messages work.

1. http://sourceware.org/bugzilla/show_bug.cgi?id=6530
2. E.g. "Content-Type: text/plain; charset=UTF-8\n" in po/is.po

Suggested-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>