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-06-30 20:06:54 +0300
committerDamien Picard <dam.pic@free.fr>2022-07-10 15:19:24 +0300
commit6fb43c4b04b5073c6dd7b3ef88f4cee61709ce7e (patch)
tree5ded3c683b7614d42ef8b14863335b2f086da92d
parent732082e3eb0517d9c428f97ce11ddb103ab0580b (diff)
Animall: add French translations
-rw-r--r--animation_animall/__init__.py38
-rw-r--r--animation_animall/translations.py250
2 files changed, 264 insertions, 24 deletions
diff --git a/animation_animall/__init__.py b/animation_animall/__init__.py
index 944f4a2f..1ff7bc69 100644
--- a/animation_animall/__init__.py
+++ b/animation_animall/__init__.py
@@ -13,16 +13,11 @@ bl_info = {
}
import bpy
-from bpy.types import (
- Operator,
- Panel,
- AddonPreferences,
- )
-from bpy.props import (
- BoolProperty,
- StringProperty,
- )
+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 . import translations
# Property Definitions
@@ -210,7 +205,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='Maybe set "%s" to 1.0?' % shape_key.name, icon="INFO")
+ col.label(text=pgettext_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")
@@ -658,28 +653,23 @@ class AnimallAddonPreferences(AddonPreferences):
col.label(text="Tab Category:")
col.prop(self, "category", text="")
+register_classes, unregister_classes = bpy.utils.register_classes_factory(
+ (AnimallProperties, VIEW3D_PT_animall, ANIM_OT_insert_keyframe_animall,
+ ANIM_OT_delete_keyframe_animall, ANIM_OT_clear_animation_animall,
+ ANIM_OT_update_vertex_color_animation_animall, AnimallAddonPreferences))
def register():
- bpy.utils.register_class(AnimallProperties)
+ register_classes()
bpy.types.Scene.animall_properties = bpy.props.PointerProperty(type=AnimallProperties)
- bpy.utils.register_class(VIEW3D_PT_animall)
- bpy.utils.register_class(ANIM_OT_insert_keyframe_animall)
- bpy.utils.register_class(ANIM_OT_delete_keyframe_animall)
- bpy.utils.register_class(ANIM_OT_clear_animation_animall)
- bpy.utils.register_class(ANIM_OT_update_vertex_color_animation_animall)
- bpy.utils.register_class(AnimallAddonPreferences)
update_panel(None, bpy.context)
+ bpy.app.translations.register(__name__, translations.translations_dict)
def unregister():
del bpy.types.Scene.animall_properties
- bpy.utils.unregister_class(AnimallProperties)
- bpy.utils.unregister_class(VIEW3D_PT_animall)
- bpy.utils.unregister_class(ANIM_OT_insert_keyframe_animall)
- bpy.utils.unregister_class(ANIM_OT_delete_keyframe_animall)
- bpy.utils.unregister_class(ANIM_OT_clear_animation_animall)
- bpy.utils.unregister_class(ANIM_OT_update_vertex_color_animation_animall)
- bpy.utils.unregister_class(AnimallAddonPreferences)
+ unregister_classes()
+
+ bpy.app.translations.unregister(__name__)
if __name__ == "__main__":
register()
diff --git a/animation_animall/translations.py b/animation_animall/translations.py
new file mode 100644
index 00000000..9ced1807
--- /dev/null
+++ b/animation_animall/translations.py
@@ -0,0 +1,250 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# 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",
+ (False,
+ ("Blender's translation file (po format).",
+ "Copyright (C) 2022 The Blender Foundation.",
+ "This file is distributed under the same license as the Blender package.",
+ "Damien Picard <dam.pic@free.fr>, 2022."))),
+ ),
+ (("*", "Tab Category"),
+ (("bpy.types.AnimallAddonPreferences.category",),
+ ()),
+ ("fr_FR", "Catégorie d’onglet",
+ (False, ())),
+ ),
+ (("*", "Choose a name for the category of the panel"),
+ (("bpy.types.AnimallAddonPreferences.category",),
+ ()),
+ ("fr_FR", "Choisir un nom pour la catégorie du panneau",
+ (False, ())),
+ ),
+ (("Operator", "Clear Animation"),
+ (("bpy.types.ANIM_OT_clear_animation_animall",),
+ ()),
+ ("fr_FR", "Effacer l’animation",
+ (False, ())),
+ ),
+ (("*", "Delete all keyframes for this object\nIf in a specific case it doesn't work\ntry to delete the keys manually"),
+ (("bpy.types.ANIM_OT_clear_animation_animall",),
+ ()),
+ ("fr_FR", "Supprimer toutes les images clés pour cet objet.\n"
+ "En cas d’échec, essayez de les supprimer manuellement",
+ (False, ())),
+ ),
+ (("*", "Insert a Keyframe"),
+ (("bpy.types.ANIM_OT_insert_keyframe_animall",),
+ ()),
+ ("fr_FR", "Insérer une image clé",
+ (False, ())),
+ ),
+ (("Operator", "Delete Key"),
+ (("bpy.types.ANIM_OT_delete_keyframe_animall",),
+ ()),
+ ("fr_FR", "Supprimer image clé",
+ (False, ())),
+ ),
+ (("*", "Delete a Keyframe"),
+ (("bpy.types.ANIM_OT_delete_keyframe_animall",),
+ ()),
+ ("fr_FR", "Supprimer une image clé",
+ (False, ())),
+ ),
+ (("*", "Animate"),
+ (("bpy.types.VIEW3D_PT_animall",),
+ ()),
+ ("fr_FR", "Animer",
+ (False, ())),
+ ),
+ (("*", "Insert keyframes on active attribute values"),
+ (("bpy.types.AnimallProperties.key_attribute",),
+ ()),
+ ("fr_FR", "Insérer des clés sur l’attribut actif",
+ (False, ())),
+ ),
+ (("*", "Insert keyframes on edge bevel weight"),
+ (("bpy.types.AnimallProperties.key_edge_bevel",),
+ ()),
+ ("fr_FR", "Insérer des clés sur les poids de biseau d’arête",
+ (False, ())),
+ ),
+ (("*", "Insert keyframes on edge creases"),
+ (("bpy.types.AnimallProperties.key_edge_crease",),
+ ()),
+ ("fr_FR", "Insérer des clés sur les plis d’arête",
+ (False, ())),
+ ),
+ (("*", "Insert keyframes on face material indices"),
+ (("bpy.types.AnimallProperties.key_material_index",),
+ ()),
+ ("fr_FR", "Insérer des clés sur les indices de matériaux",
+ (False, ())),
+ ),
+ (("*", "Insert keyframes on point locations"),
+ (("bpy.types.AnimallProperties.key_point_location",),
+ ()),
+ ("fr_FR", "Insérer des clés sur les positions des points",
+ (False, ())),
+ ),
+ (("*", "Insert keyframes on point radius (Shrink/Fatten)"),
+ (("bpy.types.AnimallProperties.key_radius",),
+ ()),
+ ("fr_FR", "Insérer des clés sur le rayon de rayon de point (épaisseur de la courbe)",
+ (False, ())),
+ ),
+ (("*", "Key Selected Only"),
+ (("bpy.types.AnimallProperties.key_selected",),
+ ()),
+ ("fr_FR", "Sélection uniquement",
+ (False, ())),
+ ),
+ (("*", "Insert keyframes only on selected elements"),
+ (("bpy.types.AnimallProperties.key_selected",),
+ ()),
+ ("fr_FR", "Insérer des images clés seulement sur les éléments sélectionnés",
+ (False, ())),
+ ),
+ (("*", "Insert keyframes on active Shape Key layer"),
+ (("bpy.types.AnimallProperties.key_shape_key",),
+ ()),
+ ("fr_FR", "Insérer des clés sur le calque de clé de forme actif",
+ (False, ())),
+ ),
+ (("*", "Insert keyframes on point tilt"),
+ (("bpy.types.AnimallProperties.key_tilt",),
+ ()),
+ ("fr_FR", "Insérer des clés sur l’inclinaison des points",
+ (False, ())),
+ ),
+ (("*", "Insert keyframes on active UV coordinates"),
+ (("bpy.types.AnimallProperties.key_uvs",),
+ ()),
+ ("fr_FR", "Insérer des clés sur les coordonnées UV actives",
+ (False, ())),
+ ),
+ (("*", "Insert keyframes on vertex bevel weight"),
+ (("bpy.types.AnimallProperties.key_vertex_bevel",),
+ ()),
+ ("fr_FR", "Insérer des clés sur les poids de biseau des sommets",
+ (False, ())),
+ ),
+ (("*", "Insert keyframes on active vertex group values"),
+ (("bpy.types.AnimallProperties.key_vertex_group",),
+ ()),
+ ("fr_FR", "Insérer des clés sur les valeurs des groupes de sommets",
+ (False, ())),
+ ),
+ (("*", "AnimAll"),
+ (("scripts/addons/animation_animall.py:142",),
+ ()),
+ ("fr_FR", "",
+ (False, ())),
+ ),
+ (("*", "Key:"),
+ (("scripts/addons/animation_animall.py:150",),
+ ()),
+ ("fr_FR", "Insérer :",
+ (False, ())),
+ ),
+ (("*", "Tab Category:"),
+ (("scripts/addons/animation_animall.py:658",),
+ ()),
+ ("fr_FR", "Catégorie d’onglet",
+ (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"),
+ ()),
+ ("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, ())),
+ # ),
+ (("*", "\"Location\" and \"Shape Key\" are redundant?"),
+ (("scripts/addons/animation_animall.py:222",),
+ ()),
+ ("fr_FR", "\"Position\" et \"Clé de forme\" sont redondants ?",
+ (False, ())),
+ ),
+ (("*", "Splines"),
+ (("scripts/addons/animation_animall.py:197",),
+ ()),
+ ("fr_FR", "",
+ (False, ())),
+ ),
+ (("*", "Maybe set \"%s\" to 1.0?"),
+ (("scripts/addons/animation_animall.py:213",),
+ ()),
+ ("fr_FR", "Essayez de mettre « %s » à 1.0 ?",
+ (False, ())),
+ ),
+ (("*", "Cannot key on Basis Shape"),
+ (("scripts/addons/animation_animall.py:216",),
+ ()),
+ ("fr_FR", "Impossible d’ajouter une clé sur la forme de base",
+ (False, ())),
+ ),
+ (("*", "No active Shape Key"),
+ (("scripts/addons/animation_animall.py:219",),
+ ()),
+ ("fr_FR", "Pas de clé de forme active",
+ (False, ())),
+ ),
+ (("*", "Clear Animation could not be performed"),
+ (("scripts/addons/animation_animall.py:586",),
+ ()),
+ ("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",),
+ ()),
+ ("fr_FR", "L’objet contient des couleurs de sommets à l’ancien format. Veuillez les mettre à jour",
+ (False, ())),
+ ),
+)
+
+translations_dict = {}
+for msg in translations_tuple:
+ key = msg[0]
+ for lang, trans, (is_fuzzy, comments) in msg[2:]:
+ if trans and not is_fuzzy:
+ translations_dict.setdefault(lang, {})[key] = trans