Merge branch 'blender-v3.3-release'
This commit is contained in:
commit
3faf5d3252
|
@ -3,9 +3,11 @@
|
|||
import bpy
|
||||
from bpy.types import Operator
|
||||
|
||||
from bpy.app.translations import pgettext_data as data_
|
||||
|
||||
|
||||
def geometry_node_group_empty_new():
|
||||
group = bpy.data.node_groups.new("Geometry Nodes", 'GeometryNodeTree')
|
||||
group = bpy.data.node_groups.new(data_("Geometry Nodes"), 'GeometryNodeTree')
|
||||
group.inputs.new('NodeSocketGeometry', "Geometry")
|
||||
group.outputs.new('NodeSocketGeometry', "Geometry")
|
||||
input_node = group.nodes.new('NodeGroupInput')
|
||||
|
@ -45,7 +47,7 @@ class NewGeometryNodesModifier(Operator):
|
|||
return geometry_modifier_poll(context)
|
||||
|
||||
def execute(self, context):
|
||||
modifier = context.object.modifiers.new("GeometryNodes", "NODES")
|
||||
modifier = context.object.modifiers.new(data_("GeometryNodes"), "NODES")
|
||||
|
||||
if not modifier:
|
||||
return {'CANCELLED'}
|
||||
|
|
|
@ -11,11 +11,13 @@ from bpy.props import (
|
|||
StringProperty,
|
||||
)
|
||||
|
||||
from bpy.app.translations import pgettext_data as data_
|
||||
|
||||
# For preset popover menu
|
||||
WindowManager.preset_name = StringProperty(
|
||||
name="Preset Name",
|
||||
description="Name for new preset",
|
||||
default="New Preset"
|
||||
default=data_("New Preset")
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -2483,8 +2483,8 @@ class BatchRenameAction(bpy.types.PropertyGroup):
|
|||
)
|
||||
|
||||
# Weak, add/remove as properties.
|
||||
op_add: BoolProperty()
|
||||
op_remove: BoolProperty()
|
||||
op_add: BoolProperty(name="Add")
|
||||
op_remove: BoolProperty(name="Remove")
|
||||
|
||||
|
||||
class WM_OT_batch_rename(Operator):
|
||||
|
@ -2570,7 +2570,7 @@ class WM_OT_batch_rename(Operator):
|
|||
if only_selected else
|
||||
scene.sequence_editor.sequences_all,
|
||||
"name",
|
||||
"Strip(s)",
|
||||
iface_("Strip(s)"),
|
||||
)
|
||||
elif space_type == 'NODE_EDITOR':
|
||||
data_type_test = 'NODE'
|
||||
|
@ -2582,7 +2582,7 @@ class WM_OT_batch_rename(Operator):
|
|||
if only_selected else
|
||||
list(space.node_tree.nodes),
|
||||
"name",
|
||||
"Node(s)",
|
||||
iface_("Node(s)"),
|
||||
)
|
||||
elif space_type == 'OUTLINER':
|
||||
data_type_test = 'COLLECTION'
|
||||
|
@ -2594,7 +2594,7 @@ class WM_OT_batch_rename(Operator):
|
|||
if only_selected else
|
||||
scene.collection.children_recursive,
|
||||
"name",
|
||||
"Collection(s)",
|
||||
iface_("Collection(s)"),
|
||||
)
|
||||
else:
|
||||
if mode == 'POSE' or (mode == 'WEIGHT_PAINT' and context.pose_object):
|
||||
|
@ -2607,7 +2607,7 @@ class WM_OT_batch_rename(Operator):
|
|||
if only_selected else
|
||||
[pbone.bone for ob in context.objects_in_mode_unique_data for pbone in ob.pose.bones],
|
||||
"name",
|
||||
"Bone(s)",
|
||||
iface_("Bone(s)"),
|
||||
)
|
||||
elif mode == 'EDIT_ARMATURE':
|
||||
data_type_test = 'BONE'
|
||||
|
@ -2619,24 +2619,24 @@ class WM_OT_batch_rename(Operator):
|
|||
if only_selected else
|
||||
[ebone for ob in context.objects_in_mode_unique_data for ebone in ob.data.edit_bones],
|
||||
"name",
|
||||
"Edit Bone(s)",
|
||||
iface_("Edit Bone(s)"),
|
||||
)
|
||||
|
||||
if check_context:
|
||||
return 'OBJECT'
|
||||
|
||||
object_data_type_attrs_map = {
|
||||
'MESH': ("meshes", "Mesh(es)", bpy.types.Mesh),
|
||||
'CURVE': ("curves", "Curve(s)", bpy.types.Curve),
|
||||
'META': ("metaballs", "Metaball(s)", bpy.types.MetaBall),
|
||||
'VOLUME': ("volumes", "Volume(s)", bpy.types.Volume),
|
||||
'GPENCIL': ("grease_pencils", "Grease Pencil(s)", bpy.types.GreasePencil),
|
||||
'ARMATURE': ("armatures", "Armature(s)", bpy.types.Armature),
|
||||
'LATTICE': ("lattices", "Lattice(s)", bpy.types.Lattice),
|
||||
'LIGHT': ("lights", "Light(s)", bpy.types.Light),
|
||||
'LIGHT_PROBE': ("light_probes", "Light Probe(s)", bpy.types.LightProbe),
|
||||
'CAMERA': ("cameras", "Camera(s)", bpy.types.Camera),
|
||||
'SPEAKER': ("speakers", "Speaker(s)", bpy.types.Speaker),
|
||||
'MESH': ("meshes", iface_("Mesh(es)"), bpy.types.Mesh),
|
||||
'CURVE': ("curves", iface_("Curve(s)"), bpy.types.Curve),
|
||||
'META': ("metaballs", iface_("Metaball(s)"), bpy.types.MetaBall),
|
||||
'VOLUME': ("volumes", iface_("Volume(s)"), bpy.types.Volume),
|
||||
'GPENCIL': ("grease_pencils", iface_("Grease Pencil(s)"), bpy.types.GreasePencil),
|
||||
'ARMATURE': ("armatures", iface_("Armature(s)"), bpy.types.Armature),
|
||||
'LATTICE': ("lattices", iface_("Lattice(s)"), bpy.types.Lattice),
|
||||
'LIGHT': ("lights", iface_("Light(s)"), bpy.types.Light),
|
||||
'LIGHT_PROBE': ("light_probes", iface_("Light Probe(s)"), bpy.types.LightProbe),
|
||||
'CAMERA': ("cameras", iface_("Camera(s)"), bpy.types.Camera),
|
||||
'SPEAKER': ("speakers", iface_("Speaker(s)"), bpy.types.Speaker),
|
||||
}
|
||||
|
||||
# Finish with space types.
|
||||
|
@ -2654,7 +2654,7 @@ class WM_OT_batch_rename(Operator):
|
|||
if only_selected else
|
||||
[id for id in bpy.data.objects if id.library is None],
|
||||
"name",
|
||||
"Object(s)",
|
||||
iface_("Object(s)"),
|
||||
)
|
||||
elif data_type == 'COLLECTION':
|
||||
data = (
|
||||
|
@ -2669,7 +2669,7 @@ class WM_OT_batch_rename(Operator):
|
|||
if only_selected else
|
||||
[id for id in bpy.data.collections if id.library is None],
|
||||
"name",
|
||||
"Collection(s)",
|
||||
iface_("Collection(s)"),
|
||||
)
|
||||
elif data_type == 'MATERIAL':
|
||||
data = (
|
||||
|
@ -2688,7 +2688,7 @@ class WM_OT_batch_rename(Operator):
|
|||
if only_selected else
|
||||
[id for id in bpy.data.materials if id.library is None],
|
||||
"name",
|
||||
"Material(s)",
|
||||
iface_("Material(s)"),
|
||||
)
|
||||
elif data_type in object_data_type_attrs_map.keys():
|
||||
attr, descr, ty = object_data_type_attrs_map[data_type]
|
||||
|
@ -2913,7 +2913,7 @@ class WM_OT_batch_rename(Operator):
|
|||
row.prop(action, "op_remove", text="", icon='REMOVE')
|
||||
row.prop(action, "op_add", text="", icon='ADD')
|
||||
|
||||
layout.label(text="Rename %d %s" % (len(self._data[0]), self._data[2]))
|
||||
layout.label(text=iface_("Rename %d %s") % (len(self._data[0]), self._data[2]))
|
||||
|
||||
def check(self, context):
|
||||
changed = False
|
||||
|
@ -2974,7 +2974,7 @@ class WM_OT_batch_rename(Operator):
|
|||
change_len += 1
|
||||
total_len += 1
|
||||
|
||||
self.report({'INFO'}, "Renamed %d of %d %s" % (change_len, total_len, descr))
|
||||
self.report({'INFO'}, tip_("Renamed %d of %d %s") % (change_len, total_len, descr))
|
||||
|
||||
return {'FINISHED'}
|
||||
|
||||
|
|
|
@ -13,6 +13,8 @@ from bl_ui.properties_physics_common import (
|
|||
effector_weights_ui,
|
||||
)
|
||||
|
||||
from bpy.app.translations import pgettext_iface as iface_
|
||||
|
||||
|
||||
class SCENE_UL_keying_set_paths(UIList):
|
||||
def draw_item(self, _context, layout, _data, item, icon, _active_data, _active_propname, _index):
|
||||
|
@ -82,17 +84,17 @@ class SceneKeyingSetsPanel:
|
|||
@staticmethod
|
||||
def draw_keyframing_settings(context, layout, ks, ksp):
|
||||
SceneKeyingSetsPanel._draw_keyframing_setting(
|
||||
context, layout, ks, ksp, "Needed",
|
||||
context, layout, ks, ksp, iface_("Needed"),
|
||||
"use_insertkey_override_needed", "use_insertkey_needed",
|
||||
userpref_fallback="use_keyframe_insert_needed",
|
||||
)
|
||||
SceneKeyingSetsPanel._draw_keyframing_setting(
|
||||
context, layout, ks, ksp, "Visual",
|
||||
context, layout, ks, ksp, iface_("Visual"),
|
||||
"use_insertkey_override_visual", "use_insertkey_visual",
|
||||
userpref_fallback="use_visual_keying",
|
||||
)
|
||||
SceneKeyingSetsPanel._draw_keyframing_setting(
|
||||
context, layout, ks, ksp, "XYZ to RGB",
|
||||
context, layout, ks, ksp, iface_("XYZ to RGB"),
|
||||
"use_insertkey_override_xyz_to_rgb", "use_insertkey_xyz_to_rgb",
|
||||
)
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ from bpy.types import (
|
|||
)
|
||||
|
||||
from bpy.app.translations import pgettext_tip as tip_
|
||||
from bpy.app.translations import pgettext_iface as iface_
|
||||
|
||||
__all__ = (
|
||||
"ToolDef",
|
||||
|
@ -794,7 +795,7 @@ class ToolSelectPanelHelper:
|
|||
# Note: we could show 'item.text' here but it makes the layout jitter when switching tools.
|
||||
# Add some spacing since the icon is currently assuming regular small icon size.
|
||||
if show_tool_icon_always:
|
||||
layout.label(text=" " + item.label, icon_value=icon_value)
|
||||
layout.label(text=" " + iface_(item.label, "Operator"), icon_value=icon_value)
|
||||
layout.separator()
|
||||
else:
|
||||
if context.space_data.show_region_toolbar:
|
||||
|
@ -825,7 +826,7 @@ class ToolSelectPanelHelper:
|
|||
row.label(text="Drag:")
|
||||
row = split.row()
|
||||
row.context_pointer_set("tool", tool)
|
||||
row.popover(panel="TOPBAR_PT_tool_fallback", text=label)
|
||||
row.popover(panel="TOPBAR_PT_tool_fallback", text=iface_(label, "Operator"))
|
||||
|
||||
return tool
|
||||
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
import bpy
|
||||
from bpy.types import Header, Menu, Panel
|
||||
|
||||
from bpy.app.translations import pgettext_iface as iface_
|
||||
|
||||
|
||||
class TOPBAR_HT_upper_bar(Header):
|
||||
bl_space_type = 'TOPBAR'
|
||||
|
@ -363,7 +365,7 @@ class TOPBAR_MT_file_new(Menu):
|
|||
for d in paths:
|
||||
props = layout.operator(
|
||||
"wm.read_homefile",
|
||||
text=bpy.path.display_name(d),
|
||||
text=bpy.path.display_name(iface_(d)),
|
||||
icon=icon,
|
||||
)
|
||||
props.app_template = d
|
||||
|
|
|
@ -710,10 +710,10 @@ void BKE_collection_new_name_get(Collection *collection_parent, char *rname)
|
|||
char *name;
|
||||
|
||||
if (!collection_parent) {
|
||||
name = BLI_strdup("Collection");
|
||||
name = BLI_strdup(DATA_("Collection"));
|
||||
}
|
||||
else if (collection_parent->flag & COLLECTION_IS_MASTER) {
|
||||
name = BLI_sprintfN("Collection %d", BLI_listbase_count(&collection_parent->children) + 1);
|
||||
name = BLI_sprintfN(DATA_("Collection %d"), BLI_listbase_count(&collection_parent->children) + 1);
|
||||
}
|
||||
else {
|
||||
const int number = BLI_listbase_count(&collection_parent->children) + 1;
|
||||
|
|
|
@ -675,7 +675,7 @@ bGPDlayer *BKE_gpencil_layer_addnew(bGPdata *gpd,
|
|||
}
|
||||
|
||||
/* auto-name */
|
||||
BLI_strncpy(gpl->info, name, sizeof(gpl->info));
|
||||
BLI_strncpy(gpl->info, DATA_(name), sizeof(gpl->info));
|
||||
BLI_uniquename(&gpd->layers,
|
||||
gpl,
|
||||
(gpd->flag & GP_DATA_ANNOTATIONS) ? DATA_("Note") : DATA_("GP_Layer"),
|
||||
|
|
|
@ -56,6 +56,8 @@
|
|||
|
||||
#include "BLO_readfile.h"
|
||||
|
||||
#include "BLT_translation.h"
|
||||
|
||||
#include "versioning_common.h"
|
||||
|
||||
/* Make preferences read-only, use versioning_userdef.c. */
|
||||
|
@ -65,7 +67,7 @@ static bool blo_is_builtin_template(const char *app_template)
|
|||
{
|
||||
/* For all builtin templates shipped with Blender. */
|
||||
return (!app_template ||
|
||||
STR_ELEM(app_template, "2D_Animation", "Sculpting", "VFX", "Video_Editing"));
|
||||
STR_ELEM(app_template, N_("2D_Animation"), N_("Sculpting"), N_("VFX"), N_("Video_Editing")));
|
||||
}
|
||||
|
||||
static void blo_update_defaults_screen(bScreen *screen,
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
#include "BKE_main.h"
|
||||
#include "BKE_material.h"
|
||||
|
||||
#include "BLT_translation.h"
|
||||
|
||||
#include "DEG_depsgraph.h"
|
||||
|
||||
#include "ED_gpencil.h"
|
||||
|
@ -34,7 +36,7 @@ typedef struct ColorTemplate {
|
|||
static int gpencil_stroke_material(Main *bmain, Object *ob, const ColorTemplate *pct)
|
||||
{
|
||||
int index;
|
||||
Material *ma = BKE_gpencil_object_material_ensure_by_name(bmain, ob, pct->name, &index);
|
||||
Material *ma = BKE_gpencil_object_material_ensure_by_name(bmain, ob, DATA_(pct->name), &index);
|
||||
|
||||
copy_v4_v4(ma->gp_style->stroke_rgba, pct->line);
|
||||
srgb_to_linearrgb_v4(ma->gp_style->stroke_rgba, ma->gp_style->stroke_rgba);
|
||||
|
@ -52,7 +54,7 @@ static int gpencil_stroke_material(Main *bmain, Object *ob, const ColorTemplate
|
|||
/* Color Data */
|
||||
|
||||
static const ColorTemplate gp_stroke_material_black = {
|
||||
"Black",
|
||||
N_("Black"),
|
||||
{0.0f, 0.0f, 0.0f, 1.0f},
|
||||
{0.0f, 0.0f, 0.0f, 0.0f},
|
||||
};
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
#include "BKE_main.h"
|
||||
#include "BKE_material.h"
|
||||
|
||||
#include "BLT_translation.h"
|
||||
|
||||
#include "DEG_depsgraph.h"
|
||||
#include "DEG_depsgraph_query.h"
|
||||
|
||||
|
@ -40,7 +42,7 @@ static int gpencil_lineart_material(Main *bmain,
|
|||
const bool fill)
|
||||
{
|
||||
int index;
|
||||
Material *ma = BKE_gpencil_object_material_ensure_by_name(bmain, ob, pct->name, &index);
|
||||
Material *ma = BKE_gpencil_object_material_ensure_by_name(bmain, ob, DATA_(pct->name), &index);
|
||||
|
||||
copy_v4_v4(ma->gp_style->stroke_rgba, pct->line);
|
||||
srgb_to_linearrgb_v4(ma->gp_style->stroke_rgba, ma->gp_style->stroke_rgba);
|
||||
|
@ -59,7 +61,7 @@ static int gpencil_lineart_material(Main *bmain,
|
|||
/* Color Data */
|
||||
|
||||
static const ColorTemplate gp_stroke_material_black = {
|
||||
"Black",
|
||||
N_("Black"),
|
||||
{0.0f, 0.0f, 0.0f, 1.0f},
|
||||
{0.0f, 0.0f, 0.0f, 0.0f},
|
||||
};
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
#include "BKE_main.h"
|
||||
#include "BKE_material.h"
|
||||
|
||||
#include "BLT_translation.h"
|
||||
|
||||
#include "DEG_depsgraph.h"
|
||||
|
||||
#include "ED_gpencil.h"
|
||||
|
@ -54,7 +56,7 @@ static int gpencil_monkey_color(
|
|||
Main *bmain, Object *ob, const ColorTemplate *pct, bool stroke, bool fill)
|
||||
{
|
||||
int index;
|
||||
Material *ma = BKE_gpencil_object_material_ensure_by_name(bmain, ob, pct->name, &index);
|
||||
Material *ma = BKE_gpencil_object_material_ensure_by_name(bmain, ob, DATA_(pct->name), &index);
|
||||
|
||||
copy_v4_v4(ma->gp_style->stroke_rgba, pct->line);
|
||||
srgb_to_linearrgb_v4(ma->gp_style->stroke_rgba, ma->gp_style->stroke_rgba);
|
||||
|
@ -781,37 +783,37 @@ static const float data27[33 * GP_PRIM_DATABUF_SIZE] = {
|
|||
/* Monkey Color Data */
|
||||
|
||||
static const ColorTemplate gp_monkey_pct_black = {
|
||||
"Black",
|
||||
N_("Black"),
|
||||
{0.0f, 0.0f, 0.0f, 1.0f},
|
||||
{0.0f, 0.0f, 0.0f, 0.0f},
|
||||
};
|
||||
|
||||
static const ColorTemplate gp_monkey_pct_skin = {
|
||||
"Skin",
|
||||
N_("Skin"),
|
||||
{0.733f, 0.569f, 0.361f, 1.0f},
|
||||
{0.745f, 0.502f, 0.278f, 1.0f},
|
||||
};
|
||||
|
||||
static const ColorTemplate gp_monkey_pct_skin_light = {
|
||||
"Skin_Light",
|
||||
N_("Skin_Light"),
|
||||
{0.914f, 0.827f, 0.635f, 1.0f},
|
||||
{0.913f, 0.828f, 0.637f, 0.0f},
|
||||
};
|
||||
|
||||
static const ColorTemplate gp_monkey_pct_skin_shadow = {
|
||||
"Skin_Shadow",
|
||||
N_("Skin_Shadow"),
|
||||
{0.322f, 0.29f, 0.224f, 0.5f},
|
||||
{0.32f, 0.29f, 0.223f, 0.3f},
|
||||
};
|
||||
|
||||
static const ColorTemplate gp_monkey_pct_eyes = {
|
||||
"Eyes",
|
||||
N_("Eyes"),
|
||||
{0.553f, 0.39f, 0.266f, 0.0f},
|
||||
{0.847f, 0.723f, 0.599f, 1.0f},
|
||||
};
|
||||
|
||||
static const ColorTemplate gp_monkey_pct_pupils = {
|
||||
"Pupils",
|
||||
N_("Pupils"),
|
||||
{0.0f, 0.0f, 0.0f, 0.0f},
|
||||
{0.0f, 0.0f, 0.0f, 1.0f},
|
||||
};
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
#include "BKE_main.h"
|
||||
#include "BKE_material.h"
|
||||
|
||||
#include "BLT_translation.h"
|
||||
|
||||
#include "DEG_depsgraph.h"
|
||||
|
||||
#include "ED_gpencil.h"
|
||||
|
@ -37,7 +39,7 @@ static int gpencil_stroke_material(Main *bmain,
|
|||
const bool fill)
|
||||
{
|
||||
int index;
|
||||
Material *ma = BKE_gpencil_object_material_ensure_by_name(bmain, ob, pct->name, &index);
|
||||
Material *ma = BKE_gpencil_object_material_ensure_by_name(bmain, ob, DATA_(pct->name), &index);
|
||||
|
||||
copy_v4_v4(ma->gp_style->stroke_rgba, pct->line);
|
||||
srgb_to_linearrgb_v4(ma->gp_style->stroke_rgba, ma->gp_style->stroke_rgba);
|
||||
|
@ -150,37 +152,37 @@ static const float data0[175 * GP_PRIM_DATABUF_SIZE] = {
|
|||
/* Color Data */
|
||||
|
||||
static const ColorTemplate gp_stroke_material_black = {
|
||||
"Black",
|
||||
N_("Black"),
|
||||
{0.0f, 0.0f, 0.0f, 1.0f},
|
||||
{0.0f, 0.0f, 0.0f, 0.0f},
|
||||
};
|
||||
|
||||
static const ColorTemplate gp_stroke_material_white = {
|
||||
"White",
|
||||
N_("White"),
|
||||
{1.0f, 1.0f, 1.0f, 1.0f},
|
||||
{0.0f, 0.0f, 0.0f, 0.0f},
|
||||
};
|
||||
|
||||
static const ColorTemplate gp_stroke_material_red = {
|
||||
"Red",
|
||||
N_("Red"),
|
||||
{1.0f, 0.0f, 0.0f, 1.0f},
|
||||
{0.0f, 0.0f, 0.0f, 0.0f},
|
||||
};
|
||||
|
||||
static const ColorTemplate gp_stroke_material_green = {
|
||||
"Green",
|
||||
N_("Green"),
|
||||
{0.0f, 1.0f, 0.0f, 1.0f},
|
||||
{0.0f, 0.0f, 0.0f, 0.0f},
|
||||
};
|
||||
|
||||
static const ColorTemplate gp_stroke_material_blue = {
|
||||
"Blue",
|
||||
N_("Blue"),
|
||||
{0.0f, 0.0f, 1.0f, 1.0f},
|
||||
{0.0f, 0.0f, 0.0f, 0.0f},
|
||||
};
|
||||
|
||||
static const ColorTemplate gp_stroke_material_grey = {
|
||||
"Grey",
|
||||
N_("Grey"),
|
||||
{0.358f, 0.358f, 0.358f, 1.0f},
|
||||
{0.5f, 0.5f, 0.5f, 1.0f},
|
||||
};
|
||||
|
|
|
@ -273,7 +273,7 @@ static int text_new_exec(bContext *C, wmOperator *UNUSED(op))
|
|||
PointerRNA ptr, idptr;
|
||||
PropertyRNA *prop;
|
||||
|
||||
text = BKE_text_add(bmain, "Text");
|
||||
text = BKE_text_add(bmain, DATA_("Text"));
|
||||
|
||||
/* hook into UI */
|
||||
UI_context_active_but_prop_get_templateID(C, &ptr, &prop);
|
||||
|
|
Loading…
Reference in New Issue