diff --git a/animation_animall/__init__.py b/animation_animall/__init__.py index 1ff7bc698c954486b2ae2b2917a071f6f5e3003f..d679c97011613ad79de771030557faebca5c4b90 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 9ced18074f21c24548652473dca7fe324f71719c..03b77e0b03790e44635f5629ccd9e4322c169b82 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 9a3e5b72649062e86fea690af656158cc87b8ea0..5b2a89cec5495eebac209a8d1984c9eb41a8f000 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 ac791d4391fdc7bf0b87ad00914e9ff8b02ec97b..af2734a4c0aa0ea6dbfcf017083bd3d2f8b4b724 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 cd247ffd22e4103f928818668c4e23b9b84a15d8..c50b797cd2eac735e7209f6458f30de003a4cd04 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 05f0dcabd02fc1f16652cf4e14cfc49ba3724a8b..c6eebc338e3aa4ae48a66f0916c5ff1e5229ecf2 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