diff --git a/frappe/gettext/__init__.py b/frappe/gettext/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/gettext/extractors/__init__.py b/frappe/gettext/extractors/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/frappe/gettext/extractors/python.py b/frappe/gettext/extractors/python.py new file mode 100644 index 0000000000..9a6475b749 --- /dev/null +++ b/frappe/gettext/extractors/python.py @@ -0,0 +1,13 @@ +from babel.messages.extract import extract_python + + +def extract(*args, **kwargs): + """ + Wrapper around babel's `extract_python`, handling our own implementation of `_()` + """ + for lineno, funcname, messages, comments in extract_python(*args, **kwargs): + if funcname == "_" and isinstance(messages, tuple) and len(messages) > 1: + funcname = "pgettext" + messages = (messages[-1], messages[0]) # (context, message) + + yield lineno, funcname, messages, comments