For a totally multi-lingual distribution, there are many things to translate beyond output messages.
gettext
offers a complete toolset for
translating messages output by C programs. Perl scripts and shell
scripts also need to be translated. Even if there are some hooks
so this can be done, these hooks are not integrated as well as they
should be.
autoconf
or bison
, are able
to produce other programs (or scripts). Even if the generating
programs themselves are internationalized, the generated programs they
produce may need internationalization on their own, and this indirect
internationalization could be automated right from the generating
program. In fact, quite usually, generating and generated programs
could be internationalized independently, as the effort needed is
fairly orthogonal.
recode
is able to reconstruct at execution.
Since these descriptions are extracted from the RFC by mechanical means,
translating them properly would require a prior translation of the RFC
itself.
gcc
to allow diacriticized characters in identifiers or use
translated keywords; `rm -i' might accept something else than
`y' or `n' for replies, etc. Even if the program will
eventually make most of its output in the foreign languages, one has
to decide whether the input syntax, option values, etc., are to be
localized or not.
As we already stressed, translation is only one aspect of locales.
Other internationalization aspects are not currently handled by GNU
gettext
, but perhaps may be handled in future versions. There
are many attributes that are needed to define a country's cultural
conventions. These attributes include beside the country's native
language, the formatting of the date and time, the representation of
numbers, the symbols for currency, etc. These local rules are
termed the country's locale. The locale represents the knowledge
needed to support the country's native attributes.
There are a few major areas which may vary between countries and
hence, define what a locale must describe. The following list helps
putting multi-lingual messages into the proper context of other tasks
related to locales, and also presents some other areas which GNU
gettext
might eventually tackle, maybe, one of these days.
12,345.67 English 12.345,67 French 1,2345.67 AsiaSome programs could go further and use different unit systems, like English units or Metric units, or even take into account variants about how numbers are spelled in full.
gettext
provide an ease for developers and users to
easily change the language that the software uses to communicate to
the user.
In the near future we see no chance that beside message handling more components of locale will be made available for use in other GNU packages. The reason for this is that most modern system provide a more or less reasonable support for at least some of the missing components. Another point is that the GNU libc and Linux will get a new and complete implementation of the whole locale functionality which could be adopted by system lacking a reasonable locale support.
Go to the first, previous, next, last section, table of contents.