Moved main part of bpy.app.translations doc out of C code, as suggested by Campell, thx.

This commit is contained in:
Bastien Montagne 2013-05-14 18:16:37 +00:00
parent 8ef3c42f80
commit 6fc51bf20e
2 changed files with 33 additions and 27 deletions

@ -0,0 +1,33 @@
"""
Intro
-----
.. warning::
Most of this object should only be useful if you actually manipulate i18n stuff from Python.
If you are a regular addon, you should only bother about :const:`contexts` member,
and the :func:`register`/:func:`unregister` functions! The :func:`pgettext` family of functions
should only be used in rare, specific cases (like e.g. complex "composited" UI strings...).
| To add translations to your python script, you must define a dictionary formatted like that:
| ``{locale: {msg_key: msg_translation, ...}, ...}``
| where:
* locale is either a lang iso code (e.g. ``fr``), a lang+country code (e.g. ``pt_BR``),
a lang+variant code (e.g. ``sr@latin``), or a full code (e.g. ``uz_UZ@cyrilic``).
* msg_key is a tuple (context, org message) - use, as much as possible, the predefined :const:`contexts`.
* msg_translation is the translated message in given language!
Then, call ``bpy.app.translations.register(__name__, your_dict)`` in your ``register()`` function, and \n"
``bpy.app.translations.unregister(__name__)`` in your ``unregister()`` one.
The ``Manage UI translations`` addon has several functions to help you collect strings to translate, and
generate the needed python code (the translation dictionary), as well as optional intermediary po files
if you want some... See
`How to Translate Blender <http://wiki.blender.org/index.php/Dev:Doc/Process/Translate_Blender>`_ and
`Using i18n in Blender Code <http://wiki.blender.org/index.php/Dev:Source/Interface/Internationalization>`_
for more info.
Module References
-----------------
"""

@ -705,36 +705,9 @@ static void app_translations_free(void *obj)
}
PyDoc_STRVAR(app_translations_doc,
"Intro\n"
"-----\n"
"\n"
"This object contains some data/methods regarding internationalization in Blender, and allows every py script\n"
"to feature translations for its own UI messages.\n"
"\n"
".. warning::\n"
" Most of this object should only be useful if you actually manipulate i18n stuff from Python.\n"
" If you are a regular addon, you should only bother about :const:`contexts` member, \n"
" and the :func:`register`/:func:`unregister` functions!\n"
"\n"
"| To add translations to your python script, you must define a dictionary formatted like that:\n"
"| ``{locale: {msg_key: msg_translation, ...}, ...}``\n"
"| where:\n"
"\n"
"* locale is either a lang iso code (e.g. ``fr``), a lang+country code (e.g. ``pt_BR``),\n"
" a lang+variant code (e.g. ``sr@latin``), or a full code (e.g. ``uz_UZ@cyrilic``).\n"
"* msg_key is a tuple (context, org message) - use, as much as possible, the predefined :const:`contexts`.\n"
"* msg_translation is the translated message in given language!\n"
"\n"
"Then, call ``bpy.app.translations.register(__name__, your_dict)`` in your ``register()`` function, and \n"
"``bpy.app.translations.unregister(__name__)`` in your ``unregister()`` one.\n"
"\n"
"``bl_i18n_utils`` module has several functions to help you collect strings to translate, and generate the needed\n"
"python code (the translation dictionary), as well as optional intermediary po files if you want some...\n"
"See its documentation for more details.\n"
"\n"
"Module References\n"
"-----------------\n"
"\n"
);
static PyTypeObject BlenderAppTranslationsType = {
PyVarObject_HEAD_INIT(NULL, 0)