On Mon, Jan 09, 2017 at 01:43:15PM +0100, Michael J Gruber wrote: > > I can't say I'm excited about having matching "_" variants for each > > function. Are we sure that they are necessary? I.e., would it be > > acceptable to just translate them always? > > We would still need to mark the strings, e.g. > > die(N_("oopsie")); > > and would not be able to opt out of translating in the code (only in the > po file, by not providing a translation). I meant more along the lines of: would it be OK to just always translate the prefix, even if the message itself is not translated? I.e., diff --git a/usage.c b/usage.c index 82ff13163..8e5400f57 100644 --- a/usage.c +++ b/usage.c @@ -32,7 +32,7 @@ static NORETURN void usage_builtin(const char *err, va_list params) static NORETURN void die_builtin(const char *err, va_list params) { - vreportf("fatal: ", err, params); + vreportf(_("fatal: "), err, params); exit(128); } > In any case, the question is whether we want to tell the user > > A: B > > where A is in English and B is localised, or rather localise both A and > B (for A in "error", "fatal", "warning"...). > > For localising A and B, we'd need this series or something similar. For > keeping the mix, we don't need to do anything ;) What I wrote above would keep the mix, but switch it in the other direction. And then presumably that mix would gradually move to 100% consistency as more messages are translated. But the implicit question is: are there die() messages that should never be translated? I'm not sure. -Peff