OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [ABOUT-GCC-NLS] - Blame information for rev 38

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 38 julius
Notes on GCC's Native Language Support
2
 
3
By and large, only diagnostic messages have been internationalized.
4
Some work remains in other areas; for example, GCC does not yet allow
5
non-ASCII letters in identifiers.
6
 
7
Not all of GCC's diagnostic messages have been internationalized. Programs
8
like `genattr' (in fact all gen* programs) are not internationalized, as
9
their users are GCC maintainers who typically need to be able to read
10
English anyway; internationalizing them would thus entail needless work for
11
the human translators. Messages used for debugging, such as used in dumped
12
tables, should also not be translated.
13
 
14
The GCC library should not contain any messages that need
15
internationalization, because it operates below the internationalization
16
library.
17
 
18
Unlike some other GNU programs, the GCC sources contain few instances
19
of explicit translation calls like _("string").  Instead, the
20
diagnostic printing routines automatically translate their arguments.
21
For example, GCC source code should not contain calls like `error
22
(_("unterminated comment"))'; it should contain calls like `error
23
("unterminated comment")' instead, as it is the `error' function's
24
responsibility to translate the message before the user sees it.
25
 
26
By convention, any function parameter in the GCC sources whose name
27
ends in `msgid' is expected to be a message requiring translation.
28
If the parameter name ends with `gmsgid', it is assumed to be a GCC
29
diagnostics format string requiring translation, if it ends with
30
`cmsgid', it is assumed to be a format string for `printf' family
31
of functions, requiring a translation.
32
For example, the `error' function's first parameter is named `gmsgid'.
33
GCC's exgettext script uses this convention to determine which
34
function parameter strings need to be translated.  The exgettext
35
script also assumes that any occurrence of `%eMSGID}' on a source
36
line, where MSGID does not contain `%' or `}', corresponds to a
37
message MSGID that requires translation; this is needed to identify
38
diagnostics in GCC spec strings.
39
The `G_(GMSGID)' macro defined in intl.h can be used to mark GCC diagnostics
40
format strings as requiring translation, but other than that it is a
41
no-op at runtime.
42
 
43
If you modify source files, you'll need at least version 0.14.15 of the
44
GNU gettext package to propagate the modifications to the translation
45
tables.
46
 
47
After having built and installed these gettext tools, you have to
48
configure GCC with --enable-maintainer-mode to get the master catalog
49
rebuilt.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.