Translation system: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
mNo edit summary
Line 5: Line 5:


There is 2 methods:
There is 2 methods:
* $langs->trans('TRAD_STRING');
$langs->trans('TRAD_STRING');
This methode return translation of key TRAD_STRING, and encode result into HTML entities to allow to output it correctly (even with special characters) into an HTML page.
This methode return translation of key TRAD_STRING, and encode result into HTML entities to allow to output it correctly (even with special characters) into an HTML page.
* $langs->transnoentitiesnoconv('TRAD_STRING');
$langs->transnoentitiesnoconv('TRAD_STRING');
This method return translation of key TRAD_STRING, but result is translated string with no particular encoding (string is stored in UTF-8 in memory).
This method return translation of key TRAD_STRING, but result is translated string with no particular encoding (string is stored in UTF-8 in memory).


Line 15: Line 15:
Note: If, as arguments, you use a string that is itslef a translated string, you must use method $langs->transnoentitiesnoconv, otherwise string will be encoded twice.
Note: If, as arguments, you use a string that is itslef a translated string, you must use method $langs->transnoentitiesnoconv, otherwise string will be encoded twice.
Example:
Example:
print $langs->trans("STRING_TO_TRANSLATE",$langs->transnoentitiesnoconv("STRING_PARAM1"))
print $langs->trans("STRING_TO_TRANSLATE",$langs->transnoentitiesnoconv("STRING_PARAM1"))
 


== Translate Dolibarr into another language ==
== Translate Dolibarr into another language ==
See page [[Translator documentation]]
See page [[Translator documentation]]

Revision as of 22:49, 8 April 2009

Development rule

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

There is 2 methods:

$langs->trans('TRAD_STRING');

This methode return translation of key TRAD_STRING, and encode result into HTML entities to allow to output it correctly (even with special characters) into an HTML page.

$langs->transnoentitiesnoconv('TRAD_STRING');

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

This 2 methods can accept arguments that will be used to replaced strings %s found in resulted translated string.


Note: If, as arguments, you use a string that is itslef a translated string, you must use method $langs->transnoentitiesnoconv, otherwise 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