This patch series implements gettext support for git, making it possible to localize it. This should really be v2, but PATCH 1/2 had a trivial typo fix as v2, so I'm bumping the version of the whole series to v3 to avoid dual v3/v2 confusion. Changes since v1: * Fixed all the things that Junio pointed out: - Tests that are too fragile to run everywhere (depend on locale/OS/implementation combinations) are now skipped unless TEST_GIT_GETTEXT_EXHAUSTIVE=1 is set. - fantasy-locale / real-locale filenames now make sense with respect to their tests. - Use `! test' instead of `test_expect_failure test` - Use the `>foo' redirection style instead of `> foo'. * Don't use `. gettext.sh' but `type gettext.sh && . gettext.sh'. The former failed on dash and Solaris's ksh. * Now compatible with the SunOS gettext implmentation, this needed: - #include <locale.h> in gettext.c, which is a good idea anyway. GNU libintl.h included it indirectly. - Define a Shell fallback that uses gettext(1). SunOS doesn't have gettext.sh, but it has a gettext command that shellscipts should use. It also needed a custom eval_gettext() wrapper. - Updating of INSTALL and Makefile docs to mention this. * The Perl tests can now be run with TEST_GIT_GETTEXT_EXHAUSTIVE=1 through the t0202-gettext-perl.sh wrapper. The original patch didn't set GIT_TEXTDOMAINDIR, and I always ran the test.pl script manually. * Updated commit messages to reflect the changes above, and fixed a typo or two. The changes since v1 in diff -w --stat format: INSTALL | 10 ++++-- Makefile | 4 +- gettext.c | 1 + git-sh-i18n.sh | 36 ++++++++++++++++++---- t/t0200-gettext.sh | 68 ++++++++++++++++++++++++----------------- t/t0201-gettext-fallbacks.sh | 10 +++++- t/t0202-gettext-perl.sh | 3 ++ t/t0202/test.pl | 4 +- 8 files changed, 94 insertions(+), 42 deletions(-) Ævar Arnfjörð Bjarmason (2): Add infrastructure for translating Git with gettext Add initial C, Shell and Perl gettext translations .gitignore | 2 + INSTALL | 8 ++ Makefile | 69 +++++++++++++++++- config.mak.in | 2 + configure.ac | 12 +++ daemon.c | 3 + fast-import.c | 3 + gettext.c | 22 ++++++ gettext.h | 18 +++++ git-pull.sh | 16 ++-- git-send-email.perl | 3 +- git-sh-i18n.sh | 71 ++++++++++++++++++ git.c | 3 + http-backend.c | 3 + http-fetch.c | 3 + http-push.c | 3 + imap-send.c | 3 + perl/Git/I18N.pm | 91 +++++++++++++++++++++++ perl/Makefile | 3 +- perl/Makefile.PL | 14 +++- po/.gitignore | 1 + po/is.po | 70 ++++++++++++++++++ shell.c | 3 + show-index.c | 3 + t/t0200-gettext.sh | 166 ++++++++++++++++++++++++++++++++++++++++++ t/t0200/test.c | 13 +++ t/t0200/test.perl | 14 ++++ t/t0200/test.sh | 14 ++++ t/t0201-gettext-fallbacks.sh | 50 +++++++++++++ t/t0202-gettext-perl.sh | 23 ++++++ t/t0202/test.pl | 104 ++++++++++++++++++++++++++ t/test-lib.sh | 2 + upload-pack.c | 3 + wt-status.c | 107 ++++++++++++++------------- 34 files changed, 860 insertions(+), 65 deletions(-) create mode 100644 gettext.c create mode 100644 gettext.h create mode 100644 git-sh-i18n.sh create mode 100644 perl/Git/I18N.pm create mode 100644 po/.gitignore create mode 100644 po/is.po create mode 100755 t/t0200-gettext.sh create mode 100644 t/t0200/test.c create mode 100644 t/t0200/test.perl create mode 100644 t/t0200/test.sh create mode 100755 t/t0201-gettext-fallbacks.sh create mode 100755 t/t0202-gettext-perl.sh create mode 100644 t/t0202/test.pl -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html