On Mon, Jan 2, 2017 at 3:14 AM, Michael J Gruber <git@xxxxxxxxxxxxxxxxxxxx> wrote: > Currently, the headers "error: ", "warning: " etc. - generated by die(), > warning() etc. - are not localized, but we feed many localized error messages > into these functions so that we produce error messages with mixed localisation. > > This series introduces variants of die() etc. that use localised variants of > the headers, i.e. _("error: ") etc., and are to be fed localized messages. So, > instead of die(_("not workee")), which would produce a mixed localisation (such > as "error: geht ned"), one should use die_(_("not workee")) (resulting in > "Fehler: geht ned"). Have you considered die_("non localized error here") to produce: "Fehler: trotzdem uebersetzt hier" ("error: here it is translated") > > In this implementation, the gettext call for the header and the body are done > in different places (error function vs. caller) but this call pattern seems to > be the easiest variant for the caller, because the message body has to be marked > for localisation in any case, and N_() requires more letters than _(), an extra > argument to die() etc. even more than the extra "_" in the function name. I see. We have to markup the strings to be translatable such that the .po files are complete. It would be really handy if there was a way to say "anything that is fed to this function (die_) needs to be marked for translation. Looking through https://www.gnu.org/software/gettext/manual/html_node/xgettext-Invocation.html such a thing doesn't seem to exist. So in that case die_(_(...)) seems to be the easiest way forward. Thanks, Stefan