Fix GtkBuilder bindtextdomain in ibus-setup.
authorfujiwarat <takao.fujiwara1@gmail.com>
Tue, 8 May 2012 01:44:36 +0000 (10:44 +0900)
committerfujiwarat <takao.fujiwara1@gmail.com>
Tue, 8 May 2012 01:44:36 +0000 (10:44 +0900)
The patch was provided by Akio Obata <obata at lins dot jp>

BUG=http://code.google.com/p/ibus/issues/detail?id=1453
TEST=Linux desktop

Review URL: https://codereview.appspot.com/6203045

ui/gtk2/i18n.py

index 98f60c4..41669b3 100644 (file)
@@ -20,6 +20,7 @@
 # Free Software Foundation, Inc., 59 Temple Place, Suite 330,
 # Boston, MA  02111-1307  USA
 
+import locale
 import gettext
 import os
 
@@ -30,5 +31,13 @@ N_ = lambda a: a
 
 def init():
     localedir = os.getenv("IBUS_LOCALEDIR")
+    # Python's locale module doesn't provide all methods on some
+    # operating systems like FreeBSD
+    try:
+        # for non-standard localedir
+        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")