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.

Attic/LocalizationControlApplet (last edited 2013-11-23 01:10:43 by WilliamJonMcCann)