summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--setup/main.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/setup/main.py b/setup/main.py
index 68c7619..34f0e42 100644
--- a/setup/main.py
+++ b/setup/main.py
@@ -42,17 +42,30 @@ from gi.repository import IBus
import config
+DOMAINNAME = 'ibus-libzhuyin'
locale.setlocale(locale.LC_ALL, "")
localedir = os.getenv("IBUS_LOCALEDIR")
pkgdatadir = os.getenv("IBUS_PKGDATADIR") or "."
-gettext.install('ibus-libzhuyin', localedir)
+
+# Python's locale module doesn't provide all methods on some
+# operating systems like FreeBSD
+try:
+ locale.bindtextdomain(DOMAINNAME, localedir)
+ locale.bind_textdomain_codeset(DOMAINNAME, 'UTF-8')
+except AttributeError:
+ pass
+
+gettext.bindtextdomain(DOMAINNAME, localedir)
+gettext.bind_textdomain_codeset(DOMAINNAME, 'UTF-8')
+
+gettext.install(DOMAINNAME, localedir)
class PreferencesWindow:
def __init__(self, engine, parent=None):
self.__bus = IBus.Bus()
self.__config = self.__bus.get_config()
self.__builder = Gtk.Builder()
- self.__builder.set_translation_domain("ibus-libzhuyin")
+ self.__builder.set_translation_domain(DOMAINNAME)
self.__builder.add_from_file("ibus-libzhuyin-preferences.ui")
self.__window = self.__builder.get_object("window")
self.__init_pages()