summaryrefslogtreecommitdiff
path: root/portato/gui
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--portato/gui/windows/basic.py15
-rw-r--r--portato/gui/windows/gettext.pyx18
2 files changed, 10 insertions, 23 deletions
diff --git a/portato/gui/windows/basic.py b/portato/gui/windows/basic.py
index 46e345e..3cedd69 100644
--- a/portato/gui/windows/basic.py
+++ b/portato/gui/windows/basic.py
@@ -20,13 +20,18 @@ from functools import wraps
import os.path
from ...constants import TEMPLATE_DIR, APP, LOCALE_DIR
-from ...helper import error, debug
+from ...helper import error
# for the GtkBuilder to translate correctly :)
-from . import gettext
-old_charset = gettext.set_gtk_gettext(APP, LOCALE_DIR)
-debug("Changed from old charset '%s' to UTF-8.", old_charset)
-del old_charset
+import ctypes
+try:
+ getlib = ctypes.cdll.LoadLibrary("libgettextlib.so")
+except OSError:
+ error("'libgettextlib.so' cannot be loaded. Might be, that there are no translations available in the GUI.")
+else:
+ getlib.textdomain(APP)
+ getlib.bindtextdomain(APP, LOCALE_DIR)
+ getlib.bind_textdomain_codeset(APP, "UTF-8")
class WrappedTree (object):
__slots__ = ("klass", "tree", "get_widget", "get_ui")
diff --git a/portato/gui/windows/gettext.pyx b/portato/gui/windows/gettext.pyx
deleted file mode 100644
index c8174e8..0000000
--- a/portato/gui/windows/gettext.pyx
+++ /dev/null
@@ -1,18 +0,0 @@
-cdef extern from "langinfo.h":
- char* nl_langinfo (int item)
- cdef enum:
- CODESET
-
-cdef extern from "libintl.h":
- char * textdomain (char* domain)
- char * bindtextdomain (char* domain, char* dir)
- char * bind_textdomain_codeset (char* domain, char* codeset)
-
-def set_gtk_gettext (char* domain, char* dir):
- textdomain(domain)
- bindtextdomain(domain, dir)
-
- old_charset = nl_langinfo(CODESET)
- bind_textdomain_codeset(domain, "UTF-8")
-
- return old_charset