On 11/02/2015 08:41 AM, Chet Ramey wrote: > On 10/19/15 3:07 PM, Benno Schulenberg wrote: >> >> Hi, >> >> In bash-4.4-beta the command names 'true' and 'false' have been >> mistakenly translated in the Greek, Italian, Slovak and Indonesian >> PO files. The latter two also mistakenly translate 'times'. >> >> As the command synopses are gettextized only in order to allow >> translators to translate possible arguments, there is no need to >> gettextize them when a command takes no options nor arguments. > > Well, the short docs are marked with N_ in the generated builtins.c, > but I guess the gettext tools aren't smart enough to not put them in > the pot files.
Marking something with N_() means you DO want it translated, just that
the translation will occur at a different point during runtime. It is
most commonly used in places such as static initialization, where the
compiler won't let you use _() on the original literal, but the
translation must still appear in the .pot, as in:
static const char *foo = N_("can't call _() here");
const char *f(void) {
return _(foo); /* And _() here won't add anything to the .pot,
because its argument was not a literal "string" */
}
If you don't want something translated, then don't wrap it in either _()
or N_().
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
