From c70d4282351bbe4cd09f07a246221e22652783a2 Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Sun, 11 Dec 2005 10:32:37 +0000 Subject: some language-work catch case of not available languages --- lib/python/Components/Language.py | 4 +++- lib/python/Screens/LanguageSelection.py | 9 +++++---- lib/python/Screens/Wizard.py | 4 ++-- lib/python/Tools/Directories.py | 3 +++ 4 files changed, 13 insertions(+), 7 deletions(-) (limited to 'lib/python') diff --git a/lib/python/Components/Language.py b/lib/python/Components/Language.py index bd188e58..0e7847a7 100644 --- a/lib/python/Components/Language.py +++ b/lib/python/Components/Language.py @@ -1,6 +1,8 @@ import gettext import os +from Tools.Directories import * + class Language: def __init__(self): gettext.install('enigma2', '/enigma2/po') @@ -11,7 +13,7 @@ class Language: def addLanguage(self, name, lang): try: - self.lang.append((_(name), gettext.translation('enigma2', '/enigma2/po', languages=[lang]), lang)) + self.lang.append((_(name), gettext.translation('enigma2', resolveFilename(SCOPE_LANGUAGE, ""), languages=[lang]), lang)) except: print "Language " + str(name) + " not found" diff --git a/lib/python/Screens/LanguageSelection.py b/lib/python/Screens/LanguageSelection.py index a51c067a..a53bb97e 100644 --- a/lib/python/Screens/LanguageSelection.py +++ b/lib/python/Screens/LanguageSelection.py @@ -12,10 +12,11 @@ class LanguageSelection(Screen): Screen.__init__(self, session) self.list = [] - list = language.getLanguageList() - for x in language.lang: - print x - self.list.append(LanguageEntryComponent(x[2], x[0])) + if len(language.lang) == 0: # no language available => display only english + self.list.append(LanguageEntryComponent("en", _("English"))) + else: + for x in language.lang: + self.list.append(LanguageEntryComponent(x[2], x[0])) self["list"] = LanguageList(self.list) diff --git a/lib/python/Screens/Wizard.py b/lib/python/Screens/Wizard.py index 97b07bfd..e4f69290 100644 --- a/lib/python/Screens/Wizard.py +++ b/lib/python/Screens/Wizard.py @@ -29,7 +29,7 @@ class Wizard(Screen, HelpableScreen): self.lastStep = int(attrs.get('number')) self.wizard[self.lastStep] = {"text": "", "list": [], "config": {"screen": None, "args": None, "type": "" }, "code": ""} elif (name == "text"): - self.wizard[self.lastStep]["text"] = str(attrs.get('value')) + self.wizard[self.lastStep]["text"] = _(str(attrs.get('value'))) elif (name == "listentry"): self.wizard[self.lastStep]["list"].append((str(attrs.get('caption')), str(attrs.get('step')))) elif (name == "config"): @@ -160,7 +160,7 @@ class Wizard(Screen, HelpableScreen): self["step"].setText(_("Step ") + str(self.currStep) + "/" + str(self.numSteps)) self["stepslider"].setValue(self.currStep) - self["text"].setText(self.wizard[self.currStep]["text"]) + self["text"].setText(_(self.wizard[self.currStep]["text"])) if self.wizard[self.currStep]["code"] != "": print self.wizard[self.currStep]["code"] diff --git a/lib/python/Tools/Directories.py b/lib/python/Tools/Directories.py index 187d3edf..a192298e 100644 --- a/lib/python/Tools/Directories.py +++ b/lib/python/Tools/Directories.py @@ -7,6 +7,7 @@ SCOPE_SKIN = 3 SCOPE_SKIN_IMAGE = 4 SCOPE_USERETC = 5 SCOPE_CONFIG = 6 +SCOPE_LANGUAGE = 7 PATH_CREATE = 0 PATH_DONTCREATE = 1 @@ -16,6 +17,8 @@ defaultPaths = { SCOPE_SYSETC: ("/etc/", PATH_DONTCREATE), SCOPE_FONTS: ("/usr/share/fonts/", PATH_DONTCREATE), SCOPE_CONFIG: ("/etc/enigma2/", PATH_CREATE), + + SCOPE_LANGUAGE: ("/usr/share/enigma2/po/", PATH_CREATE), SCOPE_SKIN: ("/usr/share/enigma2/", PATH_DONTCREATE), SCOPE_SKIN_IMAGE: ("/usr/share/enigma2/", PATH_DONTCREATE), -- cgit v1.2.3