- populate language list using list of available locales in /usr/share/i18n/SUPPORTED
- DONE.
- supply parameter as 'en' (or smth else suitable for locale generation -
investigate) to locale-gen - DONE.
- Language list should contain language's own name (e. g. 'Русский' for 'Russian')
instead of current 2-letter code - DONE.
- translate language widget too (move lang choice handler from button_clicked to
list_choice)
- Move locale-gen interaction to greeter from widget - DONE.
- cleanup commented\old\dead code - DONE.
- obtain list of kb layouts available (via python-xklavier)
- use existing code/UI from d-i/anaconda/ubuntu installer/ for language chooser if
possible - partially done (PyICU utilized).
- apply correct layout after it's been chosen (both to present and following greeter
widgets and to actual session)
## Problems:
- Some of the 'native' language names are not displayed correctly due to missing
characters in the fonts (standard unicode squares shown instead). It's unclear how to
filter them out because there are no actual errors shown in python.
- The language list is fairly long: maybe some of the exotic languages could be
filtered or black-listed before list population?
- It's yet unclear how to pass information to the session initiated by gdm:
especially how to set env. variable and apply language & layout settings - probably
there are some dbus hooks available.
- xklavier and ICU seems like the right way to work with language and layout data but
there is no obvious way to reuse code from installers (anaconda, d-i) directly.
## Near-future plans:
- Make widget for layout choice and populate it with data obtained via xklavier.
- Create version suitable for .iso build and test.
- Next week plans.
## Additional notes:
- Part of the code has been merged back to gdm-community-greeter project via special
branch.
- The issue with wrongly displayed language names might be related to legacy
(non-utf8) encodings. Right now there is no special treatment for those encodings.
It's unclear whether some support required in tails-greeter for that at all.
- The general 'id' for the locale looks like ru_RU (language-country code) - see 'man
localedef'. What's the acceptable id for layout is still unclear.