diff options
author | Peng Wu <alexepico@gmail.com> | 2017-01-23 11:11:19 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2017-01-23 11:11:19 +0800 |
commit | bf96b1c975603cbe80984a5c90d1a390cf331dae (patch) | |
tree | 5717c19358222a7f013b22b79a43b54bdda2a2c9 /setup/main.py | |
parent | 5de888925894daf8cbd545f8842c84665a9686df (diff) | |
download | ibus-libzhuyin-bf96b1c975603cbe80984a5c90d1a390cf331dae.tar.gz ibus-libzhuyin-bf96b1c975603cbe80984a5c90d1a390cf331dae.tar.xz ibus-libzhuyin-bf96b1c975603cbe80984a5c90d1a390cf331dae.zip |
update main.py for locale and gettext
Diffstat (limited to 'setup/main.py')
-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() |