update routes etc.

This commit is contained in:
nocci 2025-05-02 16:13:34 +02:00
parent a02bed57ff
commit 545020609a
1 changed files with 18 additions and 14 deletions

View File

@ -197,15 +197,21 @@ logging.basicConfig()
app = Flask(__name__)
# Load Languages
import json
TRANSLATIONS = {}
for lang in app.config['SUPPORTED_LANGUAGES'].split(','):
SUPPORTED_LANGUAGES = os.getenv('SUPPORTED_LANGUAGES', 'en').split(',')
for lang in SUPPORTED_LANGUAGES:
try:
with open(f'translations/{lang}.json') as f:
with open(f'translations/{lang}.json', encoding='utf-8') as f:
TRANSLATIONS[lang] = json.load(f)
except:
except Exception:
TRANSLATIONS[lang] = {}
def translate(key, lang=app.config['DEFAULT_LANGUAGE'], **kwargs):
def translate(key, lang=None, **kwargs):
if not lang:
lang = session.get('lang', os.getenv('DEFAULT_LANGUAGE', 'en'))
return TRANSLATIONS.get(lang, {}).get(key, key).format(**kwargs)
csrf = CSRFProtect(app)
@ -261,15 +267,13 @@ def enforce_https():
return redirect(url, code=301)
@app.context_processor
def inject_translations():
def _(key, **kwargs):
lang = session.get('lang', app.config['DEFAULT_LANGUAGE'])
return translate(key, lang, **kwargs)
return {'_': _}
def inject_template_vars():
def _(key, **kwargs):
lang = session.get('lang', os.getenv('DEFAULT_LANGUAGE', 'en'))
return translate(key, lang, **kwargs)
return dict(
get_locale=get_locale,
_=_,
get_locale=lambda: session.get('lang', os.getenv('DEFAULT_LANGUAGE', 'en')),
theme='dark' if request.cookies.get('dark_mode') == 'true' else 'light'
)
@ -338,10 +342,10 @@ def index():
@app.route('/set-lang/<lang>')
def set_lang(lang):
if lang in app.config['SUPPORTED_LANGUAGES'].split(','):
if lang in SUPPORTED_LANGUAGES:
session['lang'] = lang
return redirect(request.referrer)
return redirect(request.referrer or url_for('index'))
@app.route('/set-theme/<theme>')
def set_theme(theme):
resp = make_response('', 204)