1 from Screen import Screen
3 from Components.MenuList import MenuList
4 from Components.ActionMap import ActionMap
5 from Components.Language import language
6 from Components.LanguageList import *
7 from Components.config import config
10 class LanguageSelection(Screen):
11 def __init__(self, session):
12 Screen.__init__(self, session)
14 self.oldActiveLanguage = language.getActiveLanguage()
17 self["list"] = LanguageList(self.list)
19 self.onLayoutFinish.append(self.selectActiveLanguage)
21 self["actions"] = ActionMap(["OkCancelActions", "DirectionActions"],
24 "cancel": self.cancel,
31 def selectActiveLanguage(self):
32 activeLanguage = language.getActiveLanguage()
35 if x[0] == activeLanguage:
36 self["list"].instance.moveSelectionTo(pos)
45 language.activateLanguage(self.oldActiveLanguage)
49 language.activateLanguage(self["list"].l.getCurrentSelection()[0])
50 config.osd.language.value = self["list"].l.getCurrentSelection()[0]
51 config.osd.language.save()
52 config.misc.languageselected.value = 0
53 config.misc.languageselected.save()
54 self.setTitle(_("Language selection"))
58 if len(language.getLanguageList()) == 0: # no language available => display only english
59 self.list.append(LanguageEntryComponent("en", _("English"), "en_EN"))
61 for x in language.getLanguageList():
62 self.list.append(LanguageEntryComponent(file = x[1][3].lower(), name = _(x[1][0]), index = x[0]))
63 #self.list.sort(key=lambda x: x[1][7])
64 self["list"].l.setList(self.list)
67 self["list"].instance.moveSelection(self["list"].instance.moveUp)
72 self["list"].instance.moveSelection(self["list"].instance.moveDown)
77 self["list"].instance.moveSelection(self["list"].instance.pageUp)
82 self["list"].instance.moveSelection(self["list"].instance.pageDown)