[hamster-applet] moved the i18n bits to i18n and fixed contexts not being localised propery (bug 623601)



commit fcaea46de44ceddf7672af188595b7bdd7e3e3cd
Author: Toms Bauģis <toms baugis gmail com>
Date:   Wed Jul 7 14:02:36 2010 +0100

    moved the i18n bits to i18n and fixed contexts not being localised propery (bug 623601)

 src/hamster-applet     |    4 ++--
 src/hamster-client     |    4 ++--
 src/hamster-service    |    4 ++--
 src/hamster-standalone |    4 ++--
 src/hamster/i18n.py    |   32 +++++++++++++++++++++++++++++++-
 src/hamster/stuff.py   |   31 +------------------------------
 6 files changed, 40 insertions(+), 39 deletions(-)
---
diff --git a/src/hamster-applet b/src/hamster-applet
index 5071aee..86e053b 100755
--- a/src/hamster-applet
+++ b/src/hamster-applet
@@ -90,8 +90,8 @@ if __name__ == "__main__":
                             format = log_format)
 
     try:
-        from hamster import stuff
-        stuff.setup_i18n()
+        from hamster import i18n
+        i18n.setup_i18n()
 
         from hamster.configuration import runtime, dialogs
 
diff --git a/src/hamster-client b/src/hamster-client
index e8dafa8..0c9f368 100755
--- a/src/hamster-client
+++ b/src/hamster-client
@@ -211,8 +211,8 @@ def fact_dict(fact_data, with_date):
 
 
 if __name__ == '__main__':
-    from hamster import stuff
-    stuff.setup_i18n()
+    from hamster import i18n
+    i18n.setup_i18n()
 
     usage = _(
 """Client for controlling the hamster-applet. Usage:
diff --git a/src/hamster-service b/src/hamster-service
index a0507d2..93f63d8 100755
--- a/src/hamster-service
+++ b/src/hamster-service
@@ -13,8 +13,8 @@ if "org.gnome.Hamster" in dbus.SessionBus().list_names():
 
 
 if __name__ == '__main__':
-    from hamster import stuff
-    stuff.setup_i18n()
+    from hamster import i18n
+    i18n.setup_i18n()
 
     from hamster import db
     print "hamster-service up"
diff --git a/src/hamster-standalone b/src/hamster-standalone
index ebe0ad9..ec31ebc 100755
--- a/src/hamster-standalone
+++ b/src/hamster-standalone
@@ -466,8 +466,8 @@ class ProjectHamster(object):
         gtk.main_quit()
 
 if __name__ == "__main__":
-    from hamster import stuff
-    stuff.setup_i18n()
+    from hamster import i18n
+    i18n.setup_i18n()
 
     gtk.gdk.threads_init()
     app = ProjectHamster()
diff --git a/src/hamster/i18n.py b/src/hamster/i18n.py
index 8055f25..88d2bc1 100644
--- a/src/hamster/i18n.py
+++ b/src/hamster/i18n.py
@@ -1,5 +1,35 @@
 # - coding: utf-8 -
-import gettext
+import os
+import locale, gettext
+
+
+def setup_i18n():
+    #determine location of po files
+    try:
+        import defs
+    except:
+        defs = None
+
+
+    # to avoid confusion, we won't translate unless running installed
+    # reason for that is that bindtextdomain is expecting
+    # localedir/language/LC_MESSAGES/domain.mo format, but we have
+    # localedir/language.mo at it's best (after build)
+    # and there does not seem to be any way to run straight from sources
+    if defs:
+        locale_dir = os.path.realpath(os.path.join(defs.DATA_DIR, "locale"))
+
+        for module in (locale,gettext):
+            module.bindtextdomain('hamster-applet', locale_dir)
+            module.textdomain('hamster-applet')
+
+            module.bind_textdomain_codeset('hamster-applet','utf8')
+
+        gettext.install("hamster-applet", locale_dir, unicode = True)
+
+    else:
+        gettext.install("hamster-applet-uninstalled")
+
 
 def C_(ctx, s):
     """Provide qualified translatable strings via context.
diff --git a/src/hamster/stuff.py b/src/hamster/stuff.py
index 2ff2d4a..be601b9 100644
--- a/src/hamster/stuff.py
+++ b/src/hamster/stuff.py
@@ -31,38 +31,9 @@ import datetime as dt
 import calendar
 import time
 import re
-import gettext, locale
+import locale
 import os
 
-def setup_i18n():
-    #determine location of po files
-    try:
-        import defs
-    except:
-        defs = None
-
-
-    # to avoid confusion, we won't translate unless running installed
-    # reason for that is that bindtextdomain is expecting
-    # localedir/language/LC_MESSAGES/domain.mo format, but we have
-    # localedir/language.mo at it's best (after build)
-    # and there does not seem to be any way to run straight from sources
-    if defs:
-        locale_dir = os.path.realpath(os.path.join(defs.DATA_DIR, "locale"))
-
-        for module in (locale,):
-            module.bindtextdomain('hamster-applet', locale_dir)
-            module.textdomain('hamster-applet')
-
-            module.bind_textdomain_codeset('hamster-applet','utf8')
-
-        gettext.install("hamster-applet", locale_dir, unicode = True)
-
-    else:
-        gettext.install("hamster-applet-uninstalled")
-
-
-
 def format_duration(minutes, human = True):
     """formats duration in a human readable format.
     accepts either minutes or timedelta"""



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]