Set client language in the context when user has no language
This commit is contained in:
+14
-9
@@ -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;
|
||||
});
|
||||
|
||||
@@ -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"))
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user