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
This commit is contained in:
parent
2de1b06287
commit
af59e32c13
@ -876,7 +876,7 @@ def dump_preset_messages(msgs, reports, settings):
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
rel_path = path
|
rel_path = path
|
||||||
files.append(rel_path)
|
files.append(rel_path)
|
||||||
for rel_path in files:
|
for rel_path in sorted(files):
|
||||||
msgsrc, msgid = os.path.split(rel_path)
|
msgsrc, msgid = os.path.split(rel_path)
|
||||||
msgsrc = "Preset from " + msgsrc
|
msgsrc = "Preset from " + msgsrc
|
||||||
msgid = bpy.path.display_name(msgid, title_case=False)
|
msgid = bpy.path.display_name(msgid, title_case=False)
|
||||||
|
@ -3,6 +3,8 @@ import bpy
|
|||||||
from bpy.types import Menu, Panel, UIList
|
from bpy.types import Menu, Panel, UIList
|
||||||
from rna_prop_ui import PropertyPanel
|
from rna_prop_ui import PropertyPanel
|
||||||
|
|
||||||
|
from bpy.app.translations import pgettext_tip as tip_
|
||||||
|
|
||||||
|
|
||||||
class MESH_MT_vertex_group_context_menu(Menu):
|
class MESH_MT_vertex_group_context_menu(Menu):
|
||||||
bl_label = "Vertex Group Specials"
|
bl_label = "Vertex Group Specials"
|
||||||
@ -592,7 +594,7 @@ class DATA_PT_mesh_attributes(MeshButtonsPanel, Panel):
|
|||||||
if not colliding_names:
|
if not colliding_names:
|
||||||
return
|
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():
|
class ColorAttributesListBase():
|
||||||
|
@ -375,8 +375,8 @@ class NODE_PT_material_slots(Panel):
|
|||||||
def draw_header(self, context):
|
def draw_header(self, context):
|
||||||
ob = context.object
|
ob = context.object
|
||||||
self.bl_label = (
|
self.bl_label = (
|
||||||
"Slot " + str(ob.active_material_index + 1) if ob.material_slots else
|
iface_("Slot %d") % (ob.active_material_index + 1) if ob.material_slots else
|
||||||
"Slot"
|
iface_("Slot")
|
||||||
)
|
)
|
||||||
|
|
||||||
# Duplicate part of 'EEVEE_MATERIAL_PT_context_material'.
|
# Duplicate part of 'EEVEE_MATERIAL_PT_context_material'.
|
||||||
|
@ -6458,13 +6458,13 @@ bool uiTemplateEventFromKeymapItem(struct uiLayout *layout,
|
|||||||
for (int j = 0; j < ARRAY_SIZE(icon_mod) && icon_mod[j]; j++) {
|
for (int j = 0; j < ARRAY_SIZE(icon_mod) && icon_mod[j]; j++) {
|
||||||
uiItemL(layout, "", icon_mod[j]);
|
uiItemL(layout, "", icon_mod[j]);
|
||||||
}
|
}
|
||||||
uiItemL(layout, text, icon);
|
uiItemL(layout, TIP_(text), icon);
|
||||||
ok = true;
|
ok = true;
|
||||||
}
|
}
|
||||||
else if (text_fallback) {
|
else if (text_fallback) {
|
||||||
const char *event_text = WM_key_event_string(kmi->type, true);
|
const char *event_text = WM_key_event_string(kmi->type, true);
|
||||||
uiItemL(layout, event_text, ICON_NONE);
|
uiItemL(layout, event_text, ICON_NONE);
|
||||||
uiItemL(layout, text, ICON_NONE);
|
uiItemL(layout, TIP_(text), ICON_NONE);
|
||||||
ok = true;
|
ok = true;
|
||||||
}
|
}
|
||||||
return ok;
|
return ok;
|
||||||
|
@ -553,7 +553,7 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
|
|||||||
"particle_system",
|
"particle_system",
|
||||||
&particle_obj_ptr,
|
&particle_obj_ptr,
|
||||||
"particle_systems",
|
"particle_systems",
|
||||||
"Particle System",
|
IFACE_("Particle System"),
|
||||||
ICON_NONE);
|
ICON_NONE);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -316,7 +316,7 @@ static void panel_draw(const bContext *UNUSED(C), Panel *panel)
|
|||||||
sub = uiLayoutRow(sub, true);
|
sub = uiLayoutRow(sub, true);
|
||||||
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_add"));
|
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_add"));
|
||||||
uiLayoutSetPropSep(sub, false);
|
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);
|
uiItemDecoratorR(row, ptr, "add_threshold", 0);
|
||||||
|
|
||||||
col = uiLayoutColumnWithHeading(layout, false, IFACE_("Group Remove"));
|
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);
|
sub = uiLayoutRow(sub, true);
|
||||||
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_remove"));
|
uiLayoutSetActive(sub, RNA_boolean_get(ptr, "use_remove"));
|
||||||
uiLayoutSetPropSep(sub, false);
|
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);
|
uiItemDecoratorR(row, ptr, "remove_threshold", 0);
|
||||||
|
|
||||||
uiItemR(layout, ptr, "normalize", 0, NULL, ICON_NONE);
|
uiItemR(layout, ptr, "normalize", 0, NULL, ICON_NONE);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user