Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Schampijer <simon@schampijer.de>2012-06-04 15:45:30 (GMT)
committer Simon Schampijer <simon@schampijer.de>2012-06-05 21:45:26 (GMT)
commit6330204e919a047c0b0f3579da36197630e8e400 (patch)
tree26d3779cabd1032c26627ae6f372b400346e3185
parentcd9a2b4501e114e9f51c396bce3186532e55c087 (diff)
Move the translation initialisation to an earlier stage, SL #3654
Must be done early, some activities set translations globally. Remove the support for the langpackdir. Signed-off-by: Simon Schampijer <simon@laptop.org>
-rw-r--r--bin/sugar-activity8
-rw-r--r--src/sugar3/activity/activity.py10
-rw-r--r--src/sugar3/activity/i18n.py7
3 files changed, 9 insertions, 16 deletions
diff --git a/bin/sugar-activity b/bin/sugar-activity
index 51ba6bf..5aef1ae 100644
--- a/bin/sugar-activity
+++ b/bin/sugar-activity
@@ -26,6 +26,8 @@ import dbus.service
import dbus.glib
from sugar3.activity import activityhandle
+from sugar3.activity import i18n
+import sugar3
from sugar3.bundle.activitybundle import ActivityBundle
from sugar3 import logger
@@ -97,6 +99,12 @@ def main():
os.environ['SUGAR_BUNDLE_NAME'] = bundle.get_name()
os.environ['SUGAR_BUNDLE_VERSION'] = str(bundle.get_activity_version())
+ # must be done early, some activities set translations globally, SL #3654
+ locale_path = i18n.get_locale_path(bundle.get_bundle_id())
+ gettext.bindtextdomain(bundle.get_bundle_id(), locale_path)
+ gettext.bindtextdomain('sugar-toolkit', sugar3.locale_path)
+ gettext.textdomain(bundle.get_bundle_id())
+
splitted_module = args[0].rsplit('.', 1)
module_name = splitted_module[0]
class_name = splitted_module[1]
diff --git a/src/sugar3/activity/activity.py b/src/sugar3/activity/activity.py
index 4dea554..8386c1e 100644
--- a/src/sugar3/activity/activity.py
+++ b/src/sugar3/activity/activity.py
@@ -73,10 +73,8 @@ from telepathy.interfaces import CHANNEL, \
from telepathy.constants import CONNECTION_HANDLE_TYPE_CONTACT
from telepathy.constants import CONNECTION_HANDLE_TYPE_ROOM
-import sugar3
from sugar3 import util
from sugar3.presence import presenceservice
-from sugar3.activity import i18n
from sugar3.activity.activityservice import ActivityService
from sugar3.graphics import style
from sugar3.graphics.window import Window
@@ -259,12 +257,6 @@ class Activity(Window, Gtk.Container):
"""
# Stuff that needs to be done early
-
- locale_path = i18n.get_locale_path(self.get_bundle_id())
- gettext.bindtextdomain(self.get_bundle_id(), locale_path)
- gettext.bindtextdomain('sugar-toolkit', sugar3.locale_path)
- gettext.textdomain(self.get_bundle_id())
-
icons_path = os.path.join(get_bundle_path(), 'icons')
Gtk.IconTheme.get_default().append_search_path(icons_path)
@@ -322,7 +314,7 @@ class Activity(Window, Gtk.Container):
self._session.connect('quit', self.__session_quit_cb)
accel_group = Gtk.AccelGroup()
- self.set_data('sugar-accel-group', accel_group)
+ self.sugar_accel_group = accel_group
self.add_accel_group(accel_group)
self._bus = ActivityService(self)
diff --git a/src/sugar3/activity/i18n.py b/src/sugar3/activity/i18n.py
index 92acb96..8b8e663 100644
--- a/src/sugar3/activity/i18n.py
+++ b/src/sugar3/activity/i18n.py
@@ -17,8 +17,6 @@
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
-from gi.repository import GConf
-
from gettext import gettext
import locale
import os
@@ -135,11 +133,6 @@ def get_locale_path(bundle_id):
if 'SUGAR_LOCALEDIR' in os.environ:
candidate_dirs[os.environ['SUGAR_LOCALEDIR']] = 2
- gconf_client = GConf.Client.get_default()
- package_dir = gconf_client.get_string('/desktop/sugar/i18n/langpackdir')
- if package_dir is not None and package_dir is not '':
- candidate_dirs[package_dir] = 1
-
candidate_dirs[os.path.join(sys.prefix, 'share', 'locale')] = 0
for candidate_dir in candidate_dirs.keys():