diff options
author | Damien Picard <pioverfour> | 2022-08-29 15:02:24 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2022-08-29 15:12:21 +0300 |
commit | 73bfd8058f7506fa50f806227256f11ec8eeab85 (patch) | |
tree | 173b63b360837d3c59a1bc171574c94284b56031 /release | |
parent | 9823a8f72be80887898782978012298031466ccf (diff) |
I18n: make add-ons' info translatable
The info provided by add-ons is very valuable to users, yet it wasn’t translatable yet.
Reviewed By: mont29
Differential Revision: https://developer.blender.org/D15747
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/modules/bl_i18n_utils/bl_extract_messages.py | 15 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/space_userpref.py | 14 |
2 files changed, 23 insertions, 6 deletions
diff --git a/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py b/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py index fc7cbe566c3..683ca2bc5fe 100644 --- a/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py +++ b/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py @@ -907,6 +907,11 @@ def dump_template_messages(msgs, reports, settings): reports, None, settings) +def dump_addon_bl_info(msgs, reports, module, settings): + for prop in ('name', 'location', 'description'): + process_msg(msgs, settings.DEFAULT_CONTEXT, module.bl_info[prop], "Add-on " + module.bl_info['name'] + " info: " + prop, reports, None, settings) + + ##### Main functions! ##### def dump_messages(do_messages, do_checks, settings): bl_ver = "Blender " + bpy.app.version_string @@ -945,6 +950,13 @@ def dump_messages(do_messages, do_checks, settings): # Get strings from startup templates. dump_template_messages(msgs, reports, settings) + # Get strings from addons' bl_info. + import addon_utils + for module in addon_utils.modules(): + if module.bl_info['support'] != 'OFFICIAL': + continue + dump_addon_bl_info(msgs, reports, module, settings) + # Get strings from addons' categories. for uid, label, tip in bpy.types.WindowManager.addon_filter.keywords['items']( bpy.context.window_manager, @@ -1041,6 +1053,9 @@ def dump_addon_messages(module_name, do_checks, settings): reports["check_ctxt"] = check_ctxt dump_py_messages(msgs, reports, {addon}, settings, addons_only=True) + # Get strings from the addon's bl_info + dump_addon_bl_info(msgs, reports, addon, settings) + pot.unescape() # Strings gathered in py/C source code may contain escaped chars... print_info(reports, pot) diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index 1b155d22bdf..1b71b503eb7 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -1928,10 +1928,12 @@ class USERPREF_PT_addons(AddOnPanel, Panel): if is_visible: if search and not ( - (search in info["name"].lower()) or + (search in info["name"].lower() or + search in iface_(info["name"]).lower()) or (info["author"] and (search in info["author"].lower())) or - ((filter == "All") and (search in info["category"].lower())) - ): + ((filter == "All") and (search in info["category"].lower() or + search in iface_(info["category"]).lower())) + ): continue # Addon UI Code @@ -1954,7 +1956,7 @@ class USERPREF_PT_addons(AddOnPanel, Panel): sub = row.row() sub.active = is_enabled - sub.label(text="%s: %s" % (info["category"], info["name"])) + sub.label(text=iface_("%s: %s") % (iface_(info["category"]), iface_(info["name"]))) if info["warning"]: sub.label(icon='ERROR') @@ -1967,11 +1969,11 @@ class USERPREF_PT_addons(AddOnPanel, Panel): if info["description"]: split = colsub.row().split(factor=0.15) split.label(text="Description:") - split.label(text=info["description"]) + split.label(text=tip_(info["description"])) if info["location"]: split = colsub.row().split(factor=0.15) split.label(text="Location:") - split.label(text=info["location"]) + split.label(text=tip_(info["location"])) if mod: split = colsub.row().split(factor=0.15) split.label(text="File:") |