From 27974575fd31dc267e28d1f7ca5f7646e6748ccc Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Fri, 28 Dec 2012 13:52:44 +0100 Subject: [PATCH] [FIX] Fix load_translations, right deferred return, and improved language selection bzr revid: vta@openerp.com-20121228125244-v8mf6abge6jy4hlg --- .../static/src/js/portal_anonymous.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/addons/portal_anonymous/static/src/js/portal_anonymous.js b/addons/portal_anonymous/static/src/js/portal_anonymous.js index 8a064f2ada2..d4d38daa3e9 100644 --- a/addons/portal_anonymous/static/src/js/portal_anonymous.js +++ b/addons/portal_anonymous/static/src/js/portal_anonymous.js @@ -16,19 +16,28 @@ openerp.portal_anonymous = function(instance) { // then don't change session.user_context.lang if (langs.length > 0) { // Try to get the right user preference in the browser, else - // get the first returned language + // get the shortest language returned ('xx' country code) or + // just the first one var l = _.filter(langs, function(lang) { return lang.code === browser_lang || lang.iso_code === browser_lang; }); if (!_.isEmpty(l)) { self.user_context.lang = l[0].code; } else { - self.user_context.lang = langs.sort(function(a, b) { - return a.length - b.length; - })[0].code; + l = _.filter(langs, function(lang) { + return lang.iso_code === _.pluck(langs, 'iso_code') + .sort(function(a, b) { + return a.length - b.length; + })[0]; + }); + self.user_context.lang = l[0].code; } } + return self.rpc('/web/webclient/translations', { mods: self.module_list, lang: self.user_context.lang }).done(function(trans) { + console.log(trans); + instance.web._t.database.set_bundle(trans); + }); }); } - return self._super(); + return this._super(); }, });