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