Language chooser at login

Gunnar Hjalmarsson ubuntu at gunnar.cc
Sat Jul 9 09:23:15 UTC 2011


After having reviewed this thread, there are a few things I'd like to
highlight:

Language chooser
----------------
As regards the language chooser on the login screen, it basically serves
two purposes:

1. For users who change display language once in a while - for whatever
   reason - it provides a more convenient way for doing so than doing it
   from the Language Support UI or its successor. There is a fresh bug
   report about it, btw: https://launchpad.net/bugs/803858

2. It gives the user of a newly created account an instant possibility,
   before first login, to set some other display language than the one
   that was inherited from the system language.

In Oneiric the UI for adding a user will include a possibility for admin
to select the initial user language, which feature might be considered
to replace purpose #2, but not purpose #1. I for one think that purpose
#1 justifies that Ubuntu keeps providing a language chooser on the login
screen.

Shared scripts
--------------
A couple of entries in this thread have hold a perceived complexity of
the code against a language chooser on the login screen. I agree that
the code for handling certain language related bits and pieces is
currently not very well organized. To avoid duplication and facilitate
maintenance, I think that a few shared scripts should be written that
can be be called from any package - at system installation, at user
creation, from the dm, from Language Support, and even when launching a
guest session. The package containing those scripts should be a
dependency of the packages from which one or more of the scripts are
called. It could be language-selector or a new separate package.

I think this refactoring should be done irrespective of the conclusion
with respect to the language chooser. The shared scripts would probably
also facilitate the move from the Language Support UI to the applicable
GNOME UI.

Storing of language settings
----------------------------
As an input to the suggested code refactoring, I believe it's
appropriate to talk about where the user language settings are stored.
The primary place in Natty is /var/cache/gdm/$USER/dmrc, which file both
GDM and language-selector read from and write to. language-selector also
writes to ~/.profile, but as long as GDM is the dm, the language
settings in ~/.profile are ignored.

One advantage with using /var/cache/gdm/$USER/dmrc in this way is that
the user language is dealt with correctly even if $HOME is not
available, e.g. because it's stored on a separate device that is not
mounted or because it's encrypted.

-- 
Gunnar Hjalmarsson
https://launchpad.net/~gunnarhj



More information about the ubuntu-desktop mailing list