From 006bc603f80629721576832549c490c076fed975 Mon Sep 17 00:00:00 2001 From: Damien Picard Date: Fri, 17 Mar 2023 15:35:21 +0100 Subject: [PATCH] I18n: translate error messages generated with WM_report() and family Many error messages were translated when using `BKE_report()` or `BKE_reportf()`, directly, but others were missing because they used `WM_report()` or `WM_reportf()`. This commit adds these two functions to the list of functions used in the message extraction regex. In addition, `WM_reportf()` is modified so that the format string is translated before formatting actually occurs. --- scripts/modules/bl_i18n_utils/settings.py | 2 +- source/blender/windowmanager/intern/wm_event_system.cc | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/modules/bl_i18n_utils/settings.py b/scripts/modules/bl_i18n_utils/settings.py index 08790796d11..77fd245ee1c 100644 --- a/scripts/modules/bl_i18n_utils/settings.py +++ b/scripts/modules/bl_i18n_utils/settings.py @@ -243,7 +243,7 @@ PYGETTEXT_KEYWORDS = (() + tuple(("{}\\((?:[^\"',]+,){{1,2}}\\s*" + _msg_re + r"\s*(?:\)|,)").format(it) for it in ("BKE_report", "BKE_reportf", "BKE_reports_prepend", "BKE_reports_prependf", - "CTX_wm_operator_poll_msg_set")) + + "CTX_wm_operator_poll_msg_set", "WM_report", "WM_reportf")) + tuple(("{}\\((?:[^\"',]+,){{3}}\\s*" + _msg_re + r"\s*\)").format(it) for it in ("BMO_error_raise",)) + diff --git a/source/blender/windowmanager/intern/wm_event_system.cc b/source/blender/windowmanager/intern/wm_event_system.cc index dcf73332410..710fc6f6686 100644 --- a/source/blender/windowmanager/intern/wm_event_system.cc +++ b/source/blender/windowmanager/intern/wm_event_system.cc @@ -933,6 +933,8 @@ void WM_reportf(eReportType type, const char *format, ...) { va_list args; + format = TIP_(format); + DynStr *ds = BLI_dynstr_new(); va_start(args, format); BLI_dynstr_vappendf(ds, format, args);