Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Picard <dam.pic@free.fr>2022-08-29 01:23:26 +0300
committerDamien Picard <dam.pic@free.fr>2022-08-29 01:23:26 +0300
commitfe4feef0503bb0c0b7147599ce17018d0ceac615 (patch)
tree62e2e51f0d20cdea46106b6925f83d6c911f705f
parent66e5e1f3149bdf49d157760f56903473c5eb427e (diff)
parentddc9d5d0a0c64c56e5da6a0f5e99e2ca20b46649 (diff)
Merge branch 'blender-v3.3-release'
-rw-r--r--animation_animall/__init__.py78
-rw-r--r--animation_animall/translations.py214
-rw-r--r--sun_position/__init__.py13
-rw-r--r--sun_position/properties.py1
-rw-r--r--sun_position/translations.py82
-rw-r--r--sun_position/ui_sun.py8
6 files changed, 266 insertions, 130 deletions
diff --git a/animation_animall/__init__.py b/animation_animall/__init__.py
index 1ff7bc69..d679c970 100644
--- a/animation_animall/__init__.py
+++ b/animation_animall/__init__.py
@@ -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()
diff --git a/animation_animall/translations.py b/animation_animall/translations.py
index 9ced1807..03b77e0b 100644
--- a/animation_animall/translations.py
+++ b/animation_animall/translations.py
@@ -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 #####
diff --git a/sun_position/__init__.py b/sun_position/__init__.py
index 9a3e5b72..5b2a89ce 100644
--- a/sun_position/__init__.py
+++ b/sun_position/__init__.py
@@ -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()
diff --git a/sun_position/properties.py b/sun_position/properties.py
index ac791d43..af2734a4 100644
--- a/sun_position/properties.py
+++ b/sun_position/properties.py
@@ -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)
diff --git a/sun_position/translations.py b/sun_position/translations.py
index cd247ffd..c50b797c 100644
--- a/sun_position/translations.py
+++ b/sun_position/translations.py
@@ -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 #####
diff --git a/sun_position/ui_sun.py b/sun_position/ui_sun.py
index 05f0dcab..c6eebc33 100644
--- a/sun_position/ui_sun.py
+++ b/sun_position/ui_sun.py
@@ -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