Translation system

From Dolibarr ERP CRM Wiki
Revision as of 13:21, 23 July 2019 by PolyglotBot (talk | contribs) (Import interlang links (links to translated versions of this page in other languages) from Multi Language Manager table.)
Jump to navigation Jump to search





Development rules for internationalization (i18n)

In Dolibarr code, translations are made by using a method available in object $langs with the key to translate as a parameter of this method. The $langs object contains definition of use language. This object is always defined in all pages.

There are two methods:

 $langs->trans('TRAD_STRING');

This method returns the translation of key TRAD_STRING, and encodes the result into HTML entities to allow to display correctly (even with special characters) on an HTML page.

 $langs->transnoentitiesnoconv('TRAD_STRING');

This method returns the translation of key TRAD_STRING, but the result is the translated string with no particular encoding (string is stored in UTF-8 in memory).

These two methods can accept arguments that will be used to replace strings %s in the translated string.


Note: If, as arguments, you use a string that is itself a translated string, you must use method $langs->transnoentitiesnoconv, otherwise the string will be encoded twice. Example:

 print $langs->trans("STRING_TO_TRANSLATE",$langs->transnoentitiesnoconv("STRING_PARAM1"))

Translate Dolibarr into another language

See page Translator documentation