diff --git a/addons/http_routing/models/ir_http.py b/addons/http_routing/models/ir_http.py index 0da7d82e1e2..d6a4524eb31 100644 --- a/addons/http_routing/models/ir_http.py +++ b/addons/http_routing/models/ir_http.py @@ -246,6 +246,7 @@ class IrHttp(models.AbstractModel): 'lang_parameters': lang_params, 'modules': translations, 'multi_lang': len(request.env['res.lang'].sudo().get_installed()) > 1, + 'lang': lang, } session_info.update({ diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 1487fbdeba9..10e350fbd0a 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -793,6 +793,7 @@ class WebClient(http.Controller): translations_per_module, lang_params = request.env["ir.translation"].get_translations_for_webclient(mods, lang) body = json.dumps({ + 'lang': lang, 'lang_parameters': lang_params, 'modules': translations_per_module, 'multi_lang': len(request.env['res.lang'].sudo().get_installed()) > 1, diff --git a/addons/web/models/ir_http.py b/addons/web/models/ir_http.py index 5d1ac1aac11..f5a9f922abf 100644 --- a/addons/web/models/ir_http.py +++ b/addons/web/models/ir_http.py @@ -33,6 +33,7 @@ class Http(models.AbstractModel): lang = user_context.get("lang") translations_per_module, lang_params = request.env['ir.translation'].get_translations_for_webclient(mods, lang) translation_cache = { + 'lang': lang, 'lang_parameters': lang_params, 'modules': translations_per_module, 'multi_lang': len(request.env['res.lang'].sudo().get_installed()) > 1, diff --git a/addons/web/static/src/js/core/translation.js b/addons/web/static/src/js/core/translation.js index 416ea9130d2..5335f4716a7 100644 --- a/addons/web/static/src/js/core/translation.js +++ b/addons/web/static/src/js/core/translation.js @@ -13,7 +13,8 @@ var TranslationDataBase = Class.extend(/** @lends instance.TranslationDataBase# "time_format": '%H:%M:%S', "grouping": [], "decimal_point": ".", - "thousands_sep": ","}; + "thousands_sep": ",", + "code": "en_US"}; }, set_bundle: function(translation_bundle) { var self = this; diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js index dbafc45e592..d226ef655c7 100644 --- a/addons/web/static/src/js/fields/basic_fields.js +++ b/addons/web/static/src/js/fields/basic_fields.js @@ -41,9 +41,11 @@ var TranslatableFieldMixin = { */ _renderTranslateButton: function () { if (_t.database.multi_lang && this.field.translate && this.res_id) { + var lang = _t.database.parameters.code.split('_')[0].toUpperCase(); return $('