--- a/management/univention-management-console/src/univention/management/console/protocol/server.py +++ a/management/univention-management-console/src/univention/management/console/protocol/server.py @@ -207,6 +207,8 @@ def _handle(self, state, msg): self._response(response, state) elif msg.command == 'GET' and 'newsession' in msg.arguments: CORE.info('Renewing session') + if state.processor: + state.locale = str(state.processor.locale) state.processor = None res = Response(msg) res.status = SUCCESS @@ -214,7 +216,8 @@ def _handle(self, state, msg): else: # inform processor if not state.processor: - state.processor = Processor(**state.credentials()) + state.processor = Processor(locale=state.locale, **state.credentials()) + state.locale = None state.processor.signal_connect('success', notifier.Callback(self._response, state)) state.processor.request(msg) --- a/management/univention-management-console/src/univention/management/console/protocol/session.py +++ a/management/univention-management-console/src/univention/management/console/protocol/session.py @@ -94,6 +94,7 @@ def __init__(self, client, socket): self.socket = socket self.processor = None self.authenticated = False + self.locale = None self.__credentials = None self.buffer = '' self.requests = {} @@ -214,7 +215,7 @@ class Processor(Base): :param str password: password of the user """ - def __init__(self, username, password, auth_type): + def __init__(self, username, password, auth_type, locale=None): Base.__init__(self, 'univention-management-console') self.set_credentials(username, password, auth_type) @@ -235,6 +236,9 @@ def __init__(self, username, password, auth_type): self._reload_acls_and_permitted_commands() self.signal_new('response') + if locale: + self.set_language(locale) + self.i18n.set_locale(locale) def set_credentials(self, username, password, auth_type): self.username = username