diff options
| author | Christophe Simonis <chs@odoo.com> | 2015-03-04 15:16:10 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2015-03-04 15:16:10 +0100 |
| commit | bc2fd0515b2ee0dafe05d95a76eccb99b35a418c (patch) | |
| tree | 0cf1fdbaa92b178ce51db635242e611e7d62173e /addons/website/static/src/js/website.js | |
| parent | 94c33caa784e3017285b55dc68c6726ed50b5f94 (diff) | |
| parent | 017f346dd36e421877b2a7dfb94b5f805c435238 (diff) | |
[MERGE] forward port of branch 8.0 up to 017f346
Diffstat (limited to 'addons/website/static/src/js/website.js')
| -rw-r--r-- | addons/website/static/src/js/website.js | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/addons/website/static/src/js/website.js b/addons/website/static/src/js/website.js index 667dd139372..8c8dfcc50c7 100644 --- a/addons/website/static/src/js/website.js +++ b/addons/website/static/src/js/website.js @@ -305,14 +305,32 @@ if ($('html').data('website-id')) { website.id = $('html').data('website-id'); website.session = new openerp.Session(); - var modules = ['website']; - return openerp._t.database.load_translations(website.session, modules, website.get_context().lang); + return openerp.jsonRpc('/website/translations', 'call', {'lang': website.get_context().lang}) + .then(function(trans) { + openerp._t.database.set_bundle(trans);}); + } + }).then(function () { + var templates = openerp.qweb.templates; + var keys = _.keys(templates); + for (var i = 0; i < keys.length; i++){ + treat_node(templates[keys[i]]); } }).promise(); } return all_ready; }; + function treat_node(node){ + if(node.nodeType === 3) { + if(node.nodeValue.match(/\S/)){ + node.nodeValue = openerp._t($.trim(node.nodeValue)); + } + } + else if(node.nodeType === 1 && node.hasChildNodes()) { + _.each(node.childNodes, function(subnode) {treat_node(subnode);}); + } + }; + website.inject_tour = function() { // if a tour is active inject tour js }; |
