Difference between revisions of "Translation system"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
(Created page with '{{TemplateDocDevEn}} {{ToTranslate}} == Principe développement == Dans le code les traductions se font par appel de methode sur l'objet $langs avec en paramètre la clé de la ...')
 
m
Line 1: Line 1:
 
{{TemplateDocDevEn}}
 
{{TemplateDocDevEn}}
{{ToTranslate}}
 
  
== Principe développement ==
+
== Development rule ==
Dans le code les traductions se font par appel de methode sur l'objet $langs avec en paramètre la clé de la chaine à traduire. lo'bjet $langs contient la définition de la langue de l'utilisateur. Il est définit dans toutes les pages.
+
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.
  
On trouve 2 méthodes:
+
There is 2 methods:
 
* $langs->trans('TRAD_STRING');
 
* $langs->trans('TRAD_STRING');
Cette méthode renvoi la traduction de l'entrée TRAD_STRING, tout en codant le résultat en entities HTML pour permettre un affichage des caractères spéciaux correct dans une page HTML.
+
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->transnoentities('TRAD_STRING');
+
* $langs->transnoentitiesnoconv('TRAD_STRING');
Cette méthode renvoi la traduction de l'entrée TRAD_STRING, mais ne code pas le résultat.
+
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).
  
Ces 2 méthodes peuvent accepter des arguments complémentaires qui sont substitués aux valeurs %s dans la chaine résultante de la traduction.
+
This 2 methods can accept arguments that will be used to replaced strings %s found in resulted translated string.
  
  
Note: Si en paramètre, on met un résultat de traduction, il convient que ce résultat soit renvoyé par la fonction $langs->transnoentities, sinon il sera codé en HTML puis le sera une deuxième fois par l'appel $langs->trans initiale. Exemple:
+
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.
print $langs->trans("STRING_TO_TRANSLATE",$langs->transnoentities("STRING_PARAM1"))
+
Example:
 +
print $langs->trans("STRING_TO_TRANSLATE",$langs->transnoentitiesnoconv("STRING_PARAM1"))
  
  
== Traduire Dolibarr dans une autre langue ==
+
== Translate Dolibarr into another language ==
Voir la page [http://www.dolibarr.com/wikidev/index.php/Documentation_traducteur Documentation_traducteur]
+
See page [[Translator documentation]]

Revision as of 22:46, 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