Thread (44 messages) flat view 44 messages, 5 authors, 2016-06-15

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

From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2016-06-15 22:49:25

On Tue, Aug 31, 2010 at 15:03, Jonathan Nieder [off-list ref] wrote:
Ævar Arnfjörð Bjarmason wrote:
quoted
--- 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
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.
quoted
-                             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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help