Turkesh Patel (openERP) has proposed merging 
lp:~openerp-dev/openerp-web/trunk-merge-translation-tpa into lp:openerp-web.

Requested reviews:
  Jigar Amin  (OpenERP) (jam-openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-merge-translation-tpa/+merge/114830

Improved code to load translation using translation web-service.
-- 
https://code.launchpad.net/~openerp-dev/openerp-web/trunk-merge-translation-tpa/+merge/114830
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openerp-web/trunk-merge-translation-tpa.
=== modified file 'addons/web/controllers/main.py'
--- addons/web/controllers/main.py	2012-07-09 13:45:16 +0000
+++ addons/web/controllers/main.py	2012-07-13 10:48:45 +0000
@@ -353,25 +353,28 @@
         langs = lang.split(separator)
         langs = [separator.join(langs[:x]) for x in range(1, len(langs) + 1)]
 
-        transs = {}
-        for addon_name in mods:
-            transl = {"messages":[]}
-            transs[addon_name] = transl
-            addons_path = openerpweb.addons_manifest[addon_name]['addons_path']
-            for l in langs:
-                f_name = os.path.join(addons_path, addon_name, "i18n", l + ".po")
-                if not os.path.exists(f_name):
-                    continue
-                try:
-                    with open(f_name) as t_file:
-                        po = babel.messages.pofile.read_po(t_file)
-                except Exception:
-                    continue
-                for x in po:
-                    if x.id and x.string and "openerp-web" in x.auto_comments:
-                        transl["messages"].append({'id': x.id, 'string': x.string})
-        return {"modules": transs,
-                "lang_parameters": lang_obj}
+        proxy = req.session.proxy("translation")
+        messages = proxy.load(req.session._db, mods, langs, "web")
+        #  keep loading from .po (Reason to run web without embedded mode)
+        if not messages['web']['messages']:
+            for addon_name in mods:
+                transl = {'messages':[]}
+                messages[addon_name] = transl
+                addons_path = openerpweb.addons_manifest[addon_name]['addons_path']
+                for l in langs:
+                    f_name = os.path.join(addons_path, addon_name, "i18n", l + ".po")
+                    if not os.path.exists(f_name):
+                        continue
+                    try:
+                        with open(f_name) as t_file:
+                            po = babel.messages.pofile.read_po(t_file)
+                    except Exception:
+                        continue
+                    for x in po:
+                        if x.id and x.string and "openerp-web" in x.auto_comments:
+                            transl["messages"].append({'id': x.id, 'string': x.string})
+        return {"modules": messages,
+                "lang_parameters": lang_obj} 
 
     @openerpweb.jsonrequest
     def version_info(self, req):

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to