Merge pull request #281 from CanonicalLtd/mwhudson/initial-language
have initial language match users choice in isolinux screen
This commit is contained in:
commit
1e1e710a7d
|
@ -15,6 +15,7 @@
|
|||
|
||||
import gettext
|
||||
import logging
|
||||
import os
|
||||
from subiquitycore import i18n
|
||||
|
||||
log = logging.getLogger('subiquity.models.locale')
|
||||
|
@ -25,9 +26,6 @@ class LocaleModel(object):
|
|||
XXX Only represents *language* selection for now.
|
||||
"""
|
||||
|
||||
def __init__(self, signal):
|
||||
self.signal = signal
|
||||
|
||||
supported_languages = [
|
||||
('en_US', 'English'),
|
||||
('ca_EN', 'Catalan'),
|
||||
|
@ -35,9 +33,17 @@ class LocaleModel(object):
|
|||
('lv_LV', 'Latvian'),
|
||||
('ru_RU', 'Russian'),
|
||||
]
|
||||
|
||||
selected_language = None
|
||||
|
||||
def __init__(self, signal):
|
||||
self.signal = signal
|
||||
lang = os.environ.get("LANG")
|
||||
if lang.endswith(".UTF-8"):
|
||||
lang = lang.rsplit('.', 1)[0]
|
||||
for code, name in self.supported_languages:
|
||||
if code == lang:
|
||||
self.switch_language(code)
|
||||
|
||||
def get_languages(self):
|
||||
languages = []
|
||||
for code, name in self.supported_languages:
|
||||
|
|
|
@ -42,10 +42,16 @@ class WelcomeView(BaseView):
|
|||
|
||||
def _build_model_inputs(self):
|
||||
sl = []
|
||||
for code, native in self.model.get_languages():
|
||||
current_index = None
|
||||
for i, (code, native) in enumerate(self.model.get_languages()):
|
||||
if code == self.model.selected_language:
|
||||
current_index = i
|
||||
sl.append(forward_btn(label=native, on_press=self.confirm, user_arg=code))
|
||||
|
||||
return SimpleList(sl)
|
||||
lb = SimpleList(sl)
|
||||
if current_index is not None:
|
||||
lb._w.focus_position = current_index
|
||||
return lb
|
||||
|
||||
def confirm(self, sender, code):
|
||||
self.model.switch_language(code)
|
||||
|
|
Loading…
Reference in New Issue