Subject: [PATCH/RFC v7 0/2] Add infrastructure for translating Git with gettext

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Sat, 5 Jun 2010 02:13:53 +0000

This is version 7, and hopefully the final version, of the patch
series to make Git optionally translatable with GNU gettext.

Changes since version 6:

   * Document the NO_GETTEXT and NEEDS_LIBINTL parameters in the
     Makefile.

   * non-GNU need -lintl during linking to use gettext. Supply it
     everywhere where we don't expect glibc, i.e. Linux, Hurd and
     GNU/kFreeBSD. I've described how I did the Makefile change in
     "[PATCH RFC] gettext: Support building on non-GNU with -lintl".

   * Skip some tests when Git is built with NO_GETTEXT=YesPlease, and
     add a new one to test that it really wasn't compiled as the user
     requested.

Here's the diffstat since version 6:

     Makefile           |   27 +++++++++++++++++++++++++--
     t/t0200-gettext.sh |   48 +++++++++++++++++++++++++++++++-----------------
     t/test-lib.sh      |    1 +
     3 files changed, 57 insertions(+), 19 deletions(-)

That's it. I've tested this on FreeBSD, Debian testing and
Ubuntu. Both with and without building gettext support, with and
without libintl-perl, and with and without the Icelandic locale on the
system (which is used for some tests).

Here's the script I used to test it. I'd appreciate test reports from
more platforms:

    curl http://github.com/avar/test-git-gettext/raw/master/test-git-gettext.sh | sh

If it all works I'll submit a non-RFC.
    
Æ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                     |   67 ++++++++++++++++++-
 config.mak.in                |    1 +
 configure.ac                 |    6 ++
 gettext.c                    |   25 +++++++
 gettext.h                    |   13 ++++
 git-pull.sh                  |   16 +++--
 git-send-email.perl          |    3 +-
 git-sh-i18n.sh               |   47 +++++++++++++
 git.c                        |    3 +
 perl/Git/I18N.pm             |   91 +++++++++++++++++++++++++
 perl/Makefile                |    3 +-
 perl/Makefile.PL             |   14 ++++-
 po/.gitignore                |    1 +
 po/is.po                     |   69 +++++++++++++++++++
 t/t0200-gettext.sh           |  150 ++++++++++++++++++++++++++++++++++++++++++
 t/t0200/test.c               |   10 +++
 t/t0200/test.perl            |   14 ++++
 t/t0200/test.sh              |   14 ++++
 t/t0201-gettext-fallbacks.sh |   42 ++++++++++++
 t/t0202-gettext-perl.sh      |   20 ++++++
 t/t0202/test.pl              |  104 +++++++++++++++++++++++++++++
 t/test-lib.sh                |    2 +
 wt-status.c                  |  107 +++++++++++++++---------------
 25 files changed, 767 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