--- /dev/null
+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
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
from config import configSelection
from config import configText
from Components.Timezones import timezones
+from Components.Language import language
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") );
self.list.append(getConfigListEntry("Use DHCP", config.network.dhcp))
if (config.network.dhcp.value == 0):
- self.list.append(getConfigListEntry("IP Address", config.network.ip))
- self.list.append(getConfigListEntry("Netmask", config.network.netmask))
- self.list.append(getConfigListEntry("Gateway", config.network.gateway))
- self.list.append(getConfigListEntry("Nameserver", config.network.dns))
+ self.list.append(getConfigListEntry(_('IP Address'), config.network.ip))
+ self.list.append(getConfigListEntry(_('Netmask'), config.network.netmask))
+ self.list.append(getConfigListEntry(_('Gateway'), config.network.gateway))
+ self.list.append(getConfigListEntry(_('Nameserver'), config.network.dns))
self["config"].list = self.list
self["config"].l.setList(self.list)
class NimSetup(Screen):
def createSimpleSetup(self, nim, list, mode):
if mode == 0: #single Sat
- list.append(getConfigListEntry("Satellite", config.Nims[nim.slotid].diseqcA))
+ list.append(getConfigListEntry(_("Satellite"), config.Nims[nim.slotid].diseqcA))
else: # > 1 Sats
- list.append(getConfigListEntry("Port A", config.Nims[nim.slotid].diseqcA))
+ list.append(getConfigListEntry(_("Port A"), config.Nims[nim.slotid].diseqcA))
if mode >= 1: # > 1 Sats
- list.append(getConfigListEntry("Port B", config.Nims[nim.slotid].diseqcB))
+ list.append(getConfigListEntry(_("Port B"), config.Nims[nim.slotid].diseqcB))
if mode >= 3: # > 2 Sats
- list.append(getConfigListEntry("Port C", config.Nims[nim.slotid].diseqcC))
- list.append(getConfigListEntry("Port D", config.Nims[nim.slotid].diseqcD))
+ list.append(getConfigListEntry(_("Port C"), config.Nims[nim.slotid].diseqcC))
+ list.append(getConfigListEntry(_("Port D"), config.Nims[nim.slotid].diseqcD))
def createPositionerSetup(self, nim, list):
- list.append(getConfigListEntry("Longitude", config.Nims[nim.slotid].longitude))
- list.append(getConfigListEntry("Latitude", config.Nims[nim.slotid].latitude))
+ list.append(getConfigListEntry(_("Longitude"), config.Nims[nim.slotid].longitude))
+ list.append(getConfigListEntry(_("Latitude"), config.Nims[nim.slotid].latitude))
pass
def createSetup(self):
self.list = [ ]
- self.list.append(getConfigListEntry("Configmode", config.Nims[self.nim.slotid].configMode))
+ self.list.append(getConfigListEntry(_("Configmode"), config.Nims[self.nim.slotid].configMode))
if config.Nims[self.nim.slotid].configMode.value == 0: #simple setup
- self.list.append(getConfigListEntry("Diseqcmode", config.Nims[self.nim.slotid].diseqcMode))
+ self.list.append(getConfigListEntry(_("Diseqcmode"), config.Nims[self.nim.slotid].diseqcMode))
if (0 <= config.Nims[self.nim.slotid].diseqcMode.value < 4):
self.createSimpleSetup(self.nim, self.list, config.Nims[self.nim.slotid].diseqcMode.value)
self["config"].l.setList(self.list)
def newConfig(self):
- if self["config"].getCurrent()[0] == "Diseqcmode":
+ if self["config"].getCurrent()[0] == _("Diseqcmode"):
self.createSetup()
- if self["config"].getCurrent()[0] == "Configmode":
+ if self["config"].getCurrent()[0] == _("Configmode"):
self.createSetup()
def keyLeft(self):
# single transponder scan
if (config.scan.type.value == 0):
if (nimmanager.getNimType(config.scan.nims.value) == nimmanager.nimType["DVB-S"]):
- self.list.append(getConfigListEntry("Satellite", config.scan.satselection[config.scan.nims.value]))
- self.list.append(getConfigListEntry("Frequency", config.scan.sat.frequency))
- self.list.append(getConfigListEntry("Inversion", config.scan.sat.inversion))
- self.list.append(getConfigListEntry("Symbolrate", config.scan.sat.symbolrate))
+ self.list.append(getConfigListEntry(_('Satellite'), config.scan.satselection[config.scan.nims.value]))
+ self.list.append(getConfigListEntry(_('Frequency'), config.scan.sat.frequency))
+ self.list.append(getConfigListEntry(_('Inversion'), config.scan.sat.inversion))
+ self.list.append(getConfigListEntry(_('Symbolrate'), config.scan.sat.symbolrate))
self.list.append(getConfigListEntry("Polarity", config.scan.sat.polarization))
self.list.append(getConfigListEntry("FEC", config.scan.sat.fec))
if (nimmanager.getNimType(config.scan.nims.value) == nimmanager.nimType["DVB-C"]):
from enigma import *
from tools import *
+from Components.Language import language
+
import traceback
import Screens.InfoBar