fix: add fallback to also check for translation w/ html tags

Adds a fallback to check for translations w/ and w/o HTML tags.
This commit is contained in:
AarDG10 2026-03-13 10:43:53 +05:30
parent 5092225cbc
commit 3e14434f9e

View file

@ -16,6 +16,8 @@ def _(msg: str, lang: str | None = None, context: str | None = None) -> str:
if not lang:
lang = frappe.local.lang
all_translations = get_all_translations(lang)
non_translated_string = msg
if is_html(msg):
@ -24,17 +26,23 @@ def _(msg: str, lang: str | None = None, context: str | None = None) -> str:
# msg should always be unicode
msg = frappe.as_unicode(msg).strip()
translated_string = ""
msg_with_html = frappe.as_unicode(non_translated_string).strip()
msg_list = [msg, msg_with_html]
all_translations = get_all_translations(lang)
if context:
string_key = f"{msg}:{context}"
translated_string = all_translations.get(string_key)
for msg in msg_list:
translated_string = ""
if not translated_string:
translated_string = all_translations.get(msg)
if context:
string_key = f"{msg}:{context}"
translated_string = all_translations.get(string_key)
return translated_string or non_translated_string
if not translated_string:
translated_string = all_translations.get(msg)
if translated_string:
return translated_string
return non_translated_string
def _lt(msg: str, lang: str | None = None, context: str | None = None):