Merge branch 'blender-v3.3-release'
This commit is contained in:
commit
fe4feef050
|
@ -16,7 +16,8 @@ import bpy
|
|||
from bpy.types import (Operator, Panel, AddonPreferences)
|
||||
from bpy.props import (BoolProperty, StringProperty)
|
||||
from bpy.app.handlers import persistent
|
||||
from bpy.app.translations import pgettext_iface
|
||||
from bpy.app.translations import (pgettext_iface as iface_,
|
||||
pgettext_data as data_)
|
||||
from . import translations
|
||||
|
||||
|
||||
|
@ -205,7 +206,7 @@ class VIEW3D_PT_animall(Panel):
|
|||
row.prop(shape_key, "value", text=shape_key.name, icon="SHAPEKEY_DATA")
|
||||
row.prop(obj, "show_only_shape_key", text="")
|
||||
if shape_key.value < 1:
|
||||
col.label(text=pgettext_iface('Maybe set "%s" to 1.0?') % shape_key.name, icon="INFO")
|
||||
col.label(text=iface_('Maybe set "%s" to 1.0?') % shape_key.name, icon="INFO")
|
||||
elif shape_key is not None:
|
||||
col = layout.column(align=True)
|
||||
col.label(text="Cannot key on Basis Shape", icon="ERROR")
|
||||
|
@ -234,7 +235,7 @@ class ANIM_OT_insert_keyframe_animall(Operator):
|
|||
bl_description = "Insert a Keyframe"
|
||||
bl_options = {'REGISTER', 'UNDO'}
|
||||
|
||||
def execute(op, context):
|
||||
def execute(self, context):
|
||||
animall_properties = context.scene.animall_properties
|
||||
|
||||
if context.mode == 'OBJECT':
|
||||
|
@ -256,12 +257,12 @@ class ANIM_OT_insert_keyframe_animall(Operator):
|
|||
sk_name = obj.active_shape_key.name
|
||||
for p_i, point in enumerate(obj.active_shape_key.data):
|
||||
if not animall_properties.key_selected or data.points[p_i].select:
|
||||
insert_key(point, 'co', group="%s Point %s" % (sk_name, p_i))
|
||||
insert_key(point, 'co', group=data_("%s Point %s") % (sk_name, p_i))
|
||||
|
||||
if animall_properties.key_point_location:
|
||||
for p_i, point in enumerate(data.points):
|
||||
if not animall_properties.key_selected or point.select:
|
||||
insert_key(point, 'co_deform', group="Point %s" % p_i)
|
||||
insert_key(point, 'co_deform', group=data_("Point %s") % p_i)
|
||||
|
||||
else:
|
||||
if animall_properties.key_material_index:
|
||||
|
@ -269,7 +270,7 @@ class ANIM_OT_insert_keyframe_animall(Operator):
|
|||
if (not animall_properties.key_selected
|
||||
or any(point.select for point in spline.points)
|
||||
or any(point.select_control_point for point in spline.bezier_points)):
|
||||
insert_key(spline, 'material_index', group="Spline %s" % s_i)
|
||||
insert_key(spline, 'material_index', group=data_("Spline %s") % s_i)
|
||||
|
||||
for s_i, spline in enumerate(data.splines):
|
||||
if spline.type == 'BEZIER':
|
||||
|
@ -279,27 +280,27 @@ class ANIM_OT_insert_keyframe_animall(Operator):
|
|||
or CV.select_left_handle
|
||||
or CV.select_right_handle):
|
||||
if animall_properties.key_point_location:
|
||||
insert_key(CV, 'co', group="Spline %s CV %s" % (s_i, v_i))
|
||||
insert_key(CV, 'handle_left', group="Spline %s CV %s" % (s_i, v_i))
|
||||
insert_key(CV, 'handle_right', group="Spline %s CV %s" % (s_i, v_i))
|
||||
insert_key(CV, 'co', group=data_("Spline %s CV %s") % (s_i, v_i))
|
||||
insert_key(CV, 'handle_left', group=data_("Spline %s CV %s") % (s_i, v_i))
|
||||
insert_key(CV, 'handle_right', group=data_("Spline %s CV %s") % (s_i, v_i))
|
||||
|
||||
if animall_properties.key_radius:
|
||||
insert_key(CV, 'radius', group="Spline %s CV %s" % (s_i, v_i))
|
||||
insert_key(CV, 'radius', group=data_("Spline %s CV %s") % (s_i, v_i))
|
||||
|
||||
if animall_properties.key_tilt:
|
||||
insert_key(CV, 'tilt', group="Spline %s CV %s" % (s_i, v_i))
|
||||
insert_key(CV, 'tilt', group=data_("Spline %s CV %s") % (s_i, v_i))
|
||||
|
||||
elif spline.type in ('POLY', 'NURBS'):
|
||||
for v_i, CV in enumerate(spline.points):
|
||||
if not animall_properties.key_selected or CV.select:
|
||||
if animall_properties.key_point_location:
|
||||
insert_key(CV, 'co', group="Spline %s CV %s" % (s_i, v_i))
|
||||
insert_key(CV, 'co', group=data_("Spline %s CV %s") % (s_i, v_i))
|
||||
|
||||
if animall_properties.key_radius:
|
||||
insert_key(CV, 'radius', group="Spline %s CV %s" % (s_i, v_i))
|
||||
insert_key(CV, 'radius', group=data_("Spline %s CV %s") % (s_i, v_i))
|
||||
|
||||
if animall_properties.key_tilt:
|
||||
insert_key(CV, 'tilt', group="Spline %s CV %s" % (s_i, v_i))
|
||||
insert_key(CV, 'tilt', group=data_("Spline %s CV %s") % (s_i, v_i))
|
||||
|
||||
bpy.ops.object.mode_set(mode='OBJECT')
|
||||
|
||||
|
@ -309,37 +310,37 @@ class ANIM_OT_insert_keyframe_animall(Operator):
|
|||
if animall_properties.key_point_location:
|
||||
for v_i, vert in enumerate(data.vertices):
|
||||
if not animall_properties.key_selected or vert.select:
|
||||
insert_key(vert, 'co', group="Vertex %s" % v_i)
|
||||
insert_key(vert, 'co', group=data_("Vertex %s") % v_i)
|
||||
|
||||
if animall_properties.key_vertex_bevel:
|
||||
for v_i, vert in enumerate(data.vertices):
|
||||
if not animall_properties.key_selected or vert.select:
|
||||
insert_key(vert, 'bevel_weight', group="Vertex %s" % v_i)
|
||||
insert_key(vert, 'bevel_weight', group=data_("Vertex %s") % v_i)
|
||||
# if animall_properties.key_vertex_crease:
|
||||
# for v_i, vert in enumerate(data.vertices):
|
||||
# if not animall_properties.key_selected or vert.select:
|
||||
# insert_key(vert, 'crease', group="Vertex %s" % v_i)
|
||||
# insert_key(vert, 'crease', group=data_("Vertex %s") % v_i)
|
||||
|
||||
if animall_properties.key_vertex_group:
|
||||
for v_i, vert in enumerate(data.vertices):
|
||||
if not animall_properties.key_selected or vert.select:
|
||||
for group in vert.groups:
|
||||
insert_key(group, 'weight', group="Vertex %s" % v_i)
|
||||
insert_key(group, 'weight', group=data_("Vertex %s") % v_i)
|
||||
|
||||
if animall_properties.key_edge_bevel:
|
||||
for e_i, edge in enumerate(data.edges):
|
||||
if not animall_properties.key_selected or edge.select:
|
||||
insert_key(edge, 'bevel_weight', group="Edge %s" % e_i)
|
||||
insert_key(edge, 'bevel_weight', group=data_("Edge %s") % e_i)
|
||||
|
||||
if animall_properties.key_edge_crease:
|
||||
for e_i, edge in enumerate(data.edges):
|
||||
if not animall_properties.key_selected or edge.select:
|
||||
insert_key(edge, 'crease', group="Edge %s" % e_i)
|
||||
insert_key(edge, 'crease', group=data_("Edge %s") % e_i)
|
||||
|
||||
if animall_properties.key_material_index:
|
||||
for p_i, polygon in enumerate(data.polygons):
|
||||
if not animall_properties.key_selected or polygon.select:
|
||||
insert_key(polygon, 'material_index', group="Face %s" % p_i)
|
||||
insert_key(polygon, 'material_index', group=data_("Face %s") % p_i)
|
||||
|
||||
if animall_properties.key_attribute:
|
||||
if data.attributes.active is not None:
|
||||
|
@ -354,13 +355,13 @@ class ANIM_OT_insert_keyframe_animall(Operator):
|
|||
attribute_key = "vector"
|
||||
|
||||
if attribute.domain == 'POINT':
|
||||
group = "Vertex %s"
|
||||
group = data_("Vertex %s")
|
||||
elif attribute.domain == 'EDGE':
|
||||
group = "Edge %s"
|
||||
group = data_("Edge %s")
|
||||
elif attribute.domain == 'FACE':
|
||||
group = "Face %s"
|
||||
group = data_("Face %s")
|
||||
elif attribute.domain == 'CORNER':
|
||||
group = "Loop %s"
|
||||
group = data_("Loop %s")
|
||||
|
||||
for e_i, _attribute_data in enumerate(attribute.data):
|
||||
if (not animall_properties.key_selected
|
||||
|
@ -375,14 +376,14 @@ class ANIM_OT_insert_keyframe_animall(Operator):
|
|||
if data.uv_layers.active is not None:
|
||||
for uv_i, uv in enumerate(data.uv_layers.active.data):
|
||||
if not animall_properties.key_selected or uv.select:
|
||||
insert_key(uv, 'uv', group="UV layer %s" % uv_i)
|
||||
insert_key(uv, 'uv', group=data_("UV layer %s") % uv_i)
|
||||
|
||||
if animall_properties.key_shape_key:
|
||||
if obj.active_shape_key_index > 0:
|
||||
sk_name = obj.active_shape_key.name
|
||||
for v_i, vert in enumerate(obj.active_shape_key.data):
|
||||
if not animall_properties.key_selected or data.vertices[v_i].select:
|
||||
insert_key(vert, 'co', group="%s Vertex %s" % (sk_name, v_i))
|
||||
insert_key(vert, 'co', group=data_("%s Vertex %s") % (sk_name, v_i))
|
||||
|
||||
elif obj.type in {'CURVE', 'SURFACE'}:
|
||||
# Shape key keys have to be inserted in object mode for curves...
|
||||
|
@ -398,11 +399,11 @@ class ANIM_OT_insert_keyframe_animall(Operator):
|
|||
or CV.select_right_handle):
|
||||
if obj.active_shape_key_index > 0:
|
||||
CV = obj.active_shape_key.data[global_spline_index]
|
||||
insert_key(CV, 'co', group="%s Spline %s CV %s" % (sk_name, s_i, v_i))
|
||||
insert_key(CV, 'handle_left', group="%s Spline %s CV %s" % (sk_name, s_i, v_i))
|
||||
insert_key(CV, 'handle_right', group="%s Spline %s CV %s" % (sk_name, s_i, v_i))
|
||||
insert_key(CV, 'radius', group="%s Spline %s CV %s" % (sk_name, s_i, v_i))
|
||||
insert_key(CV, 'tilt', group="%s Spline %s CV %s" % (sk_name, s_i, v_i))
|
||||
insert_key(CV, 'co', group=data_("%s Spline %s CV %s") % (sk_name, s_i, v_i))
|
||||
insert_key(CV, 'handle_left', group=data_("%s Spline %s CV %s") % (sk_name, s_i, v_i))
|
||||
insert_key(CV, 'handle_right', group=data_("%s Spline %s CV %s") % (sk_name, s_i, v_i))
|
||||
insert_key(CV, 'radius', group=data_("%s Spline %s CV %s") % (sk_name, s_i, v_i))
|
||||
insert_key(CV, 'tilt', group=data_("%s Spline %s CV %s") % (sk_name, s_i, v_i))
|
||||
global_spline_index += 1
|
||||
|
||||
elif spline.type in ('POLY', 'NURBS'):
|
||||
|
@ -410,9 +411,9 @@ class ANIM_OT_insert_keyframe_animall(Operator):
|
|||
if not animall_properties.key_selected or CV.select:
|
||||
if obj.active_shape_key_index > 0:
|
||||
CV = obj.active_shape_key.data[global_spline_index]
|
||||
insert_key(CV, 'co', group="%s Spline %s CV %s" % (sk_name, s_i, v_i))
|
||||
insert_key(CV, 'radius', group="%s Spline %s CV %s" % (sk_name, s_i, v_i))
|
||||
insert_key(CV, 'tilt', group="%s Spline %s CV %s" % (sk_name, s_i, v_i))
|
||||
insert_key(CV, 'co', group=data_("%s Spline %s CV %s") % (sk_name, s_i, v_i))
|
||||
insert_key(CV, 'radius', group=data_("%s Spline %s CV %s") % (sk_name, s_i, v_i))
|
||||
insert_key(CV, 'tilt', group=data_("%s Spline %s CV %s") % (sk_name, s_i, v_i))
|
||||
global_spline_index += 1
|
||||
|
||||
bpy.ops.object.mode_set(mode=mode)
|
||||
|
@ -427,8 +428,7 @@ class ANIM_OT_delete_keyframe_animall(Operator):
|
|||
bl_description = "Delete a Keyframe"
|
||||
bl_options = {'REGISTER', 'UNDO'}
|
||||
|
||||
|
||||
def execute(op, context):
|
||||
def execute(self, context):
|
||||
animall_properties = context.scene.animall_properties
|
||||
|
||||
if context.mode == 'OBJECT':
|
||||
|
@ -662,14 +662,12 @@ def register():
|
|||
register_classes()
|
||||
bpy.types.Scene.animall_properties = bpy.props.PointerProperty(type=AnimallProperties)
|
||||
update_panel(None, bpy.context)
|
||||
|
||||
bpy.app.translations.register(__name__, translations.translations_dict)
|
||||
|
||||
def unregister():
|
||||
bpy.app.translations.unregister(__name__)
|
||||
del bpy.types.Scene.animall_properties
|
||||
unregister_classes()
|
||||
|
||||
bpy.app.translations.unregister(__name__)
|
||||
|
||||
if __name__ == "__main__":
|
||||
register()
|
||||
|
|
|
@ -1,11 +1,16 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
# ##### BEGIN AUTOGENERATED I18N SECTION #####
|
||||
# NOTE: You can safely move around this auto-generated block (with the begin/end markers!),
|
||||
# and edit the translations by hand.
|
||||
# Just carefully respect the format of the tuple!
|
||||
|
||||
# Tuple of tuples:
|
||||
# ((msgctxt, msgid), (sources, gen_comments), (lang, translation, (is_fuzzy, comments)), ...)
|
||||
translations_tuple = (
|
||||
(("*", ""),
|
||||
((), ()),
|
||||
("fr_FR", "Project-Id-Version: AnimAll 0.9.6 (0)\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2022-06-24 00:41:10.347798\nPO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\nLast-Translator: FULL NAME <EMAIL@ADDRESS>\nLanguage-Team: LANGUAGE <LL@li.org>\nLanguage: __POT__\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit",
|
||||
("fr_FR", "Project-Id-Version: AnimAll 0.9.6 (0)\n",
|
||||
(False,
|
||||
("Blender's translation file (po format).",
|
||||
"Copyright (C) 2022 The Blender Foundation.",
|
||||
|
@ -24,6 +29,13 @@ translations_tuple = (
|
|||
("fr_FR", "Choisir un nom pour la catégorie du panneau",
|
||||
(False, ())),
|
||||
),
|
||||
(("Operator", "Insert Key"),
|
||||
(("bpy.types.ANIM_OT_insert_keyframe_animall",
|
||||
"bpy.types.ANIM_OT_insert_keyframe_animall"),
|
||||
()),
|
||||
("fr_FR", "Insérer une clé",
|
||||
(False, ())),
|
||||
),
|
||||
(("Operator", "Clear Animation"),
|
||||
(("bpy.types.ANIM_OT_clear_animation_animall",),
|
||||
()),
|
||||
|
@ -140,106 +152,206 @@ translations_tuple = (
|
|||
(False, ())),
|
||||
),
|
||||
(("*", "AnimAll"),
|
||||
(("scripts/addons/animation_animall.py:142",),
|
||||
(("scripts/addons/animation_animall/__init__.py:138",
|
||||
"Add-on AnimAll info: name"),
|
||||
()),
|
||||
("fr_FR", "",
|
||||
("fr_FR", "AnimAll",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Key:"),
|
||||
(("scripts/addons/animation_animall.py:150",),
|
||||
(("scripts/addons/animation_animall/__init__.py:146",),
|
||||
()),
|
||||
("fr_FR", "Insérer :",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Tab Category:"),
|
||||
(("scripts/addons/animation_animall.py:658",),
|
||||
(("scripts/addons/animation_animall/__init__.py:653",),
|
||||
()),
|
||||
("fr_FR", "Catégorie d’onglet",
|
||||
("fr_FR", "Catégorie d’onglet :",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Points"),
|
||||
(("scripts/addons/animation_animall/__init__.py:152",
|
||||
"scripts/addons/animation_animall/__init__.py:159",
|
||||
"scripts/addons/animation_animall/__init__.py:188"),
|
||||
()),
|
||||
("fr_FR", "Points",
|
||||
(False, ())),
|
||||
),
|
||||
# (("*", "Points"),
|
||||
# (("scripts/addons/animation_animall.py:156",
|
||||
# "scripts/addons/animation_animall.py:163",
|
||||
# "scripts/addons/animation_animall.py:192"),
|
||||
# ()),
|
||||
# ("fr_FR", "",
|
||||
# (False, ())),
|
||||
# ),
|
||||
(("*", "Others"),
|
||||
(("scripts/addons/animation_animall.py:159",
|
||||
"scripts/addons/animation_animall.py:175",
|
||||
"scripts/addons/animation_animall.py:200"),
|
||||
(("scripts/addons/animation_animall/__init__.py:155",
|
||||
"scripts/addons/animation_animall/__init__.py:171",
|
||||
"scripts/addons/animation_animall/__init__.py:196"),
|
||||
()),
|
||||
("fr_FR", "Autres",
|
||||
(False, ())),
|
||||
),
|
||||
# (("*", "Bevel"),
|
||||
# (("scripts/addons/animation_animall.py:165",
|
||||
# "scripts/addons/animation_animall.py:169"),
|
||||
# ()),
|
||||
# ("fr_FR", "",
|
||||
# (False, ())),
|
||||
# ),
|
||||
# (("*", "Edges"),
|
||||
# (("scripts/addons/animation_animall.py:168",),
|
||||
# ()),
|
||||
# ("fr_FR", "",
|
||||
# (False, ())),
|
||||
# ),
|
||||
# (("*", "Crease"),
|
||||
# (("scripts/addons/animation_animall.py:170",),
|
||||
# ()),
|
||||
# ("fr_FR", "",
|
||||
# (False, ())),
|
||||
# ),
|
||||
# (("*", "Faces"),
|
||||
# (("scripts/addons/animation_animall.py:172",),
|
||||
# ()),
|
||||
# ("fr_FR", "",
|
||||
# (False, ())),
|
||||
# ),
|
||||
(("*", "Bevel"),
|
||||
(("scripts/addons/animation_animall/__init__.py:161",
|
||||
"scripts/addons/animation_animall/__init__.py:165"),
|
||||
()),
|
||||
("fr_FR", "Biseau",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Edges"),
|
||||
(("scripts/addons/animation_animall/__init__.py:164",),
|
||||
()),
|
||||
("fr_FR", "Arêtes",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Crease"),
|
||||
(("scripts/addons/animation_animall/__init__.py:166",),
|
||||
()),
|
||||
("fr_FR", "Plis",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Faces"),
|
||||
(("scripts/addons/animation_animall/__init__.py:168",),
|
||||
()),
|
||||
("fr_FR", "Faces",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "\"Location\" and \"Shape Key\" are redundant?"),
|
||||
(("scripts/addons/animation_animall.py:222",),
|
||||
(("scripts/addons/animation_animall/__init__.py:218",),
|
||||
()),
|
||||
("fr_FR", "\"Position\" et \"Clé de forme\" sont redondants ?",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Splines"),
|
||||
(("scripts/addons/animation_animall.py:197",),
|
||||
(("scripts/addons/animation_animall/__init__.py:193",),
|
||||
()),
|
||||
("fr_FR", "",
|
||||
("fr_FR", "Splines",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Maybe set \"%s\" to 1.0?"),
|
||||
(("scripts/addons/animation_animall.py:213",),
|
||||
(("scripts/addons/animation_animall/__init__.py:209",
|
||||
"scripts/addons/animation_animall/__init__.py:209"),
|
||||
()),
|
||||
("fr_FR", "Essayez de mettre « %s » à 1.0 ?",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Cannot key on Basis Shape"),
|
||||
(("scripts/addons/animation_animall.py:216",),
|
||||
(("scripts/addons/animation_animall/__init__.py:212",),
|
||||
()),
|
||||
("fr_FR", "Impossible d’ajouter une clé sur la forme de base",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "No active Shape Key"),
|
||||
(("scripts/addons/animation_animall.py:219",),
|
||||
(("scripts/addons/animation_animall/__init__.py:215",),
|
||||
()),
|
||||
("fr_FR", "Pas de clé de forme active",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Clear Animation could not be performed"),
|
||||
(("scripts/addons/animation_animall.py:586",),
|
||||
(("scripts/addons/animation_animall/__init__.py:581",),
|
||||
()),
|
||||
("fr_FR", "La suppression de l’animation n’a pas pu aboutir",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Object includes old-style vertex colors. Consider updating them."),
|
||||
(("scripts/addons/animation_animall.py:186",),
|
||||
(("scripts/addons/animation_animall/__init__.py:182",),
|
||||
()),
|
||||
("fr_FR", "L’objet contient des couleurs de sommets à l’ancien format. Veuillez les mettre à jour",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Vertex %s"),
|
||||
(("scripts/addons/animation_animall/__init__.py:358",
|
||||
"scripts/addons/animation_animall/__init__.py:313",
|
||||
"scripts/addons/animation_animall/__init__.py:318",
|
||||
"scripts/addons/animation_animall/__init__.py:328"),
|
||||
()),
|
||||
("fr_FR", "Sommet %s",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Edge %s"),
|
||||
(("scripts/addons/animation_animall/__init__.py:360",
|
||||
"scripts/addons/animation_animall/__init__.py:333",
|
||||
"scripts/addons/animation_animall/__init__.py:338"),
|
||||
()),
|
||||
("fr_FR", "Arête %s",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Point %s"),
|
||||
(("scripts/addons/animation_animall/__init__.py:265",),
|
||||
()),
|
||||
("fr_FR", "Point %s",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Spline %s"),
|
||||
(("scripts/addons/animation_animall/__init__.py:273",),
|
||||
()),
|
||||
("fr_FR", "Spline %s",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Face %s"),
|
||||
(("scripts/addons/animation_animall/__init__.py:343",
|
||||
"scripts/addons/animation_animall/__init__.py:362"),
|
||||
()),
|
||||
("fr_FR", "Face %s",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "%s Point %s"),
|
||||
(("scripts/addons/animation_animall/__init__.py:260",),
|
||||
()),
|
||||
("fr_FR", "%s Point %s",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Loop %s"),
|
||||
(("scripts/addons/animation_animall/__init__.py:364",),
|
||||
()),
|
||||
("fr_FR", "Boucle %s",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "UV layer %s"),
|
||||
(("scripts/addons/animation_animall/__init__.py:379",),
|
||||
()),
|
||||
("fr_FR", "Calque UV %s",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "%s Vertex %s"),
|
||||
(("scripts/addons/animation_animall/__init__.py:386",),
|
||||
()),
|
||||
("fr_FR", "%s Sommet %s",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Spline %s CV %s"),
|
||||
(("scripts/addons/animation_animall/__init__.py:283",
|
||||
"scripts/addons/animation_animall/__init__.py:284",
|
||||
"scripts/addons/animation_animall/__init__.py:285",
|
||||
"scripts/addons/animation_animall/__init__.py:288",
|
||||
"scripts/addons/animation_animall/__init__.py:291",
|
||||
"scripts/addons/animation_animall/__init__.py:297",
|
||||
"scripts/addons/animation_animall/__init__.py:300",
|
||||
"scripts/addons/animation_animall/__init__.py:303"),
|
||||
()),
|
||||
("fr_FR", "Spline %s Point %s",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "%s Spline %s CV %s"),
|
||||
(("scripts/addons/animation_animall/__init__.py:402",
|
||||
"scripts/addons/animation_animall/__init__.py:403",
|
||||
"scripts/addons/animation_animall/__init__.py:404",
|
||||
"scripts/addons/animation_animall/__init__.py:405",
|
||||
"scripts/addons/animation_animall/__init__.py:406",
|
||||
"scripts/addons/animation_animall/__init__.py:414",
|
||||
"scripts/addons/animation_animall/__init__.py:415",
|
||||
"scripts/addons/animation_animall/__init__.py:416"),
|
||||
()),
|
||||
("fr_FR", "%s Spline %s Point %s",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "3D View > Toolbox > Animation tab > AnimAll"),
|
||||
(("Add-on AnimAll info: location",),
|
||||
()),
|
||||
("fr_FR", "Vue 3D > Panneau N > Onglet Animer > AnimAll",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Allows animation of mesh, lattice, curve and surface data"),
|
||||
(("Add-on AnimAll info: description",),
|
||||
()),
|
||||
("fr_FR", "Permet d’animer les données de maillages, de lattices, de courbes et de surfaces",
|
||||
(False, ())),
|
||||
),
|
||||
)
|
||||
|
||||
translations_dict = {}
|
||||
|
@ -248,3 +360,5 @@ for msg in translations_tuple:
|
|||
for lang, trans, (is_fuzzy, comments) in msg[2:]:
|
||||
if trans and not is_fuzzy:
|
||||
translations_dict.setdefault(lang, {})[key] = trans
|
||||
|
||||
# ##### END AUTOGENERATED I18N SECTION #####
|
||||
|
|
|
@ -48,16 +48,13 @@ def register():
|
|||
register_classes()
|
||||
bpy.types.Scene.sun_pos_properties = (
|
||||
bpy.props.PointerProperty(type=properties.SunPosProperties,
|
||||
name="Sun Position",
|
||||
description="Sun Position Settings"))
|
||||
|
||||
bpy.app.translations.register(__name__, translations.translations_dict)
|
||||
name="Sun Position",
|
||||
description="Sun Position Settings"))
|
||||
bpy.app.handlers.frame_change_post.append(sun_calc.sun_handler)
|
||||
|
||||
bpy.app.translations.register(__name__, translations.translations_dict)
|
||||
|
||||
def unregister():
|
||||
del bpy.types.Scene.sun_pos_properties
|
||||
unregister_classes()
|
||||
|
||||
bpy.app.translations.unregister(__name__)
|
||||
bpy.app.handlers.frame_change_post.remove(sun_calc.sun_handler)
|
||||
del bpy.types.Scene.sun_pos_properties
|
||||
unregister_classes()
|
||||
|
|
|
@ -174,6 +174,7 @@ class SunPosProperties(PropertyGroup):
|
|||
update=sun_update)
|
||||
|
||||
bind_to_sun: BoolProperty(
|
||||
name="Bind Texture to Sun",
|
||||
description="If true, Environment texture moves with sun",
|
||||
default=False,
|
||||
update=sun_update)
|
||||
|
|
|
@ -1,11 +1,16 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
# ##### BEGIN AUTOGENERATED I18N SECTION #####
|
||||
# NOTE: You can safely move around this auto-generated block (with the begin/end markers!),
|
||||
# and edit the translations by hand.
|
||||
# Just carefully respect the format of the tuple!
|
||||
|
||||
# Tuple of tuples:
|
||||
# ((msgctxt, msgid), (sources, gen_comments), (lang, translation, (is_fuzzy, comments)), ...)
|
||||
translations_tuple = (
|
||||
(("*", ""),
|
||||
((), ()),
|
||||
("fr_FR", "Project-Id-Version: Sun Position 3.1.2 (0)\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2022-06-30 15:02:06.261278\nPO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\nLast-Translator: FULL NAME <EMAIL@ADDRESS>\nLanguage-Team: LANGUAGE <LL@li.org>\nLanguage: __POT__\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit",
|
||||
("fr_FR", "Project-Id-Version: Sun Position 3.1.2 (0)\n",
|
||||
(False,
|
||||
("Blender's translation file (po format).",
|
||||
"Copyright (C) 2022 The Blender Foundation.",
|
||||
|
@ -100,7 +105,8 @@ translations_tuple = (
|
|||
),
|
||||
(("*", "Sun Position"),
|
||||
(("bpy.types.Scene.sun_pos_properties",
|
||||
"bpy.types.SUNPOS_PT_Panel"),
|
||||
"bpy.types.SUNPOS_PT_Panel",
|
||||
"Add-on Sun Position info: name"),
|
||||
()),
|
||||
("fr_FR", "Position du Soleil",
|
||||
(False, ())),
|
||||
|
@ -117,10 +123,10 @@ translations_tuple = (
|
|||
("fr_FR", "Préréglages de position du Soleil",
|
||||
(False, ())),
|
||||
),
|
||||
(("Operator", "Synchroniser Soleil et texture"),
|
||||
(("Operator", "Sync Sun to Texture"),
|
||||
(("bpy.types.WORLD_OT_sunpos_show_hdr",),
|
||||
()),
|
||||
("fr_FR", "",
|
||||
("fr_FR", "Synchroniser Soleil et texture",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "UTC zone"),
|
||||
|
@ -135,6 +141,13 @@ translations_tuple = (
|
|||
("fr_FR", "Fuseau horaire : différence avec Greenwich, Angleterre, en heures",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Bind Texture to Sun"),
|
||||
(("bpy.types.SunPosProperties.bind_to_sun",
|
||||
"scripts/addons/sun_position/ui_sun.py:119"),
|
||||
()),
|
||||
("fr_FR", "Lier la texture au Soleil",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "If true, Environment texture moves with sun"),
|
||||
(("bpy.types.SunPosProperties.bind_to_sun",),
|
||||
()),
|
||||
|
@ -186,7 +199,6 @@ translations_tuple = (
|
|||
(("*", "Name of texture to use. World nodes must be enabled and color set to Environment Texture"),
|
||||
(("bpy.types.SunPosProperties.hdr_texture",),
|
||||
()),
|
||||
# TODO
|
||||
("fr_FR", "Nom de la texture à utiliser. Les nœuds de shader du monde doivent être activés, et la couleur utiliser une texture d’environnement",
|
||||
(False, ())),
|
||||
),
|
||||
|
@ -287,12 +299,6 @@ translations_tuple = (
|
|||
("fr_FR", "Objet soleil à utiliser dans la scène",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Day Time"),
|
||||
(("bpy.types.SunPosProperties.UTC_zone",),
|
||||
()),
|
||||
("fr_FR", "Heure",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Time of the day"),
|
||||
(("bpy.types.SunPosProperties.time",),
|
||||
()),
|
||||
|
@ -384,7 +390,7 @@ translations_tuple = (
|
|||
(False, ())),
|
||||
),
|
||||
(("*", "Show options or labels:"),
|
||||
(("scripts/addons/sun_position/properties.py:241",),
|
||||
(("scripts/addons/sun_position/properties.py:242",),
|
||||
()),
|
||||
("fr_FR", "Afficher les options et étiquettes :",
|
||||
(False, ())),
|
||||
|
@ -414,42 +420,48 @@ translations_tuple = (
|
|||
(False, ())),
|
||||
),
|
||||
(("*", "UTC:"),
|
||||
(("scripts/addons/sun_position/ui_sun.py:270",),
|
||||
(("scripts/addons/sun_position/ui_sun.py:272",),
|
||||
()),
|
||||
("fr_FR", "UTC : ",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Sunrise:"),
|
||||
(("scripts/addons/sun_position/ui_sun.py:285",),
|
||||
()),
|
||||
("fr_FR", "Lever : ",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Sunset:"),
|
||||
(("scripts/addons/sun_position/ui_sun.py:288",),
|
||||
()),
|
||||
("fr_FR", "Coucher : ",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Please select World in the World panel."),
|
||||
(("scripts/addons/sun_position/ui_sun.py:95",
|
||||
"scripts/addons/sun_position/ui_sun.py:153"),
|
||||
()),
|
||||
("fr_FR", "Veuillez sélecttionner le monde dans le panneau Monde",
|
||||
("fr_FR", "Veuillez sélectionner le monde dans le panneau Monde",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Release binding"),
|
||||
(("scripts/addons/sun_position/ui_sun.py:116",),
|
||||
()),
|
||||
("fr_FR", "Annuler le lien",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Azimuth:"),
|
||||
(("scripts/addons/sun_position/ui_sun.py:206",),
|
||||
(("scripts/addons/sun_position/ui_sun.py:205",),
|
||||
()),
|
||||
("fr_FR", "Azimut :",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Elevation:"),
|
||||
(("scripts/addons/sun_position/ui_sun.py:209",),
|
||||
(("scripts/addons/sun_position/ui_sun.py:208",),
|
||||
()),
|
||||
("fr_FR", "Hauteur :",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Sunrise:"),
|
||||
(("scripts/addons/sun_position/ui_sun.py:284",),
|
||||
()),
|
||||
("fr_FR", "Lever : ",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Sunset:"),
|
||||
(("scripts/addons/sun_position/ui_sun.py:287",),
|
||||
()),
|
||||
("fr_FR", "Coucher : ",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Please activate Use Nodes in the World panel."),
|
||||
(("scripts/addons/sun_position/ui_sun.py:92",
|
||||
"scripts/addons/sun_position/ui_sun.py:150"),
|
||||
|
@ -457,6 +469,18 @@ translations_tuple = (
|
|||
("fr_FR", "Veuillez activer Utiliser nœuds dans le panneau Monde",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "World > Sun Position"),
|
||||
(("Add-on Sun Position info: location",),
|
||||
()),
|
||||
("fr_FR", "Monde > Position du Soleil",
|
||||
(False, ())),
|
||||
),
|
||||
(("*", "Show sun position with objects and/or sky texture"),
|
||||
(("Add-on Sun Position info: description",),
|
||||
()),
|
||||
("fr_FR", "Afficher la position du Soleil avec des objets ou une texture de ciel",
|
||||
(False, ())),
|
||||
),
|
||||
)
|
||||
|
||||
translations_dict = {}
|
||||
|
@ -465,3 +489,5 @@ for msg in translations_tuple:
|
|||
for lang, trans, (is_fuzzy, comments) in msg[2:]:
|
||||
if trans and not is_fuzzy:
|
||||
translations_dict.setdefault(lang, {})[key] = trans
|
||||
|
||||
# ##### END AUTOGENERATED I18N SECTION #####
|
||||
|
|
|
@ -112,11 +112,11 @@ class SUNPOS_PT_Panel(bpy.types.Panel):
|
|||
|
||||
col = flow.column(align=True)
|
||||
if sp.bind_to_sun:
|
||||
prop_text="Release binding"
|
||||
col.prop(sp, "bind_to_sun", toggle=True, icon="CONSTRAINT",
|
||||
text="Release binding")
|
||||
else:
|
||||
prop_text="Bind Texture to Sun "
|
||||
col.prop(sp, "bind_to_sun", toggle=True, icon="CONSTRAINT",
|
||||
text=prop_text)
|
||||
col.prop(sp, "bind_to_sun", toggle=True, icon="CONSTRAINT",
|
||||
text="Bind Texture to Sun")
|
||||
|
||||
row = col.row(align=True)
|
||||
row.enabled = not sp.bind_to_sun
|
||||
|
|
Loading…
Reference in New Issue