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