forked from bartvdbraak/blender
Moved main part of bpy.app.translations doc out of C code, as suggested by Campell, thx.
This commit is contained in:
parent
8ef3c42f80
commit
6fc51bf20e
33
doc/python_api/examples/bpy.app.translations.py
Normal file
33
doc/python_api/examples/bpy.app.translations.py
Normal file
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user