update readme due release on codeberg #2

Open
nocci wants to merge 26 commits from dev into main
1 changed files with 18 additions and 14 deletions
Showing only changes of commit 545020609a - Show all commits

View File

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