diff options
Diffstat (limited to 'setup')
-rw-r--r-- | setup/main.py | 17 |
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() |