diff --git a/app/requirements.txt b/app/requirements.txt index 9d636fc..c26f354 100644 --- a/app/requirements.txt +++ b/app/requirements.txt @@ -1,4 +1,5 @@ aiomqtt==2.3.2 schema==0.7.7 aiocron==2.1 - quart==0.20 \ No newline at end of file + quart==0.20 + quart-babel==1.0.7 \ No newline at end of file diff --git a/app/src/.babel.cfg b/app/src/.babel.cfg new file mode 100644 index 0000000..cfaa201 --- /dev/null +++ b/app/src/.babel.cfg @@ -0,0 +1,2 @@ +[python: **.py] +[jinja2: web/templates/**.html] \ No newline at end of file diff --git a/app/src/server.py b/app/src/server.py index e3fcdc1..80fc096 100644 --- a/app/src/server.py +++ b/app/src/server.py @@ -4,7 +4,8 @@ import logging.handlers import os import argparse from asyncio import StreamReader, StreamWriter -from quart import Quart, Response +from quart import Quart, Response, request +from quart_babel import Babel from logging import config # noqa F401 from proxy import Proxy from inverter_ifc import InverterIfc @@ -31,9 +32,20 @@ class ProxyState: ProxyState._is_up = value +def get_locale(): + # hass.selectedLanguage + logging.info("get_locale(%s)", request.accept_languages) + return request.accept_languages.best_match( + ['de', 'en'] + ) + + app = Quart(__name__, template_folder='web/templates', static_folder='web/static') +babel = Babel(app, + locale_selector=get_locale, + default_translation_directories='../translations') app.register_blueprint(web_routes) diff --git a/app/src/web/templates/index.html b/app/src/web/templates/index.html index e7de164..806c68a 100644 --- a/app/src/web/templates/index.html +++ b/app/src/web/templates/index.html @@ -2,7 +2,7 @@ {% block title %} TSUN Proxy - Dashboard {% endblock title%} {% block menu1_class %}w3-blue{% endblock %} -{% block headline %} My Dashboard{% endblock headline %} +{% block headline %} {{_('My Dashboard')}}{% endblock headline %} {% block content %}