[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The generated code for AutoOpts will enable and disable the translation of
AutoOpts run time messages. If ENABLE_NLS
is defined at compile time
and no-xlate
has been not set to the value anything, then the
_()
macro may be used to specify a translation function. If undefined,
it will default to gettext(3GNU)
. This define will also enable a
callback function that optionProcess
invokes at the beginning of option
processing. The AutoOpts libopts
library will always check for this
compiled with NLS flag, so libopts
does not need to be specially
compiled. The strings returned by the translation function will be
strdup(3)-ed
and kept. They will not be re-translated, even if the
locale changes, but they will also not be dependent upon reused or unmappable
memory.
You should also ensure that the ATTRIBUTE_FORMAT_ARG()
gets
#define
-ed to something useful. There is an autoconf macro
named AG_COMPILE_FORMAT_ARG
in ‘ag_macros.m4’ that will
set it appropriately for you. If you do not do this, then translated
formatting strings may trigger GCC compiler warnings.
To internationalize option processing, you should first internationalize your
program. Then, the option processing strings can be added to your translation
text by processing the AutoOpts-generated ‘my-opts.c’ file and adding the
distributed ‘po/usage-txt.pot’ file. (Also by extracting the strings
yourself from the ‘usage-txt.h’ file.) When you call
optionProcess
, all of the user visible AutoOpts strings will be passed
through the localization procedure established with the _()
preprocessing macro.
All of this is dis-abled if you specify the global attribute
no-xlate
to anything.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by Bruce Korb on August 21, 2015 using texi2html 1.82.