diff --git a/frappe/__init__.py b/frappe/__init__.py index 651b52eaec..30aa60bf32 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -90,9 +90,13 @@ def _(msg: str, lang: str | None = None, context: str | None = None) -> str: _('Change') _('Change', context='Coins') """ - from frappe.translate import get_all_translations from frappe.utils import is_html, strip_html_tags + if conf.use_gettext: + from frappe.gettext.translate import get_all_translations + else: + from frappe.translate import get_all_translations + if not hasattr(local, "lang"): local.lang = lang or "en" diff --git a/frappe/boot.py b/frappe/boot.py index c36927637a..3bae1cfd2c 100644 --- a/frappe/boot.py +++ b/frappe/boot.py @@ -259,7 +259,10 @@ def get_user_pages_or_reports(parent, cache=False): def load_translations(bootinfo): - from frappe.translate import get_messages_for_boot + if frappe.conf.use_gettext: + from frappe.gettext.translate import get_messages_for_boot + else: + from frappe.translate import get_messages_for_boot bootinfo["lang"] = frappe.lang bootinfo["__messages"] = get_messages_for_boot() diff --git a/frappe/core/doctype/translation/test_translation.py b/frappe/core/doctype/translation/test_translation.py index a64715a32e..e2d028fbd4 100644 --- a/frappe/core/doctype/translation/test_translation.py +++ b/frappe/core/doctype/translation/test_translation.py @@ -3,7 +3,6 @@ import frappe from frappe import _ from frappe.tests.utils import FrappeTestCase -from frappe.translate import clear_cache class TestTranslation(FrappeTestCase): @@ -12,6 +11,11 @@ class TestTranslation(FrappeTestCase): def tearDown(self): frappe.local.lang = "en" + if frappe.conf.use_gettext: + from frappe.gettext.translate import clear_cache + else: + from frappe.translate import clear_cache + clear_cache() def test_doctype(self): diff --git a/frappe/desk/page/setup_wizard/setup_wizard.py b/frappe/desk/page/setup_wizard/setup_wizard.py index 3a2b369a23..e3df4eec5d 100755 --- a/frappe/desk/page/setup_wizard/setup_wizard.py +++ b/frappe/desk/page/setup_wizard/setup_wizard.py @@ -6,7 +6,7 @@ import json import frappe from frappe.geo.country_info import get_country_info from frappe.permissions import AUTOMATIC_ROLES -from frappe.translate import get_messages_for_boot, send_translations, set_default_language +from frappe.translate import send_translations, set_default_language from frappe.utils import cint, now, strip from frappe.utils.password import update_password @@ -300,6 +300,11 @@ def disable_future_access(): def load_messages(language): """Load translation messages for given language from all `setup_wizard_requires` javascript files""" + if frappe.conf.use_gettext: + from frappe.gettext.translate import get_messages_for_boot + else: + from frappe.translate import get_messages_for_boot + frappe.clear_cache() set_default_language(get_language_code(language)) frappe.db.commit()