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

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2017-06-16 17:43:46 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2017-06-16 17:43:46 +0300
commitfc4154f857ba1117d39c1493c997f4c5c8c6f2b7 (patch)
treed08897e41b34153f5dc2a4a613a31481aed645aa /doc
parent34389999b2da52786ffa39fc5cf018b817ca5e1d (diff)
Fix T51810: Add minimal example of usage of translation API for non-official addons.
Diffstat (limited to 'doc')
-rw-r--r--doc/python_api/examples/bpy.app.translations.py59
1 files changed, 59 insertions, 0 deletions
diff --git a/doc/python_api/examples/bpy.app.translations.py b/doc/python_api/examples/bpy.app.translations.py
index e41623d2885..4256147ef31 100644
--- a/doc/python_api/examples/bpy.app.translations.py
+++ b/doc/python_api/examples/bpy.app.translations.py
@@ -32,3 +32,62 @@ Module References
-----------------
"""
+
+import bpy
+
+# This block can be automatically generated by UI translations addon, which also handles conversion with PO format.
+# See also https://wiki.blender.org/index.php/Dev:Doc/Process/Translate_Blender#Translating_non-official_addons
+# It can (should) also be put in a different, specific py file.
+
+# ##### 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: Copy Settings 0.1.5 (r0)\nReport-Msgid-Bugs-To: \nPOT-Creation-Date: 2013-04-18 15:27:45.563524\nPO-Revision-Date: 2013-04-18 15:38+0100\nLast-Translator: Bastien Montagne <montagne29@wanadoo.fr>\nLanguage-Team: LANGUAGE <LL@li.org>\nLanguage: __POT__\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit\n",
+ (False,
+ ("Blender's translation file (po format).",
+ "Copyright (C) 2013 The Blender Foundation.",
+ "This file is distributed under the same license as the Blender package.",
+ "FIRST AUTHOR <EMAIL@ADDRESS>, YEAR."))),
+ ),
+ (("Operator", "Render: Copy Settings"),
+ (("bpy.types.SCENE_OT_render_copy_settings",),
+ ()),
+ ("fr_FR", "Rendu : copier réglages",
+ (False, ())),
+ ),
+ (("*", "Copy render settings from current scene to others"),
+ (("bpy.types.SCENE_OT_render_copy_settings",),
+ ()),
+ ("fr_FR", "Copier les réglages de rendu depuis la scène courante vers d’autres",
+ (False, ())),
+ ),
+ # ... etc, all messages from your addon.
+)
+
+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
+
+# ##### END AUTOGENERATED I18N SECTION #####
+
+# Define remaining addon (operators, UI...) here.
+
+def register():
+ # Usual operator/UI/etc. registration...
+
+ bpy.app.translations.register(__name__, translations_dict)
+
+
+def unregister():
+ bpy.app.translations.unregister(__name__)
+
+ # Usual operator/UI/etc. unregistration...