translation support
authorAlex Lätsch <lexx911@users.schwerkraft.elitedvb.net>
Wed, 11 Jun 2008 17:27:08 +0000 (17:27 +0000)
committerAlex Lätsch <lexx911@users.schwerkraft.elitedvb.net>
Wed, 11 Jun 2008 17:27:08 +0000 (17:27 +0000)
vlcplayer/Makefile.am
vlcplayer/src/VlcMediaList.py
vlcplayer/src/VlcServerConfig.py
vlcplayer/src/VlcServerList.py
vlcplayer/src/__init__.py
vlcplayer/src/plugin.py

index 308a09c..dd6709f 100755 (executable)
@@ -1 +1 @@
-SUBDIRS = src\r
+SUBDIRS = src po
index 3cd5f95..7c6555c 100644 (file)
@@ -22,6 +22,7 @@ from pyexpat import ExpatError
 from VlcFileList import VlcFileList
 from VlcPlayList import VlcPlayList
 from VlcPlayer import VlcPlayer
+from VlcServerConfig import _
 
 
 class VlcMediaListScreen(Screen):
@@ -52,10 +53,10 @@ class VlcMediaListScreen(Screen):
                self.server = server
                self["filelist"] = VlcFileList(self.getFilesAndDirsCB, server.getBasedir(), self.defaultFilter)
                self["playlist"] = VlcPlayList(self.getPlaylistEntriesCB)
-               self["key_red"] = Button("filter off")
-               self["key_green"] = Button("refresh")
+               self["key_red"] = Button(_("filter off"))
+               self["key_green"] = Button(_("refresh"))
                self["key_yellow"] = Button("")
-               self["key_blue"] = Button("play DVD")
+               self["key_blue"] = Button(_("play DVD"))
                self["filelist_button_sel"] = Pixmap()
                self["playlist_button_sel"] = Pixmap()
                self["more_button_sel"] = Pixmap()
@@ -110,10 +111,10 @@ class VlcMediaListScreen(Screen):
        def keyFilter(self):
                if self["filelist"].regex is None:
                        self["filelist"].changeRegex(self.defaultFilter)
-                       self["key_red"].setText("filter off")
+                       self["key_red"].setText(_("filter off"))
                else:
                        self["filelist"].changeRegex(None)
-                       self["key_red"].setText("filter on")
+                       self["key_red"].setText(_("filter on"))
                try:
                        self.updateFilelist()
                except Exception, e:
@@ -209,7 +210,7 @@ class VlcMediaListScreen(Screen):
                self["playlist"].hide()
                self["playlist_button_sel"].hide()
                self.currentList = self["filelist"]
-               self["key_yellow"].setText("show playlist")
+               self["key_yellow"].setText(_("show playlist"))
 
        def switchToPlayList(self):
                self["filelist"].selectionEnabled(0)
@@ -219,4 +220,4 @@ class VlcMediaListScreen(Screen):
                self["playlist"].show()
                self["playlist_button_sel"].show()
                self.currentList = self["playlist"]
-               self["key_yellow"].setText("show filelist")
+               self["key_yellow"].setText(_("show filelist"))
index 5b6ea95..3deb072 100644 (file)
@@ -11,7 +11,6 @@
 
 
 from Screens.Screen import Screen
-from Screens.MessageBox import MessageBox
 from Components.config import config
 from Components.config import ConfigSubsection
 from Components.config import ConfigSubList
@@ -28,6 +27,15 @@ from Components.Button import Button
 
 from VlcServer import VlcServer
 
+import gettext
+
+def _(txt):
+       t = gettext.dgettext("VlcPlayer", txt)
+       if t == txt:
+               print "[VLC] fallback to default translation for", txt
+               t = gettext.gettext(txt)
+       return t
+
 
 class VlcPluginInfo():
        def __init__(self):
index 3e3c973..de3498f 100644 (file)
@@ -20,14 +20,10 @@ from Screens.MessageBox import MessageBox
 from Screens.Screen import Screen
 from Tools.LoadPixmap import LoadPixmap
 
-from VlcServer import VlcServer
 from VlcServerConfig import VlcServerConfig
 from VlcServerConfig import VlcServerConfigScreen
-from VlcFileList import VlcFileList
-from VlcPlayList import VlcPlayList
-from VlcPlayer import VlcPlayer
 from VlcMediaList import VlcMediaListScreen
-from VlcServerConfig import vlcPluginInfo
+from VlcServerConfig import vlcPluginInfo,_
 
 def VlcServerListEntry(vlcServer):
        res = [ vlcServer ]
@@ -82,11 +78,11 @@ class VlcServerListScreen(Screen):
                self.serverlist = VlcServerList()
                self.vlcServerConfig = VlcServerConfig()
 
-               self["currentdir"] = Label("List of known VLC-Server")
+               self["currentdir"] = Label(_("List of known VLC-Server"))
                self["serverlist"] = self.serverlist
-               self["key_red"] = Button("delete server")
-               self["key_green"] = Button("add server")
-               self["key_yellow"] = Button("edit server")
+               self["key_red"] = Button(_("delete server"))
+               self["key_green"] = Button(_("add server"))
+               self["key_yellow"] = Button(_("edit server"))
                self["key_blue"] = Button("")
 
                self["actions"] = ActionMap(["WizardActions", "MenuActions", "ShortcutActions", "MoviePlayerActions"],
@@ -122,7 +118,7 @@ class VlcServerListScreen(Screen):
        def keyDelete(self):
                self.session.openWithCallback(self.deleteCallback, MessageBox, _("Really delete this Server?"))
 
-       def deleteCallback(self, result, server):
+       def deleteCallback(self, result):
                if result:
                        self.vlcServerConfig.delete(self.serverlist.getSelection())
                        self.updateServerlist()
index 8cb4a64..580443f 100755 (executable)
@@ -8,3 +8,16 @@
 # Software Foundation; either version 2, or (at your option) any later
 # version.
 #===============================================================================
+
+from Components.Language import language
+from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_LANGUAGE
+import os,gettext
+
+def localeInit():
+       lang = language.getLanguage()[:2] # getLanguage returns e.g. "fi_FI" for "language_country"
+       os.environ["LANGUAGE"] = lang # Enigma doesn't set this (or LC_ALL, LC_MESSAGES, LANG). gettext needs it!
+       #gettext.bindtextdomain("enigma2", resolveFilename(SCOPE_LANGUAGE))
+       #gettext.textdomain("enigma2")
+       gettext.bindtextdomain("VlcPlayer", resolveFilename(SCOPE_PLUGINS, "Extensions/VlcPlayer/locale"))
+
+localeInit()
index 1bd2675..6c06f5d 100755 (executable)
@@ -16,14 +16,13 @@ from Tools.BoundFunction import boundFunction
 from VlcServerList import VlcServerListScreen
 from VlcServerConfig import vlcPluginInfo
 
-
 def main(session, **kwargs):
        vlcPluginInfo.pluginPath = kwargs["path"]
        session.open(VlcServerListScreen)
 
 
 def Plugins(**kwargs):
-       return PluginDescriptor(
+       return PluginDescriptor(
                name="VLC Video Player",
                description="VLC Video Player",
                where = [ PluginDescriptor.WHERE_EXTENSIONSMENU, PluginDescriptor.WHERE_PLUGINMENU ],