Files
tsun-gen3-proxy/app/src/web/i18n.py
Stefan Allius 0c981f214d - clean target erases the *.pot
- don't modify the resurt of url_for() calls
- don't translate the language description
2025-04-28 20:45:19 +02:00

45 lines
1.1 KiB
Python

from quart import request, session, redirect, abort, url_for
from quart_babel.locale import get_locale as babel_get_locale
from . import web
LANGUAGES = {
'en': 'English',
'de': 'Deutsch',
'fr': 'Français'
}
def get_locale():
try:
language = session['language']
except KeyError:
language = None
if language is not None:
return language
# check how to get the locale form for the add-on - hass.selectedLanguage
# logging.info("get_locale(%s)", request.accept_languages)
return request.accept_languages.best_match(LANGUAGES.keys())
def get_tz():
return 'CET'
@web.context_processor
def utility_processor():
return dict(lang=babel_get_locale(),
lang_str=LANGUAGES.get(str(babel_get_locale()), "English"),
languages=LANGUAGES)
@web.route('/language/<language>')
async def set_language(language=None):
if language in LANGUAGES:
session['language'] = language
if request.referrer is not None:
return redirect(request.referrer)
return redirect(url_for('web.index'))
return abort(404)