Allow users to select UI language at login or from Preferences rather than unpredictable behaviour from browsers. Fixes #2190

This commit is contained in:
Khushboo Vashi
2017-03-24 14:20:10 +00:00
committed by Dave Page
parent 6cb9ece6fd
commit 0eda6033df
11 changed files with 171 additions and 30 deletions

View File

@@ -13,6 +13,7 @@ import pgadmin.utils.driver as driver
from flask import url_for, render_template, Response
from flask_babel import gettext as _
from pgadmin.utils import PgAdminModule
from pgadmin.utils.preferences import Preferences
import config
@@ -41,6 +42,25 @@ class MiscModule(PgAdminModule):
)
return stylesheets
def register_preferences(self):
"""
Register preferences for this module.
"""
self.misc_preference = Preferences('miscellaneous', _('Miscellaneous'))
lang_options = []
for lang in config.LANGUAGES:
lang_options.append({'label': config.LANGUAGES[lang],
'value': lang})
# Register options for the User language settings
language = self.misc_preference.register(
'miscellaneous', 'user_language',
_("User language"), 'options', 'en',
category_label=_('User language'),
options=lang_options
)
# Initialise the module
blueprint = MiscModule(MODULE_NAME, __name__)