From 535c9308ef16c0bf0a5daa54c6bfd72a0dbf6ca3 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Fri, 22 Apr 2022 15:37:16 +0200 Subject: Fix T97429: Translateable Unit Names Missing in the File. Added some regex magic in i18n py module to also extract UI names from all of our units definitions. Those enum values are fully dynamically generated, so they cannot be extracted from RNA introspection. --- release/scripts/modules/bl_i18n_utils/settings.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'release/scripts') diff --git a/release/scripts/modules/bl_i18n_utils/settings.py b/release/scripts/modules/bl_i18n_utils/settings.py index 514ff83e001..a398299aa56 100644 --- a/release/scripts/modules/bl_i18n_utils/settings.py +++ b/release/scripts/modules/bl_i18n_utils/settings.py @@ -253,6 +253,14 @@ PYGETTEXT_KEYWORDS = (() + tuple(("{}\\((?:[^\"',]+,)\\s*" + _msg_re + r"\s*(?:\)|,)").format(it) for it in ("BKE_modifier_set_error",)) + + # bUnitDef unit names. + # NOTE: regex is a bit more complex than it would need too. Since the actual + # identifier (`B_UNIT_DEF_`) is at the end, if it's simpler/too general it + # becomes extremely slow to process some (unrelated) source files. + ((r"\{(?:(?:\s*\"[^\"',]+\"\s*,)|(?:\s*NULL\s*,)){4}\s*" + + _msg_re + r"\s*,(?:(?:\s*\"[^\"',]+\"\s*,)|(?:\s*NULL\s*,))(?:[^,]+,){2}" + + "\s*B_UNIT_DEF_[_A-Z]+\s*\}"),) + + tuple((r"{}\(\s*" + _msg_re + r"\s*,\s*(?:" + r"\s*,\s*)?(?:".join(_ctxt_re_gen(i) for i in range(PYGETTEXT_MAX_MULTI_CTXT)) + r")?\s*\)").format(it) for it in ("BLT_I18N_MSGID_MULTI_CTXT",)) -- cgit v1.2.3