diff options
Diffstat (limited to 'ihatemoney/utils.py')
| -rw-r--r-- | ihatemoney/utils.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/ihatemoney/utils.py b/ihatemoney/utils.py index 7fdad61..175b762 100644 --- a/ihatemoney/utils.py +++ b/ihatemoney/utils.py @@ -9,8 +9,9 @@ import os import re from babel import Locale +from babel.numbers import get_currency_name, get_currency_symbol from flask import current_app, redirect, render_template -from flask_babel import get_locale +from flask_babel import get_locale, lazy_gettext as _ import jinja2 from werkzeug.routing import HTTPException, RoutingException @@ -281,6 +282,20 @@ class FormEnum(Enum): return str(self.value) +def render_localized_currency(code, detailed=True): + if code == "XXX": + return _("No Currency") + locale = get_locale() or "en_US" + symbol = get_currency_symbol(code, locale=locale) + details = "" + if detailed: + details = f" − {get_currency_name(code, locale=locale)}" + if symbol == code: + return f"{code}{details}" + else: + return f"{code} − {symbol}{details}" + + def render_localized_template(template_name_prefix, **context): """Like render_template(), but selects the right template according to the current user language. Fallback to English if a template for the |
