logo_kerberos.gif

Projects/Localization

From K5Wiki
< Projects
Revision as of 14:57, 18 May 2011 by Ghudson (talk | contribs) (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. ...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
This is an early stage project for MIT Kerberos. It is being fleshed out by its proponents. Feel free to help flesh out the details of this project. After the project is ready, it will be presented for review and approval.


This project is targeted at release 1.10.


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