From 855e877f28b893536c0694bcbb3d9a008c2caefb Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Wed, 26 Dec 2012 08:48:04 +0100 Subject: [PATCH 1/3] [IMP] Browser's language as default language for anonymous user bzr revid: vta@openerp.com-20121226074804-rto6je56j60dmp6i --- .../static/src/js/portal_anonymous.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/addons/portal_anonymous/static/src/js/portal_anonymous.js b/addons/portal_anonymous/static/src/js/portal_anonymous.js index adaa51948b5..c994ac3fe85 100644 --- a/addons/portal_anonymous/static/src/js/portal_anonymous.js +++ b/addons/portal_anonymous/static/src/js/portal_anonymous.js @@ -1,5 +1,19 @@ openerp.portal_anonymous = function(instance) { + instance.web.Session.include({ + load_translations: function() { + if (this.username === 'anonymous') { + var l = (navigator.language) ? navigator.language : navigator.userLanguage; + var params = { mods: this.module_list, lang: l }; + return this.rpc('/web/webclient/translations', params).done(function(trans) { + console.log(trans); + instance.web._t.database.set_bundle(trans); + }); + } + return this._super(); + }, + }); + instance.web.Login.include({ start: function() { var self = this; From 0e61e36117852f7507fe7da4d01e43471d875af1 Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Wed, 26 Dec 2012 09:15:20 +0100 Subject: [PATCH 2/3] [FIX] Correct iso format bzr revid: vta@openerp.com-20121226081520-die900l0op2c4ha8 --- addons/portal_anonymous/static/src/js/portal_anonymous.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/portal_anonymous/static/src/js/portal_anonymous.js b/addons/portal_anonymous/static/src/js/portal_anonymous.js index c994ac3fe85..366f3235f42 100644 --- a/addons/portal_anonymous/static/src/js/portal_anonymous.js +++ b/addons/portal_anonymous/static/src/js/portal_anonymous.js @@ -3,10 +3,10 @@ openerp.portal_anonymous = function(instance) { instance.web.Session.include({ load_translations: function() { if (this.username === 'anonymous') { - var l = (navigator.language) ? navigator.language : navigator.userLanguage; + var l = ((navigator.language) ? navigator.language : navigator.userLanguage).replace('-', '_'); + console.log(l); var params = { mods: this.module_list, lang: l }; return this.rpc('/web/webclient/translations', params).done(function(trans) { - console.log(trans); instance.web._t.database.set_bundle(trans); }); } From efa8d0e2988646970d08a839bcc1ad92b9226e0a Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Wed, 26 Dec 2012 19:18:50 +0100 Subject: [PATCH 3/3] [FIX] Fix not working code bzr revid: vta@openerp.com-20121226181850-00kbdgorw77tqfvu --- .../static/src/js/portal_anonymous.js | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/addons/portal_anonymous/static/src/js/portal_anonymous.js b/addons/portal_anonymous/static/src/js/portal_anonymous.js index 366f3235f42..9ca737b6947 100644 --- a/addons/portal_anonymous/static/src/js/portal_anonymous.js +++ b/addons/portal_anonymous/static/src/js/portal_anonymous.js @@ -2,15 +2,19 @@ openerp.portal_anonymous = function(instance) { instance.web.Session.include({ load_translations: function() { - if (this.username === 'anonymous') { - var l = ((navigator.language) ? navigator.language : navigator.userLanguage).replace('-', '_'); - console.log(l); - var params = { mods: this.module_list, lang: l }; - return this.rpc('/web/webclient/translations', params).done(function(trans) { - instance.web._t.database.set_bundle(trans); - }); + var self = this; + if (self.username === 'anonymous') { + var browser_lang = (navigator.language || navigator.userLanguage).replace('-', '_'); + if (browser_lang.length === 2) { + return (new instance.web.Model('res.lang')).query(['code']) + .filter([['iso_code', '=', browser_lang]]).all() + .then(function(result) { + self.user_context.lang = result[0].code; + }); + } + self.user_context.lang = browser_lang; } - return this._super(); + return self._super(); }, });