This page describes the localization control panel applet, motivation, design and implementation notes.
Use case
Launching an application in another language, or switching back and from a language for a human being without resorting to using the LC_* environment variables.
User interface
There is a beginning of a localization C applet in gnome-control-center svn, but it's currently just a skeleton application.
It needs to be possible to configure the following localization properties:
- Language
Date & Time formats
- Numeric presentation (decimal point, thousand separators)
- Monetary presentation (same as above, but for currencies)
TODO: When could LC_CTYPE and LC_COLLATE be useful to configure?
It should be possible to preview the display widgets with examples of some common languages.
Implementation Proposal
There are three main ways of making applications pick up the selected locales:
Immediately in runtime (eg, GTK+/DynamicLanguages)
- Newly launched applications
- Future use, after logging out and in again
This proposal is not going to cover the first runtime use case as it's deemed to complex to solve. However, to be able to make this work for newly launched applications we need to propagate the locale settings to current launcher application (eg, gnome-panel). That can be done by:
- Adding an XSETTINGS property containing the locales
Modifying GTK+ to listen to and update the GdkAppLaunchContext
- Emit a signal applications can listen to
For future use we need to integrate with gnome-settings-daemon and add gconf keys which contains the state of the localization information the user selected.