aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-11-17 21:27:22 +0000
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-11-17 21:27:22 +0000
commitbb59fd202b257cce05684912216678d9872ff0cc (patch)
treed11bbb30084e1dda2c4fb3bde22daefa13f48ba5 /lib/python/Components
parentdb61b582764e79d2c0d1ea64fe54308494d13581 (diff)
downloadenigma2-bb59fd202b257cce05684912216678d9872ff0cc.tar.gz
enigma2-bb59fd202b257cce05684912216678d9872ff0cc.zip
some basic language support (already working a bit)
Diffstat (limited to 'lib/python/Components')
-rw-r--r--lib/python/Components/Language.py28
-rw-r--r--lib/python/Components/Makefile.am2
-rw-r--r--lib/python/Components/SetupDevices.py8
3 files changed, 36 insertions, 2 deletions
diff --git a/lib/python/Components/Language.py b/lib/python/Components/Language.py
new file mode 100644
index 00000000..8d966b68
--- /dev/null
+++ b/lib/python/Components/Language.py
@@ -0,0 +1,28 @@
+import gettext
+import os
+
+class Language:
+ def __init__(self):
+ gettext.install('enigma2', '/enigma2/po')
+ self.lang = []
+ # FIXME make list dynamically
+ self.addLanguage(_("English"), "en")
+ self.addLanguage(_("German"), "de")
+
+ def addLanguage(self, name, lang):
+ try:
+ self.lang.append((_(name), gettext.translation('enigma2', '/enigma2/po', languages=[lang])))
+ except:
+ print "Language " + str(name) + " not found"
+
+ def activateLanguage(self, index):
+ print "Activating language " + str(self.lang[index][0])
+ self.lang[index][1].install()
+
+ def getLanguageList(self):
+ list = []
+ for x in self.lang:
+ list.append(x[0])
+ return list
+
+language = Language() \ No newline at end of file
diff --git a/lib/python/Components/Makefile.am b/lib/python/Components/Makefile.am
index 0e1894aa..f49c7545 100644
--- a/lib/python/Components/Makefile.am
+++ b/lib/python/Components/Makefile.am
@@ -9,4 +9,4 @@ install_PYTHON = \
GUIComponent.py MenuList.py TextInput.py __init__.py MovieList.py \
InputDevice.py ServicePosition.py SetupDevices.py Harddisk.py \
AVSwitch.py Network.py RFmod.py DiskInfo.py NimManager.py Lcd.py \
- EpgList.py ScrollLabel.py Timezones.py
+ EpgList.py ScrollLabel.py Timezones.py Language.py
diff --git a/lib/python/Components/SetupDevices.py b/lib/python/Components/SetupDevices.py
index 612bb8c8..6ce8737b 100644
--- a/lib/python/Components/SetupDevices.py
+++ b/lib/python/Components/SetupDevices.py
@@ -6,6 +6,7 @@ from config import ConfigSlider
from config import configSelection
from config import configText
from Components.Timezones import timezones
+from Components.Language import language
def InitSetupDevices():
@@ -26,7 +27,12 @@ def InitSetupDevices():
config.osd.alpha = configElement("config.osd.alpha", ConfigSlider, 0, "");
config.osd.bright = configElement("config.osd.bright", ConfigSlider, 5, "");
config.osd.contrast = configElement("config.osd.contrast", ConfigSlider, 5, "");
- config.osd.language = configElement("config.osd.language", configSelection, 0, ("English", "English US") );
+
+ def languageNotifier(configElement):
+ language.activateLanguage(configElement.value)
+
+ config.osd.language = configElement("config.osd.language", configSelection, 0, language.getLanguageList() );
+ config.osd.language.addNotifier(languageNotifier)
config.parental = ConfigSubsection();
config.parental.lock = configElement("config.parental.lock", configSelection, 1, ("Enable", "Disable") );