Set the correct locale in the HTML main tag.

This commit is contained in:
Éloi Rivard 2023-01-18 18:00:32 +01:00
parent 415fe2dfa2
commit d7c84079e3
3 changed files with 9 additions and 1 deletions

View file

@ -8,6 +8,7 @@ from flask import g
from flask import request
from flask import session
from flask_babel import Babel
from flask_babel import get_locale
from flask_themer import FileSystemThemeLoader
from flask_themer import render_template
from flask_themer import Themer
@ -183,6 +184,7 @@ def create_app(config=None, validate=True):
"website_name": app.config.get("NAME", "Canaille"),
"user": current_user(),
"menu": True,
"locale": get_locale(),
}
@app.errorhandler(400)

View file

@ -1,7 +1,7 @@
{% import 'flask.j2' as flask %}
<!doctype html>
<html lang="fr">
<html lang="{{ locale }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">

View file

@ -9,6 +9,7 @@ def test_preferred_language(testclient, logged_user):
assert res.form["preferredLanguage"].value == "auto"
assert "My profile" in res.text
assert "Mon profil" not in res.text
assert '<html lang="en">' in res.text
res.form["preferredLanguage"] = "fr"
res = res.form.submit(name="action", value="edit").follow()
@ -17,6 +18,7 @@ def test_preferred_language(testclient, logged_user):
assert res.form["preferredLanguage"].value == "fr"
assert "My profile" not in res.text
assert "Mon profil" in res.text
assert '<html lang="fr">' in res.text
res.form["preferredLanguage"] = "en"
res = res.form.submit(name="action", value="edit").follow()
@ -25,6 +27,7 @@ def test_preferred_language(testclient, logged_user):
assert res.form["preferredLanguage"].value == "en"
assert "My profile" in res.text
assert "Mon profil" not in res.text
assert '<html lang="en">' in res.text
res.form["preferredLanguage"] = "auto"
res = res.form.submit(name="action", value="edit").follow()
@ -33,6 +36,7 @@ def test_preferred_language(testclient, logged_user):
assert res.form["preferredLanguage"].value == "auto"
assert "My profile" in res.text
assert "Mon profil" not in res.text
assert '<html lang="en">' in res.text
def test_language_config(testclient, logged_user):
@ -42,8 +46,10 @@ def test_language_config(testclient, logged_user):
res = testclient.get("/profile/user", status=200)
assert "My profile" in res.text
assert "Mon profil" not in res.text
assert '<html lang="en">' in res.text
testclient.app.config["LANGUAGE"] = "fr"
res = testclient.get("/profile/user", status=200)
assert "My profile" not in res.text
assert "Mon profil" in res.text
assert '<html lang="fr">' in res.text