From b49d64de6398ce8b01abdb6c1edc255d0a67b87f Mon Sep 17 00:00:00 2001 From: barredterra <14891507+barredterra@users.noreply.github.com> Date: Mon, 25 Mar 2024 23:19:13 +0100 Subject: [PATCH] feat: add translatable string extractor for UOM names --- babel_extractors.csv | 1 + erpnext/gettext/__init__.py | 0 erpnext/gettext/extractors/__init__.py | 0 erpnext/gettext/extractors/uom_data.py | 17 +++++++++++++++++ 4 files changed, 18 insertions(+) create mode 100644 babel_extractors.csv create mode 100644 erpnext/gettext/__init__.py create mode 100644 erpnext/gettext/extractors/__init__.py create mode 100644 erpnext/gettext/extractors/uom_data.py diff --git a/babel_extractors.csv b/babel_extractors.csv new file mode 100644 index 00000000000..a8ae8a77603 --- /dev/null +++ b/babel_extractors.csv @@ -0,0 +1 @@ +**/setup/setup_wizard/data/uom_data.json,erpnext.gettext.extractors.uom_data.extract diff --git a/erpnext/gettext/__init__.py b/erpnext/gettext/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/erpnext/gettext/extractors/__init__.py b/erpnext/gettext/extractors/__init__.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/erpnext/gettext/extractors/uom_data.py b/erpnext/gettext/extractors/uom_data.py new file mode 100644 index 00000000000..d279c92952c --- /dev/null +++ b/erpnext/gettext/extractors/uom_data.py @@ -0,0 +1,17 @@ +import json + + +def extract(fileobj, *args, **kwargs): + """ + Extract messages from a JSON file with standard UOM data. To be used by the Babel extractor. + + :param fileobj: the file-like object the messages should be extracted from + :rtype: `iterator` + """ + uom_list = json.load(fileobj) + + if not isinstance(uom_list, list): + return + + for uom_data in uom_list: + yield None, "_", uom_data.get("uom_name"), ["Name of a UOM"]