git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH/RFC 05/17] gettext: make the simple parts of git-init localizable

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Aug 31, 2010, 15:37 UTC
Message-ID
<AANLkTikd7mc4DjTVaKip_WFqVdezE13ZbL+Vmfqd8yCu@mail.gmail.com>
In-Reply-To
<20100831150301.GE2315@burratino>
On Tue, Aug 31, 2010 at 15:03, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 15 quoted lines
> Ævar Arnfjörð Bjarmason wrote:
>
>> --- a/builtin/init-db.c
>> +++ b/builtin/init-db.c
>> @@ -31,7 +31,7 @@ static void safe_create_dir(const char *dir, int share)
>>               }
>>       }
>>       else if (share && adjust_shared_perm(dir))
>> -             die("Could not make %s writable by group", dir);
>> +             die(_("Could not make %s writable by group"), dir);
>
> Sensible.
>
> I wonder if die() should not just be taught to automatically look up
> translations for its format string (could gettext handle that?).

It's always a two step process. First you have to mark the messages for translation, then you have to call gettext() (or _())on them to make a lookup in the message catalog.

The only way that could work is if I taught xgettext to extract strings passed to die(), but then managing the false positives would probably be more effort than just marking them manually, and it would be a big load on the translators:

    $ ack 'die\("(.*?)"' --output '$1' *[ch] builtin/*[ch] | sort -u | wc -l
    1153
Show 9 quoted lines
> Although we try not to change plumbing error messages without good
> reason, details of error messages change often enough that imvho
> scripts should not be relying on them.
>
>> -                             die_errno("cannot stat '%s'", path);
>> +                             die_errno(_("cannot stat '%s'"), path);
>
> Will strerror() cope correctly without LC_CTYPE set up?  (Not part
> of this series, just something I was reminded of.)

My GNU/Linux strerror(3) claims to use LC_MESSAGES, but I didn't test it.

Previous: Jonathan NiederNext: Jonathan Nieder
Message 10 of 55 in “Begin gettextizing Git”
  1. 00/17 Begin gettextizing GitÆvar Arnfjörð Bjarmason, Aug 30, 2010
  2. 01/17 Makefile: A variable for options used by xgettext(1) callsÆvar Arnfjörð Bjarmason, Aug 30, 2010
  3. Jonathan NiederAug 31, 2010
  4. Ævar Arnfjörð BjarmasonAug 31, 2010
  5. 02/17 Makefile: provide a --msgid-bugs-address to xgettext(1)Ævar Arnfjörð Bjarmason, Aug 30, 2010
  6. 03/17 Makefile: tell xgettext(1) that our source is in UTF-8Ævar Arnfjörð Bjarmason, Aug 30, 2010
  7. 04/17 builtin.h: Include gettext.hÆvar Arnfjörð Bjarmason, Aug 30, 2010
  8. 05/17 gettext: make the simple parts of git-init localizableÆvar Arnfjörð Bjarmason, Aug 30, 2010
  9. Jonathan NiederAug 31, 2010
  10. Ævar Arnfjörð BjarmasonAug 31, 2010
  11. Jonathan NiederAug 31, 2010
  12. Ævar Arnfjörð BjarmasonAug 31, 2010
  13. Jonathan NiederAug 31, 2010
  14. Junio C HamanoAug 31, 2010
  15. 06/17 gettext: localize the main git-init messageÆvar Arnfjörð Bjarmason, Aug 30, 2010
  16. Jonathan NiederAug 31, 2010
  17. Ævar Arnfjörð BjarmasonAug 31, 2010
  18. Jonathan NiederAug 31, 2010
  19. 07/17 gettext.c: work around us not using setlocale(LC_CTYPE, "")Ævar Arnfjörð Bjarmason, Aug 30, 2010
  20. Jonathan NiederAug 31, 2010
  21. Marcin CieslakAug 31, 2010
  22. Jonathan NiederAug 31, 2010
  23. Ævar Arnfjörð BjarmasonAug 31, 2010
  24. Jonathan NiederAug 31, 2010
  25. Erik Faye-LundAug 31, 2010
  26. 08/17 gettext tests: test if $VERSION exists before using itÆvar Arnfjörð Bjarmason, Aug 30, 2010
  27. 09/17 gettext tests: update test/is.po to match t/t0200/test.cÆvar Arnfjörð Bjarmason, Aug 30, 2010
  28. 10/17 gettext tests: add detection for is_IS.ISO-8859-1 localeÆvar Arnfjörð Bjarmason, Aug 30, 2010
  29. 11/17 gettext tests: test message re-encoding under ShellÆvar Arnfjörð Bjarmason, Aug 30, 2010
  30. 12/17 gettext tests: test re-encoding with a UTF-8 msgid under ShellÆvar Arnfjörð Bjarmason, Aug 30, 2010
  31. 13/17 gettext tests: mark a test message as not needing translationÆvar Arnfjörð Bjarmason, Aug 30, 2010
  32. 14/17 po/is.po: msgmerge and add Language: headerÆvar Arnfjörð Bjarmason, Aug 30, 2010
  33. 15/17 po/is.po: add Icelandic translationÆvar Arnfjörð Bjarmason, Aug 30, 2010
  34. Jonathan NiederAug 31, 2010
  35. Ævar Arnfjörð BjarmasonAug 31, 2010
  36. Erik Faye-LundAug 31, 2010
  37. Ævar Arnfjörð BjarmasonAug 31, 2010
  38. Erik Faye-LundAug 31, 2010
  39. 16/17 po/pl.po: add Polish translationÆvar Arnfjörð Bjarmason, Aug 30, 2010
  40. 17/17 gettext tests: test message re-encoding under CÆvar Arnfjörð Bjarmason, Aug 30, 2010
  41. Junio C HamanoAug 30, 2010
  42. gettext: Make NO_GETTEXT=YesPlease the default in releasesÆvar Arnfjörð Bjarmason, Aug 31, 2010
  43. Ævar Arnfjörð BjarmasonAug 31, 2010
  44. Jonathan NiederAug 31, 2010
  45. Ævar Arnfjörð BjarmasonAug 31, 2010
  46. Jonathan NiederAug 31, 2010
  47. Ævar Arnfjörð BjarmasonAug 31, 2010
  48. Jonathan NiederAug 31, 2010
  49. Peter KreftingAug 31, 2010
  50. Ævar Arnfjörð BjarmasonAug 31, 2010
  51. Peter KreftingAug 31, 2010
  52. Matthieu MoyAug 31, 2010
  53. Ævar Arnfjörð BjarmasonAug 31, 2010
  54. Jonathan NiederAug 31, 2010
  55. Ævar Arnfjörð BjarmasonAug 31, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.