feat: add translatable string extractor for UOM names
diff --git a/babel_extractors.csv b/babel_extractors.csv
new file mode 100644
index 0000000..a8ae8a7
--- /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 0000000..e69de29
--- /dev/null
+++ b/erpnext/gettext/__init__.py
diff --git a/erpnext/gettext/extractors/__init__.py b/erpnext/gettext/extractors/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/gettext/extractors/__init__.py
diff --git a/erpnext/gettext/extractors/uom_data.py b/erpnext/gettext/extractors/uom_data.py
new file mode 100644
index 0000000..d279c92
--- /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"]