diff options
author | Florian Dold <florian@dold.me> | 2021-04-22 15:49:16 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2021-04-22 15:50:23 +0200 |
commit | 51f25b62eb6447a48c139e04ea73e8fe811227a4 (patch) | |
tree | 9b6b4b55f6be196dfb1b9f0fa8963a74cb90a6b8 /talerbank/jinja2.py | |
parent | 8663a5a15b8f9d57757f70fa16e2a7460e9056ee (diff) | |
download | bank-51f25b62eb6447a48c139e04ea73e8fe811227a4.tar.gz bank-51f25b62eb6447a48c139e04ea73e8fe811227a4.tar.bz2 bank-51f25b62eb6447a48c139e04ea73e8fe811227a4.zip |
Use same base template as merchant demos.
Diffstat (limited to 'talerbank/jinja2.py')
-rw-r--r-- | talerbank/jinja2.py | 61 |
1 files changed, 48 insertions, 13 deletions
diff --git a/talerbank/jinja2.py b/talerbank/jinja2.py index b26b984..a91cf3b 100644 --- a/talerbank/jinja2.py +++ b/talerbank/jinja2.py @@ -27,6 +27,8 @@ from django.urls import reverse, get_script_prefix from django.conf import settings from jinja2 import Environment from django.utils.translation import gettext +import markupsafe + ## # Check if a URL is absolute or not. @@ -128,6 +130,7 @@ def tojson(x): def amount_stringify(amount): return amount.stringify(settings.TALER_DIGITS, pretty=True) + def get_locale(url): parts = url.split('/', 2) if (2 >= len(parts)): @@ -136,20 +139,52 @@ def get_locale(url): lang = parts[1] return lang + +all_languages = { + "en": "English [en]", + "ar": "Arabic [ar]", + "zh_Hant": "Chinese [zh]", + "fr": "French [fr]", + "de": "German [de]", + "hi": "Hindi [hi]", + "it": "Italian [it]", + "ja": "Japanese [ja]", + "ko": "Korean [ko]", + "pt": "Portuguese [pt]", + "pt_BR": "Portuguese (Brazil) [pt_BR]", + "ru": "Russian [ru]", + "es": "Spanish [es]", + "sv": "Swedish [sv]", + "tr": "Turkish [tr]", +} + + +def context_processor(request): + def getlang(): + return get_locale(request.path) + + return dict(getlang=getlang) + + def environment(**options): env = Environment(**options) - env.globals.update( - { - "static": static, - "url": url, - "settings_value": settings_value, - "env": env_get, - "is_valid_amount": is_valid_amount, - "amount_stringify": amount_stringify, - "tojson": tojson, - "_": gettext, - "get_locale": get_locale - - } + + gettext_markup = lambda *args, **kwargs: markupsafe.Markup( + gettext(*args, **kwargs) ) + + env.globals.update({ + "static": static, + "url": url, + "settings_value": settings_value, + "env": env_get, + "is_valid_amount": is_valid_amount, + "amount_stringify": amount_stringify, + "tojson": tojson, + "_": gettext_markup, + "gettext": gettext_markup, + "get_locale": get_locale, + "getactive": lambda: "bank", + "all_languages": all_languages, + }) return env |