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.
This commit is contained in:
Bastien Montagne 2022-04-22 15:37:16 +02:00
parent 50f0103059
commit 535c9308ef
Notes: blender-bot 2023-02-14 01:57:12 +01:00
Referenced by issue #97429, Translateable Unit Names Missing in the File
2 changed files with 9 additions and 1 deletions

View File

@ -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",))

View File

@ -2630,7 +2630,7 @@ static const EnumPropertyItem *rna_UnitSettings_itemf_wrapper(const int system,
EnumPropertyItem adaptive = {0};
adaptive.identifier = "ADAPTIVE";
adaptive.name = "Adaptive";
adaptive.name = N_("Adaptive");
adaptive.value = USER_UNIT_ADAPTIVE;
RNA_enum_item_add(&items, &totitem, &adaptive);