[Bf-blender-cvs] [0e78b3b794c] id_copy_refactor: Fix T51810: Add minimal example of usage of translation API for non-official addons.

Bastien Montagne noreply at git.blender.org
Tue Jun 20 17:56:15 CEST 2017


Commit: 0e78b3b794cce6ae7d3de84c6dcc455e0867a277
Author: Bastien Montagne
Date:   Fri Jun 16 16:43:46 2017 +0200
Branches: id_copy_refactor
https://developer.blender.org/rB0e78b3b794cce6ae7d3de84c6dcc455e0867a277

Fix T51810: Add minimal example of usage of translation API for non-official addons.

===================================================================

M	doc/python_api/examples/bpy.app.translations.py

===================================================================

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 at wanadoo.fr>\nLanguage-Team: LANGUAGE <LL at 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 at 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...




More information about the Bf-blender-cvs mailing list