Set client language in the context when user has no language

This commit is contained in:
Cédric Krier
2025-05-02 00:46:38 +02:00
parent 411392bb09
commit 33ee5f0d51
3 changed files with 20 additions and 12 deletions
+14 -9
View File
@@ -374,17 +374,22 @@ var Sao = {
});
}
return prm.then(() => {
Sao.set_title();
var new_lang = preferences.language != Sao.i18n.getLocale();
var prm = jQuery.Deferred();
Sao.i18n.setlang(preferences.language).always(function() {
if (new_lang) {
Sao.user_menu(preferences);
}
Sao.set_title();
if (!preferences.language) {
session.context.language = Sao.i18n.getLocale();
prm.resolve(preferences);
});
Sao.i18n.set_direction(preferences.language_direction);
Sao.i18n.locale = preferences.locale;
} else {
var new_lang = preferences.language != Sao.i18n.getLocale();
Sao.i18n.setlang(preferences.language).always(function() {
if (new_lang) {
Sao.user_menu(preferences);
}
prm.resolve(preferences);
});
Sao.i18n.set_direction(preferences.language_direction);
Sao.i18n.locale = preferences.locale;
}
Sao.common.MODELNAME.clear();
return prm;
});
+4 -2
View File
@@ -536,7 +536,7 @@ class Main(Gtk.Application):
for target in targets:
target()
if prefs and 'language_direction' in prefs:
if prefs and prefs.get('language_direction'):
translate.set_language_direction(prefs['language_direction'])
CONFIG['client.language_direction'] = \
prefs['language_direction']
@@ -544,12 +544,14 @@ class Main(Gtk.Application):
for action_id in prefs.get('actions', []):
Action.execute(action_id, {})
self.set_title(prefs.get('status_bar', ''))
if prefs and 'language' in prefs:
if prefs and prefs.get('language'):
translate.setlang(prefs['language'], prefs.get('locale'))
if CONFIG['client.lang'] != prefs['language']:
self.favorite_unset()
self.primary_menu.set_menu_model(self._get_primary_menu())
CONFIG['client.lang'] = prefs['language']
else:
rpc.CONTEXT['language'] = CONFIG['client.lang']
common.MODELNAME.clear()
# Set placeholder after language is set to get correct translation
self.global_search_entry.set_placeholder_text(_("Action"))
+2 -1
View File
@@ -38,6 +38,7 @@ def context_reset():
from tryton.bus import Bus
CONTEXT.clear()
CONTEXT['client'] = Bus.ID
CONTEXT['language'] = CONFIG['client.lang']
context_reset()
@@ -118,7 +119,7 @@ def login(parameters):
port = common.get_port(host)
database = CONFIG['login.db']
username = CONFIG['login.login']
language = CONFIG['client.lang']
CONTEXT['language'] = language = CONFIG['client.lang']
parameters['device_cookie'] = device_cookie.get()
connection = ServerProxy(hostname, port, database)
logger.info('common.db.login(%s, %s, %s)', username, 'x' * 10, language)