From c28880eb27993b493b944c3ad42ed8c6a2379e61 Mon Sep 17 00:00:00 2001 From: Yaqin Shurrab Date: Mon, 27 Feb 2017 23:22:34 +0200 Subject: [PATCH] Translate the msg in _ function according to the passed lang, support multiple language in frappe.cash() --- frappe/__init__.py | 3 ++- frappe/translate.py | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index 34b69e40ac..f70cbac379 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -48,7 +48,8 @@ def _(msg, lang=None): # msg should always be unicode msg = as_unicode(msg).strip() - return get_full_dict(local.lang).get(msg) or msg + # Retrun lang_full_dict according to lang passed parameter + return get_full_dict(lang).get(msg) or msg def as_unicode(text, encoding='utf-8'): '''Convert to unicode if required''' diff --git a/frappe/translate.py b/frappe/translate.py index 80bafac7c8..82a23db9d8 100644 --- a/frappe/translate.py +++ b/frappe/translate.py @@ -179,7 +179,9 @@ def get_full_dict(lang): return {} # found in local, return! - if getattr(frappe.local, 'lang_full_dict', None) is not None: + # Check if the passed lang exists in lang_full_dict cash in frappe + if not getattr(frappe.local, 'lang_full_dict', + None) is None and frappe.local.lang_full_dict and lang in frappe.local.lang_full_dict: return frappe.local.lang_full_dict frappe.local.lang_full_dict = load_lang(lang)