diff --git a/cps/admin.py b/cps/admin.py index 71403e6c..5451080a 100644 --- a/cps/admin.py +++ b/cps/admin.py @@ -426,7 +426,7 @@ def table_get_locale(): current_locale = get_locale() for loc in locale: ret.append({'value': str(loc), 'text': loc.get_language_name(current_locale)}) - return json.dumps(ret) + return json.dumps(sorted(ret, key=lambda x: x['text'])) @admi.route("/ajax/getdefaultlanguage") @@ -438,7 +438,7 @@ def table_get_default_lang(): ret.append({'value': 'all', 'text': _('Show All')}) for lang in languages: ret.append({'value': lang.lang_code, 'text': lang.name}) - return json.dumps(ret) + return json.dumps(sorted(ret, key=lambda x: x['text'])) @admi.route("/ajax/editlistusers/", methods=['POST']) diff --git a/cps/cw_babel.py b/cps/cw_babel.py index cf043d52..878984f6 100644 --- a/cps/cw_babel.py +++ b/cps/cw_babel.py @@ -34,7 +34,7 @@ def get_user_locale_language(user_language): def get_available_locale(): - return [Locale('en')] + babel.list_translations() + return sorted(babel.list_translations(), key=lambda x: x.display_name.lower()) def get_available_translations(): diff --git a/requirements.txt b/requirements.txt index 2c73c88f..3f4efbc6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ APScheduler>=3.6.3,<3.11.0 Babel>=1.3,<3.0 -Flask-Babel>=0.11.1,<4.1.0 +Flask-Babel>=3.0.0,<4.1.0 Flask-Principal>=0.3.2,<0.5.1 Flask>=1.0.2,<3.1.0 iso-639>=0.4.5,<0.5.0;python_version<'3.12'