mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-22 13:39:58 +08:00
146ef880e4
* ABOUT-GCC-NLS: Now that gettext 0.10.37 is out, require it instead of the CVS version. * cpperror.c (v_message): Put a blank before the macro body to not confuse exgettext. From-SVN: r41493
46 lines
2.1 KiB
Plaintext
46 lines
2.1 KiB
Plaintext
Notes on GCC's Native Language Support
|
|
|
|
By and large, only diagnostic messages have been internationalized.
|
|
Some work remains in other areas; for example, GCC does not yet allow
|
|
non-ASCII letters in identifiers.
|
|
|
|
Not all of GCC's diagnostic messages have been internationalized. Programs
|
|
like `enquire' and `genattr' (in fact all gen* programs) are not
|
|
internationalized, as their users are GCC maintainers who typically need
|
|
to be able to read English anyway; internationalizing them would thus
|
|
entail needless work for the human translators. Messages used for
|
|
debugging, such as used in dumped tables, should also not be translated.
|
|
|
|
The GCC library should not contain any messages that need
|
|
internationalization, because it operates below the internationalization
|
|
library.
|
|
|
|
Currently, the only language translation supplied is en_UK (British
|
|
English).
|
|
|
|
Unlike some other GNU programs, the GCC sources contain few instances
|
|
of explicit translation calls like _("string"). Instead, the
|
|
diagnostic printing routines automatically translate their arguments.
|
|
For example, GCC source code should not contain calls like `error
|
|
(_("unterminated comment"))'; it should contain calls like `error
|
|
("unterminated comment")' instead, as it is the `error' function's
|
|
responsibility to translate the message before the user sees it.
|
|
|
|
By convention, any function parameter in the GCC sources whose name
|
|
ends in `msgid' is expected to be a message requiring translation.
|
|
For example, the `error' function's first parameter is named `msgid'.
|
|
GCC's exgettext script uses this convention to determine which
|
|
function parameter strings need to be translated. The exgettext
|
|
script also assumes that any occurrence of `%eMSGID}' on a source
|
|
line, where MSGID does not contain `%' or `}', corresponds to a
|
|
message MSGID that requires translation; this is needed to identify
|
|
diagnostics in GCC spec strings.
|
|
|
|
If you modify source files, you'll need at least version 0.10.37 of the
|
|
GNU gettext package to propagate the modifications to the translation
|
|
tables.
|
|
|
|
After having built and installed these gettext tools, you have to
|
|
configure GCC with --enable-maintainer-mode to get the master catalog
|
|
rebuilt.
|