Difference between revisions of "Projects/Localization"
(New page: {{project-early}} {{project-target|1.10}} ==Overview== The purpose of this project is to add infrastructure for localization of user interface messages in the krb5 tree, using gettext. ...) |
(No difference)
|
Revision as of 13:57, 18 May 2011
Overview
The purpose of this project is to add infrastructure for localization of user interface messages in the krb5 tree, using gettext.
Design
A single text domain, mit-krb5, will be used for all messages.
krb5_init_context() will be extended to call bindtextdomain() for the mit-krb5 textdomain when built with localization support.
Strings in the tree which should be translated will be marked up with _(), which will be defined to dgettext("mit-krb5", string) when built with localization support.
com_err messages will be translated in krb5_get_error_message(). This will not reach direct uses of the com_err library, but will work when krb5 is built against an external com_err library. Any direct uses of error_message() or com_err() without an appropriate hook should be identified and corrected.
Build infrastructure will be added to run xgettext to extract marked strings. For com_err tables, we can either run xgettext over the generated source files in the build tree, or extend compile_et to generate pot file entries. Further investigation is required to determine the simplest approach.
Programs in the tree such as kinit will call setlocale() at startup.
The test framework will be modified to set the locale to C to ensure that it sees the expected (untranslated) output.
Relevant Mailing List Threads
http://mailman.mit.edu/pipermail/krbdev/2011-May/010011.html