On Tue, Aug 31, 2010 at 15:03, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote: > Æ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 > 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. -- 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