use translations
[enigma2-curlytx.git] / src / __init__.py
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)