From af59e32c1320b02fe29806ebfecbbdf1a9bf71b7 Mon Sep 17 00:00:00 2001 From: Damien Picard Date: Tue, 9 Aug 2022 12:42:16 +0200 Subject: I18n: make more parts of the UI translatable - "Name collisions" label in mesh properties - "Threshold" labels in Vertex Weight Edit modifier - "Particle System" label in Particle Instance modifier - Slot number in the Shader Editor - Status bar keymap items during modal operations: add TIP_() macro to status bar interface template - On dumping messages, sort preset files so their messages are stable between runs Ref. T43295 Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15607 --- release/scripts/modules/bl_i18n_utils/bl_extract_messages.py | 2 +- release/scripts/startup/bl_ui/properties_data_mesh.py | 4 +++- release/scripts/startup/bl_ui/space_node.py | 4 ++-- source/blender/editors/interface/interface_templates.c | 4 ++-- source/blender/modifiers/intern/MOD_particleinstance.c | 2 +- source/blender/modifiers/intern/MOD_weightvgedit.c | 4 ++-- 6 files changed, 11 insertions(+), 9 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 a44b3ac132b..9f22b2417ed 100644 --- a/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py +++ b/release/scripts/modules/bl_i18n_utils/bl_extract_messages.py @@ -876,7 +876,7 @@ def dump_preset_messages(msgs, reports, settings): except ValueError: rel_path = path files.append(rel_path) - for rel_path in files: + for rel_path in sorted(files): msgsrc, msgid = os.path.split(rel_path) msgsrc = "Preset from " + msgsrc msgid = bpy.path.display_name(msgid, title_case=False) diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py index 80b9b773d9b..8f2141ba6fc 100644 --- a/release/scripts/startup/bl_ui/properties_data_mesh.py +++ b/release/scripts/startup/bl_ui/properties_data_mesh.py @@ -3,6 +3,8 @@ import bpy from bpy.types import Menu, Panel, UIList from rna_prop_ui import PropertyPanel +from bpy.app.translations import pgettext_tip as tip_ + class MESH_MT_vertex_group_context_menu(Menu): bl_label = "Vertex Group Specials" @@ -592,7 +594,7 @@ class DATA_PT_mesh_attributes(MeshButtonsPanel, Panel): if not colliding_names: return - layout.label(text="Name collisions: " + ", ".join(set(colliding_names)), icon='ERROR') + layout.label(text=tip_("Name collisions: ") + ", ".join(set(colliding_names)), icon='ERROR') class ColorAttributesListBase(): diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py index 427d0696c20..dab06cc4993 100644 --- a/release/scripts/startup/bl_ui/space_node.py +++ b/release/scripts/startup/bl_ui/space_node.py @@ -375,8 +375,8 @@ class NODE_PT_material_slots(Panel): def draw_header(self, context): ob = context.object self.bl_label = ( - "Slot " + str(ob.active_material_index + 1) if ob.material_slots else - "Slot" + iface_("Slot %d") % (ob.active_material_index + 1) if ob.material_slots else + iface_("Slot") ) # Duplicate part of 'EEVEE_MATERIAL_PT_context_material'. diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c index f566299960a..cb3d0923348 100644 --- a/source/blender/editors/interface/interface_templates.c +++ b/source/blender/editors/interface/interface_templates.c @@ -6458,13 +6458,13 @@ bool uiTemplateEventFromKeymapItem(struct uiLayout *layout, for (int j = 0; j < ARRAY_SIZE(icon_mod) && icon_mod[j]; j++) { uiItemL(layout, "", icon_mod[j]); } - uiItemL(layout, text, icon); + uiItemL(layout, TIP_(text), icon); ok = true; } else if (text_fallback) { const char *event_text = WM_key_event_string(kmi->type, true); uiItemL(layout, event_text, ICON_NONE); - uiItemL(layout, text, ICON_NONE); + uiItemL(layout, TIP_(text), ICON_NONE); ok = true; } return ok; diff --git a/source/blender/modifiers/intern/MOD_particleinstance.c b/source/blender/modifiers/intern/MOD_particleinstance.c index 5018b2d1030..d6435c55211 100644 --- a/source/blender/modifiers/intern/MOD_particleinstance.c +++ b/source/blender/modifiers/intern/MOD_particleinstance.c @@ -553,7 +553,7 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel) "particle_system", &particle_obj_ptr, "particle_systems", - "Particle System", + IFACE_("Particle System"), ICON_NONE); } else { diff --git a/source/blender/modifiers/intern/MOD_weightvgedit.c b/source/blender/modifiers/intern/MOD_weightvgedit.c index 7ffaa120ba2..8ccf140e665 100644 --- a/source/blender/modifiers/intern/MOD_weightvgedit.c +++ b/source/blender/modifiers/intern/MOD_weightvgedit.c @@ -316,7 +316,7 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel) sub = uiLayoutRow(sub, true); uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_add")); uiLayoutSetPropSep(sub, false); - uiItemR(sub, ptr, "add_threshold", UI_ITEM_R_SLIDER, "Threshold", ICON_NONE); + uiItemR(sub, ptr, "add_threshold", UI_ITEM_R_SLIDER, IFACE_("Threshold"), ICON_NONE); uiItemDecoratorR(row, ptr, "add_threshold", 0); col = uiLayoutColumnWithHeading(layout, false, IFACE_("Group Remove")); @@ -327,7 +327,7 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel) sub = uiLayoutRow(sub, true); uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_remove")); uiLayoutSetPropSep(sub, false); - uiItemR(sub, ptr, "remove_threshold", UI_ITEM_R_SLIDER, "Threshold", ICON_NONE); + uiItemR(sub, ptr, "remove_threshold", UI_ITEM_R_SLIDER, IFACE_("Threshold"), ICON_NONE); uiItemDecoratorR(row, ptr, "remove_threshold", 0); uiItemR(layout, ptr, "normalize", 0, NULL, ICON_NONE); -- cgit v1.2.3