use translations
authorChristian Weiske <cweiske@cweiske.de>
Fri, 18 Nov 2011 21:29:18 +0000 (22:29 +0100)
committerChristian Weiske <cweiske@cweiske.de>
Fri, 18 Nov 2011 21:29:18 +0000 (22:29 +0100)
src/CurlyTx.py
src/CurlyTxSettings.py
src/__init__.py

index 5e58e72f3747b9803ca6d68c23b10ab1ca3ffd28..e37c32cd22184d1e43f5da8943860c2e10cffeec 100644 (file)
@@ -1,3 +1,5 @@
+from . import _
+
 from Screens.Screen import Screen
 from Screens.HelpMenu import HelpableScreen
 from Screens.MessageBox import MessageBox
index 59d7b3a44acdbd90984c8672d98f737a10ff34e4..1534ce47836dffa24cf6473a32db77ceb066c768 100644 (file)
@@ -1,3 +1,5 @@
+from . import _
+
 from Screens.Screen import Screen
 from Screens.HelpMenu import HelpableScreen
 from Components.ActionMap import ActionMap, NumberActionMap
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..61a1219d7abd7cb01f028115a419ca0866bc86a3 100644 (file)
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+from Components.Language import language
+from Tools.Directories import resolveFilename, SCOPE_PLUGINS, SCOPE_LANGUAGE
+from os import environ as os_environ
+import 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!
+    print resolveFilename(SCOPE_PLUGINS, "Extensions/CurlyTx/locale")
+    gettext.bindtextdomain("CurlyTx", resolveFilename(SCOPE_PLUGINS, "Extensions/CurlyTx/locale"))
+
+def _(txt):
+    t = gettext.dgettext("CurlyTx", txt)
+    if t == txt:
+        #print "[CurlyTx] fallback to default translation for", txt
+        t = gettext.gettext(txt)
+    return t
+
+localeInit()
+language.addCallback(localeInit)