details:   https://code.tryton.org/tryton/commit/18d793750056
branch:    7.0
user:      Adrià Tarroja Caubet <[email protected]>
date:      Thu Mar 05 17:26:35 2026 +0100
description:
        Normalize Sao language codes to BCP 47 format

        Normalize lang and locale values to use BCP 47 tags.

        Closes #14653
        (grafted from 54e6fe77b5e2155ff05dc7d4372dbaea7ccb8f61)
diffstat:

 sao/src/sao.js           |  2 +-
 sao/src/screen.js        |  2 +-
 sao/src/view/calendar.js |  2 +-
 sao/src/view/form.js     |  2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diffs (48 lines):

diff -r be4ae41d7e60 -r 18d793750056 sao/src/sao.js
--- a/sao/src/sao.js    Sun Mar 08 13:03:34 2026 +0100
+++ b/sao/src/sao.js    Thu Mar 05 17:26:35 2026 +0100
@@ -362,7 +362,7 @@
                  navigator.userLanguage ||
                  'en').replace('-', '_');
         }
-        jQuery('html').attr('lang', lang);
+        jQuery('html').attr('lang', Sao.i18n.BC47(lang));
         Sao.i18n.setLocale(lang);
         moment.locale(lang.slice(0, 2));
         return jQuery.getJSON('locale/' + lang + '.json').then(function(data) {
diff -r be4ae41d7e60 -r 18d793750056 sao/src/screen.js
--- a/sao/src/screen.js Sun Mar 08 13:03:34 2026 +0100
+++ b/sao/src/screen.js Thu Mar 05 17:26:35 2026 +0100
@@ -740,7 +740,7 @@
                 'class': 'form-control input-sm',
                 'type': 'number',
                 'step': 'any',
-                'lang': Sao.i18n.getlang(),
+                'lang': Sao.i18n.BC47(Sao.i18n.getlang()),
             }).appendTo(el);
             return entry;
         },
diff -r be4ae41d7e60 -r 18d793750056 sao/src/view/calendar.js
--- a/sao/src/view/calendar.js  Sun Mar 08 13:03:34 2026 +0100
+++ b/sao/src/view/calendar.js  Thu Mar 05 17:26:35 2026 +0100
@@ -87,7 +87,7 @@
                     this.view.screen.context.calendar_scroll_time ||
                     Sao.Time(6)).toString(),
                 events: this.view.get_events.bind(this.view),
-                locale: Sao.i18n.getlang().slice(0, 2),
+                locale: Sao.i18n.BC47(Sao.i18n.getlang()).toLowerCase(),
                 isRTL: Sao.i18n.rtl,
                 themeSystem: 'bootstrap3',
                 bootstrapGlyphicons: {
diff -r be4ae41d7e60 -r 18d793750056 sao/src/view/form.js
--- a/sao/src/view/form.js      Sun Mar 08 13:03:34 2026 +0100
+++ b/sao/src/view/form.js      Thu Mar 05 17:26:35 2026 +0100
@@ -1963,7 +1963,7 @@
         input_text.attr('type', 'text');
         input.attr('type', 'number');
         input.attr('step', 1);
-        input.attr('lang', Sao.i18n.getlang());
+        input.attr('lang', Sao.i18n.BC47(Sao.i18n.getlang()));
 
         input.hide().on('focusout', function() {
             if (input[0].checkValidity()) {

Reply via email to