Skip to content

Commit 41267f8

Browse files
Merge pull request #1673 from ThomasWaldmann/locale-selection
personal settings: add language auto-detect
2 parents 735f051 + 4d91cef commit 41267f8

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/moin/apps/frontend/views.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646
from markupsafe import Markup
4747

4848
import pytz
49-
from babel import Locale
5049

5150
from whoosh import sorting
5251
from whoosh.query import Term, Prefix, And, Or, Not, DateRange, Every
@@ -2363,9 +2362,9 @@ class UserSettingsPersonalForm(Form):
23632362
# _timezones_keys = sorted(Locale('en').time_zones.keys())
23642363
_timezones_keys = [str(tz) for tz in pytz.common_timezones]
23652364
timezone = Select.using(label=L_("Timezone")).out_of((e, e) for e in _timezones_keys)
2366-
_supported_locales = [Locale("en")] + app.extensions["babel"].instance.list_translations()
2365+
_supported_locales = app.extensions["babel"].instance.list_translations()
23672366
locale = Select.using(label=L_("Locale")).out_of(
2368-
((str(locale), locale.display_name) for locale in _supported_locales), sort_by=1
2367+
[("auto", "---")] + [(str(locale), locale.display_name) for locale in _supported_locales], sort_by=1
23692368
)
23702369
submit_label = L_("Save")
23712370

@@ -2447,6 +2446,8 @@ class UserSettingsUIForm(Form):
24472446
user_old_email = flaskg.user.email
24482447
d = dict(form.value)
24492448
for k, v in d.items():
2449+
if k == "locale" and v == "auto":
2450+
v = None # None means "auto-detect language from http headers"
24502451
flaskg.user.profile[k] = v
24512452
if (
24522453
part == "notification"

0 commit comments

Comments
 (0)