I18n: make several parts of the UI translatable
- batch rename - keyframe settings - tool name in Tool properties header - tool name in Tool properties Drag (fake) enum - new file templates - new preset - new text datablock - new collection datablock - new geometry nodes (modifier and node group) - new grease pencil data (layers and materials) Ref. T43295 Reviewed By: mont29 Differential Revision: https://developer.blender.org/D15533
This commit is contained in:
@@ -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'}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user