menu.xml and setup.xml are now translatable
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Fri, 18 Nov 2005 04:52:18 +0000 (04:52 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Fri, 18 Nov 2005 04:52:18 +0000 (04:52 +0000)
the .po-generation is really bad Makefile-code

lib/python/Screens/Menu.py
lib/python/Screens/Setup.py
po/Makefile
po/de.po
po/xml2po.py

index 9eefddf71e75f5d039b67a3ff39f1f17f9ad3d91..7554d814b73d7cc2eee53416e1e78d46395dc47f 100644 (file)
@@ -87,14 +87,14 @@ class Menu(Screen):
                self.session.open(Setup, dialog)
 
        def addMenu(self, destList, node):
-               MenuTitle = getValbyAttr(node, "text")
+               MenuTitle = _(getValbyAttr(node, "text"))
                if MenuTitle != "":                                                                                                                                     #check for title
                        a = boundFunction(self.session.open, Menu, node, node.childNodes)
                        #TODO add check if !empty(node.childNodes)
                        destList.append((MenuTitle, a))
                
        def addItem(self, destList, node):
-               ItemText = getValbyAttr(node, "text")
+               ItemText = _(getValbyAttr(node, "text"))
                if ItemText != "":                                                                                                                                      #check for name
                        for x in node.childNodes:
                                if x.nodeType != xml.dom.minidom.Element.nodeType:
@@ -147,7 +147,7 @@ class Menu(Screen):
                
                a = getValbyAttr(parent, "title")
                if a == "":                                                                                                             #if empty use name
-                       a = getValbyAttr(parent, "text")
+                       a = _(getValbyAttr(parent, "text"))
                self["title"] = Header(a)
 
 class MainMenu(Menu):
index c6df96a1998c91b71210d1869d0bdc31a7b29ad4..b47418d825c9eadd9e52311e34161ee7628ba1f6 100644 (file)
@@ -38,7 +38,7 @@ class Setup(Screen):
                        if x.nodeType != xml.dom.minidom.Element.nodeType:
                                continue
                        elif x.tagName == 'item':
-                               ItemText = getValbyAttr(x, "text")
+                               ItemText = _(getValbyAttr(x, "text"))
                                b = eval(XMLTools.mergeText(x.childNodes));
                                print "item " + ItemText + " " + b.configPath
                                if b == "":
index 84bf78eee77adabb0fb8ea801ab7821ab9d892df..df5f303ee35d0db19d692f839e5af568739fc3de 100644 (file)
@@ -16,8 +16,11 @@ default: enigma2.pot $(LANGPO) merge $(LANGMO)
        cp en.mo en/LC_MESSAGES/enigma2.mo
 
 merge:
-       msgmerge -N -U enigma2.pot menu.pot
-       msgmerge -N -U enigma2.pot setup.pot
+#      msgmerge -N -U enigma2.pot menu.pot
+#      msgmerge -N -U enigma2.pot setup.pot
+       msguniq -o enigma2uniq.pot enigma2.pot
+       rm enigma2.pot
+       mv enigma2uniq.pot enigma2.pot
        msgmerge -N -U de.po enigma2.pot
 
 enigma2.pot:
@@ -35,8 +38,7 @@ enigma2.pot:
                        ../lib/python/Components/Language.py \
                        ../lib/python/Components/EventInfo.py \
                        ../lib/python/Components/Network.py 
-       ./xml2po.py     ../data/menu.xml >> menu.pot
-       ./xml2po.py     ../data/setup.xml >> setup.pot
+       ./xml2po.py     ../data/ >> enigma2.pot
 
 
 %.mo: %.po
index c8a506026167afe3986a832e9e007ba15cf6f966..6bf6529078cd04cc7734d4a4bb2a107fff257569 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: tuxbox-enigma 0.0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-11-18 04:59+0100\n"
+"POT-Creation-Date: 2005-11-18 05:48+0100\n"
 "PO-Revision-Date: 2005-11-17 20:53+0100\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -16,293 +16,425 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: ../data/setup.xml
-msgid "Invert"
-msgstr "Intervieren"
+#: ../lib/python/Screens/EventView.py:58
+#, python-format
+msgid "%d min"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "Hide error windows"
-msgstr "Fehlerfenster verstecken"
+#: ../lib/python/Screens/About.py:25
+#, python-format
+msgid "%s (%s, %d MB free)"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "Delay"
-msgstr "Verzoegerung"
+#: ../lib/python/Screens/TimerEdit.py:25
+msgid "Add"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "WSS"
+#: ../lib/python/Screens/HarddiskSetup.py:30
+msgid "Bus: "
 msgstr ""
 
-#: ../data/setup.xml
-msgid "use power delta"
+#: ../lib/python/Screens/HarddiskSetup.py:29
+msgid "Capacity: "
 msgstr ""
 
-#: ../data/setup.xml
-msgid "Latitude"
-msgstr "Breitengrad"
+#: ../lib/python/Components/SetupDevices.py:21
+msgid "Classic"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "Setup Lock"
-msgstr "Setup Sperre"
+#: ../lib/python/Screens/Satconfig.py:30 ../lib/python/Screens/Satconfig.py:48
+#: ../lib/python/Screens/Satconfig.py:57 ../data/
+msgid "Configmode"
+msgstr "Konfigurationsmodus"
 
-#: ../data/setup.xml
-msgid "Soundcarrier"
+#: ../lib/python/Components/SetupDevices.py:21
+msgid "Default"
 msgstr ""
 
-#: ../data/setup.xml
-msgid "Color Format"
-msgstr "Farbformat"
+#: ../lib/python/Screens/TimerEdit.py:24
+msgid "Delete"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "Channel"
-msgstr "Kanal"
+#: ../lib/python/Screens/About.py:22
+msgid "Detected HDD:"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "Repeat"
-msgstr "Wiederholung"
+#: ../lib/python/Screens/About.py:14
+msgid "Detected NIMs:"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "Language"
-msgstr "Sprache"
+#: ../lib/python/Components/SetupDevices.py:38
+#: ../lib/python/Components/SetupDevices.py:39
+#: ../lib/python/Components/SetupDevices.py:43
+#: ../lib/python/Components/SetupDevices.py:44
+#: ../lib/python/Components/SetupDevices.py:45
+#: ../lib/python/Components/SetupDevices.py:46
+#: ../lib/python/Components/SetupDevices.py:47
+msgid "Disable"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "Keyboard Map"
-msgstr "Tastaturlayout"
+#: ../lib/python/Screens/Satconfig.py:33 ../lib/python/Screens/Satconfig.py:46
+msgid "Diseqcmode"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "TV System"
-msgstr "Fernsehnorm"
+#: ../lib/python/Components/SetupDevices.py:38
+#: ../lib/python/Components/SetupDevices.py:39
+#: ../lib/python/Components/SetupDevices.py:43
+#: ../lib/python/Components/SetupDevices.py:44
+#: ../lib/python/Components/SetupDevices.py:45
+#: ../lib/python/Components/SetupDevices.py:46
+#: ../lib/python/Components/SetupDevices.py:47
+msgid "Enable"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "Show Satposition"
-msgstr "Zeige Satposition"
+#: ../lib/python/Components/SetupDevices.py:24
+#: ../lib/python/Components/Language.py:9
+msgid "English"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "Aspect Ratio"
-msgstr "Breitenverhältnis"
+#: ../lib/python/Screens/ScanSetup.py:76
+msgid "Frequency"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "DiSEqC"
+#: ../lib/python/Screens/NetworkSetup.py:44 ../data/
+msgid "Gateway"
 msgstr ""
 
-#: ../data/setup.xml
-msgid "Netmask"
-msgstr "Netzmaske"
+#: ../lib/python/Components/SetupDevices.py:24
+#: ../lib/python/Components/Language.py:10
+msgid "German"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "Contrast"
-msgstr "Kontrast"
+#: ../lib/python/Screens/NetworkSetup.py:42 ../data/
+msgid "IP Address"
+msgstr "IP Adresse"
 
-#: ../data/setup.xml
-msgid "Alpha"
+#: ../lib/python/Screens/HarddiskSetup.py:31
+msgid "Initialize"
 msgstr ""
 
-#: ../data/setup.xml
-msgid "Parental Lock"
-msgstr "Jugendschutz"
+#: ../lib/python/Screens/HarddiskSetup.py:18
+msgid "Initializing Harddisk..."
+msgstr ""
 
-#: ../data/setup.xml
-msgid "AC3 default"
+#: ../lib/python/Screens/ScanSetup.py:77
+msgid "Inversion"
 msgstr ""
 
-#: ../data/setup.xml
-msgid "Sound"
-msgstr "Ton"
+#: ../lib/python/Screens/Satconfig.py:24 ../data/
+msgid "Latitude"
+msgstr "Breitengrad"
 
-#: ../data/setup.xml
-msgid "Fast zapping"
-msgstr "Schnelles Umschalten"
+#: ../lib/python/Screens/Satconfig.py:23 ../data/
+msgid "Longitude"
+msgstr "Laengengrad"
 
-#: ../data/setup.xml
-msgid "Modulator"
+#: ../lib/python/Screens/HarddiskSetup.py:28
+msgid "Model: "
 msgstr ""
 
-#: ../data/setup.xml
-msgid "Brightness"
-msgstr "Helligkeit"
+#: ../lib/python/Screens/NetworkSetup.py:45 ../data/
+msgid "Nameserver"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "Standby"
+#: ../lib/python/Screens/NetworkSetup.py:43 ../data/
+msgid "Netmask"
+msgstr "Netzmaske"
+
+#: ../lib/python/Screens/Satconfig.py:15
+msgid "Port A"
 msgstr ""
 
-#: ../data/setup.xml
-msgid "Finetune"
-msgstr "Feineinstellung"
+#: ../lib/python/Screens/Satconfig.py:18
+msgid "Port B"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "Activate network settings"
-msgstr "Aktiviere Netzwerkeinstellungen"
+#: ../lib/python/Screens/Satconfig.py:20
+msgid "Port C"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "Longitude"
-msgstr "Laengengrad"
+#: ../lib/python/Screens/Satconfig.py:21
+msgid "Port D"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "Configmode"
-msgstr "Konfigurationsmodus"
+#: ../lib/python/Screens/ScanSetup.py:75 ../lib/python/Screens/Satconfig.py:13
+msgid "Satellite"
+msgstr ""
+
+#: ../lib/python/Screens/InfoBar.py:72
+msgid "Stop playing this movie?"
+msgstr ""
 
-#: ../data/setup.xml
+#: ../lib/python/Screens/ScanSetup.py:78
+msgid "Symbolrate"
+msgstr ""
+
+#: ../lib/python/Screens/NetworkSetup.py:40
+#: ../lib/python/Screens/NetworkSetup.py:52 ../data/
 msgid "Use DHCP"
 msgstr "Adresse automatisch beziehen (DHCP)"
 
-#: ../data/setup.xml
-msgid "Keymap"
+#: ../lib/python/Components/Network.py:134
+msgid "no"
 msgstr ""
 
-#: ../data/setup.xml
-msgid "Testmode"
+#: ../lib/python/Screens/HarddiskSetup.py:57
+msgid "no HDD found"
 msgstr ""
 
-#: ../data/setup.xml
-msgid "Tuner-Slot"
+#: ../lib/python/Screens/About.py:27
+msgid "none"
 msgstr ""
 
-#: ../data/setup.xml
-msgid "Nameserver"
+#: ../lib/python/Screens/EventView.py:43
+msgid "unknown service"
 msgstr ""
 
-#: ../data/setup.xml
-msgid "VCR Switch"
+#: ../lib/python/Screens/Ci.py:39
+msgid "waiting for CI..."
 msgstr ""
 
-#: ../data/setup.xml
-msgid "IP Address"
-msgstr "IP Adresse"
+#: ../lib/python/Components/EventInfo.py:43
+msgid "waiting for event data..."
+msgstr ""
 
-#: ../data/setup.xml
-msgid "Skip confirmations"
+#: ../lib/python/Components/Network.py:15
+#: ../lib/python/Components/Network.py:134
+msgid "yes"
 msgstr ""
 
-#: ../data/setup.xml
-msgid "Timezone"
-msgstr "Zeitzone"
+#: ../data/
+msgid "Information"
+msgstr ""
 
-#: ../data/setup.xml
-msgid "Record Splitsize"
+#: ../data/
+msgid "Network"
 msgstr ""
 
-#: ../data/setup.xml
-msgid "Gateway"
+#: ../data/
+msgid "Service"
 msgstr ""
 
-#: ../data/setup.xml
-msgid "Auto show inforbar"
+#: ../data/
+msgid "Invert"
+msgstr "Intervieren"
+
+#: ../data/
+msgid "Games / Plugins"
 msgstr ""
 
-#~ msgid "%s (%s, %d MB free)"
-#~ msgstr "%s (%s, %d MB frei)"
+#: ../data/
+msgid "Hide error windows"
+msgstr "Fehlerfenster verstecken"
 
-#~ msgid "Bus: "
-#~ msgstr "Personennahverkehr: "
+#: ../data/
+msgid "Delay"
+msgstr "Verzoegerung"
 
-#~ msgid "Capacity: "
-#~ msgstr "Kapazitaet: "
+#: ../data/
+msgid "WSS"
+msgstr ""
 
-#~ msgid "Classic"
-#~ msgstr "klassisch"
+#: ../data/
+msgid "use power delta"
+msgstr ""
 
-#~ msgid "Default"
-#~ msgstr "Standard"
+#: ../data/
+msgid "Language"
+msgstr "Sprache"
 
-#, fuzzy
-#~ msgid "Delete"
-#~ msgstr "Standard"
+#: ../data/
+msgid "Setup Lock"
+msgstr "Setup Sperre"
 
-#~ msgid "Detected HDD:"
-#~ msgstr "Erkannte Festplatten:"
+#: ../data/
+msgid "Soundcarrier"
+msgstr ""
 
-#~ msgid "Detected NIMs:"
-#~ msgstr "Erkannte Tuner:"
+#: ../data/
+msgid "Aspect Ratio"
+msgstr "Breitenverhaeltnis"
 
-#~ msgid "Disable"
-#~ msgstr "Aus"
+#: ../data/
+msgid "Manual Scan"
+msgstr ""
 
-#~ msgid "Diseqcmode"
-#~ msgstr "Diseqc-Modus"
+#: ../data/
+msgid "Contrast"
+msgstr "Kontrast"
 
-#~ msgid "Enable"
-#~ msgstr "Ein"
+#: ../data/
+msgid "Repeat"
+msgstr "Wiederholung"
 
-#~ msgid "English"
-#~ msgstr "Englisch"
+#: ../data/
+msgid "Finetune"
+msgstr "Feineinstellung"
 
-#~ msgid "Frequency"
-#~ msgstr "Frequenz"
+#: ../data/
+msgid "Expert"
+msgstr ""
 
-#~ msgid "German"
-#~ msgstr "Deutsch"
+#: ../data/
+msgid "Keyboard Map"
+msgstr "Tastaturlayout"
 
-#~ msgid "Initialize"
-#~ msgstr "Initialisiere"
+#: ../data/
+msgid "TV System"
+msgstr "Fernsehnorm"
 
-#~ msgid "Initializing Harddisk..."
-#~ msgstr "Initialisiere Festplatte..."
+#: ../data/
+msgid "Auto show inforbar"
+msgstr ""
 
-#~ msgid "Model: "
-#~ msgstr "Modell: "
+#: ../data/
+msgid "Show Satposition"
+msgstr "Zeige Satposition"
 
-#~ msgid "Satellite"
-#~ msgstr "Satellit"
+#: ../data/
+msgid "Mainmenu"
+msgstr "Hauptmenue"
 
-#~ msgid "no"
-#~ msgstr "nein"
+#: ../data/
+msgid "Standby / Restart"
+msgstr "Standby / Neustart"
 
-#~ msgid "no HDD found"
-#~ msgstr "keine Festplatte gefunden"
+#: ../data/
+msgid "Deep Standby"
+msgstr "Tiefschlaf"
 
-#~ msgid "unknown service"
-#~ msgstr "unbekannter Dienst"
+#: ../data/
+msgid "Channel"
+msgstr "Kanal"
 
-#~ msgid "waiting for CI..."
-#~ msgstr "warte auf das CI..."
+#: ../data/
+msgid "Alpha"
+msgstr ""
 
-#, fuzzy
-#~ msgid "waiting for event data..."
-#~ msgstr "warte auf Programmdaten..."
+#: ../data/
+msgid "OSD"
+msgstr ""
 
-#~ msgid "yes"
-#~ msgstr "ja"
+#: ../data/
+msgid "Restart"
+msgstr "Neustart"
 
-#~ msgid "Mainmenu"
-#~ msgstr "Hauptmenue"
+#: ../data/
+msgid "AC3 default"
+msgstr ""
 
-#~ msgid "Timer"
-#~ msgstr "Zeitgesteuerte Aufnamen"
+#: ../data/
+msgid "Sound"
+msgstr "Ton"
 
-#~ msgid "About..."
-#~ msgstr "Ueber..."
+#: ../data/
+msgid "Fast zapping"
+msgstr "Schnelles Umschalten"
 
-#~ msgid "Games / Plugins"
-#~ msgstr "Spiele / Erweiterungen"
+#: ../data/
+msgid "Modulator"
+msgstr ""
 
-#~ msgid "Setup"
-#~ msgstr "Einstellungen"
+#: ../data/
+msgid "Brightness"
+msgstr "Helligkeit"
 
-#~ msgid "Service Searching"
-#~ msgstr "Kanalsuche"
+#: ../data/
+msgid "Standby"
+msgstr ""
 
-#~ msgid "Satelliteconfig"
-#~ msgstr "Satelliteneinstellungen"
+#: ../data/
+msgid "Setup"
+msgstr "Einstellungen"
 
-#~ msgid "Automatic Scan"
-#~ msgstr "Automatische Suche"
+#: ../data/
+msgid "Activate network settings"
+msgstr "Aktiviere Netzwerkeinstellungen"
 
-#~ msgid "Manual Scan"
-#~ msgstr "Manuelle Suche"
+#: ../data/
+msgid "Timer"
+msgstr ""
 
-#~ msgid "Harddisk"
-#~ msgstr "Festplatte"
+#: ../data/
+msgid "System"
+msgstr ""
 
-#~ msgid "Network"
-#~ msgstr "Netzwerk"
+#: ../data/
+msgid "Keymap"
+msgstr "Tastenlayout"
 
-#~ msgid "Expert"
-#~ msgstr "Experten"
+#: ../data/
+msgid "Video Audio"
+msgstr ""
 
-#~ msgid "Standby / Restart"
-#~ msgstr "Standby / Neustart"
+#: ../data/
+msgid "Automatic Scan"
+msgstr "Automatische Suche"
 
-#~ msgid "Restart"
-#~ msgstr "Neustart"
+#: ../data/
+msgid "Tuner-Slot"
+msgstr ""
+
+#: ../data/
+msgid "UHF Modulator"
+msgstr ""
+
+#: ../data/
+msgid "Color Format"
+msgstr "Farbformat"
+
+#: ../data/
+msgid "DiSEqC"
+msgstr ""
+
+#: ../data/
+msgid "Service Searching"
+msgstr "Kanalsuche"
+
+#: ../data/
+msgid ".oO Movie Player Oo."
+msgstr ""
 
-#~ msgid "Deep Standby"
-#~ msgstr "Tiefschlaf"
+#: ../data/
+msgid "Harddisk"
+msgstr "Festplatte"
+
+#: ../data/
+msgid "VCR Switch"
+msgstr ""
+
+#: ../data/
+msgid "Satelliteconfig"
+msgstr "Setelliteneinstellungen"
+
+#: ../data/
+msgid "Parental Lock"
+msgstr "Jugendschutz"
+
+#: ../data/
+msgid "LCD"
+msgstr ""
+
+#: ../data/
+msgid "Skip confirmations"
+msgstr ""
+
+#: ../data/
+msgid "Timezone"
+msgstr "Zeitzone"
+
+#: ../data/
+msgid "About..."
+msgstr "Ueber"
+
+#: ../data/
+msgid "Record Splitsize"
+msgstr ""
+
+#: ../data/
+msgid "Common Interface"
+msgstr ""
+
+#: ../data/
+msgid "Testmode"
+msgstr ""
index 3fef7f82cf617f42595260aae60127070a1dda73..382f2d894d42fb058ede318d7e2a3a48f1e9c582 100755 (executable)
@@ -1,5 +1,6 @@
 #!/usr/bin/python
 import sys
+import os
 from xml.sax import make_parser
 from xml.sax.handler import ContentHandler
 
@@ -12,14 +13,19 @@ class parseXML(ContentHandler):
                if (attrs.has_key('text')):
                        attrlist[attrs.get('text', "")] = "foo"
 
-sys.argv[1]
-
 parser = make_parser()
 
 attrlist = {}          
+
 contentHandler = parseXML(attrlist)
 parser.setContentHandler(contentHandler)
-parser.parse(sys.argv[1])
+
+dir = os.listdir(sys.argv[1])
+for x in dir:
+       if (str(x[-4:]) == ".xml"):
+               parser.parse(sys.argv[1] + str(x))
+
+#parser.parse(sys.argv[1])
 
 for k, v in attrlist.items():
        print