chore: automatic commit 2025-04-30 12:48
This commit is contained in:
47
venv/lib/python3.11/site-packages/flask_wtf/i18n.py
Normal file
47
venv/lib/python3.11/site-packages/flask_wtf/i18n.py
Normal file
@@ -0,0 +1,47 @@
|
||||
from babel import support
|
||||
from flask import current_app
|
||||
from flask import request
|
||||
from flask_babel import get_locale
|
||||
from wtforms.i18n import messages_path
|
||||
|
||||
__all__ = ("Translations", "translations")
|
||||
|
||||
|
||||
def _get_translations():
|
||||
"""Returns the correct gettext translations.
|
||||
Copy from flask-babel with some modifications.
|
||||
"""
|
||||
|
||||
if not request:
|
||||
return None
|
||||
|
||||
# babel should be in extensions for get_locale
|
||||
if "babel" not in current_app.extensions:
|
||||
return None
|
||||
|
||||
translations = getattr(request, "wtforms_translations", None)
|
||||
|
||||
if translations is None:
|
||||
translations = support.Translations.load(
|
||||
messages_path(), [get_locale()], domain="wtforms"
|
||||
)
|
||||
request.wtforms_translations = translations
|
||||
|
||||
return translations
|
||||
|
||||
|
||||
class Translations:
|
||||
def gettext(self, string):
|
||||
t = _get_translations()
|
||||
return string if t is None else t.ugettext(string)
|
||||
|
||||
def ngettext(self, singular, plural, n):
|
||||
t = _get_translations()
|
||||
|
||||
if t is None:
|
||||
return singular if n == 1 else plural
|
||||
|
||||
return t.ungettext(singular, plural, n)
|
||||
|
||||
|
||||
translations = Translations()
|
||||
Reference in New Issue
Block a user