54 lines
1.9 KiB
Plaintext
54 lines
1.9 KiB
Plaintext
/**
|
|
|
|
@page translation Translations / Internationalization
|
|
|
|
@section lang-available Available Languages
|
|
|
|
The development, documentation and default application language of gds-render is English.
|
|
Translations of GUI and console output exist for the following locales/languages
|
|
|
|
- de German (Deutsch)
|
|
- ja Japanese (日本語) (Work in progess)
|
|
|
|
On how to add new languages, see @ref lang-add
|
|
|
|
@section lang-internals Internals
|
|
This progamm uses gettext for translations.
|
|
|
|
@subsection lang-coding Make Strings Translatable in Code
|
|
Only strings, that are marked as translatable are actually available for translation and shown in the user's language.
|
|
All other text is displayed as written in the source files.
|
|
|
|
@subsubsection lang-add-glade Make GUI Elements in Glade Files Translatable
|
|
Text inside Glade's GUI files can be made translatable by checking the *translatable* option for the specific text property.
|
|
The following image shows the label property of a button. Notice the checked Translatable option.
|
|
@image html translate-glade.png
|
|
@image latex translate-glade.png
|
|
|
|
@subsubsection lang-add-c Make C Strings Translatable
|
|
In order to make strings in C code translatable, the following header has to be included:
|
|
@code
|
|
#inlcude <glib/gi18n.h>
|
|
@endcode
|
|
This header provides a few macros useful for translation. The most important one is the function-like macro
|
|
@code
|
|
_("Text here")
|
|
@endcode
|
|
which is just a underline character.
|
|
You can use this marco to encapsulate all static strings that shall be translated. The whole expression is still usable like any other string (except for compile time concatenation, like: "This is foo" " and this is bar")
|
|
|
|
Example:
|
|
@code
|
|
printf(_("The value of foo is %d\n"), foo);
|
|
@endcode
|
|
|
|
Text that must not be translated can be encapsulated inside a N_ macro like
|
|
@code
|
|
N_("This has to stay in English")
|
|
@endcode
|
|
The N_ macro is basically an empty macro and just for visualization.
|
|
|
|
@subsection lang-add Add a New Language
|
|
|
|
*/
|