diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2017-06-16 17:43:46 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2017-06-16 17:43:46 +0300 |
commit | fc4154f857ba1117d39c1493c997f4c5c8c6f2b7 (patch) | |
tree | d08897e41b34153f5dc2a4a613a31481aed645aa /doc | |
parent | 34389999b2da52786ffa39fc5cf018b817ca5e1d (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.py | 59 |
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... |