Système de traduction: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
m (coquilles)
Line 7: Line 7:


= Principe développement pour l'internationnalisation (i18n) =
= Principe développement pour l'internationnalisation (i18n) =
Dans le code les traductions se font par appel de methodes sur l'objet $langs avec en paramètre la clé de la chaine à traduire. l'objet $langs contient la définition de la langue de l'utilisateur. Il est défini dans toutes les pages.
Dans le code, les traductions se font par appel de méthodes sur l'objet $langs avec en paramètre la clé de la chaine à traduire. l'objet $langs contient la définition de la langue de l'utilisateur. Il est défini dans toutes les pages.


On trouve 2 méthodes:
On trouve 2 méthodes:
Line 22: Line 22:




Note: Si en argument, on met une chaîne elle même résultat de traduction, il convient que ce résultat soit renvoyé par la fonction $langs->transnoentitiesnoconv, sinon il sera codé en HTML puis le sera une deuxième fois par l'appel $langs->trans initiale.  
Note: Si, en argument, on met une chaîne elle même résultat de traduction, il convient que ce résultat soit renvoyé par la fonction $langs->transnoentitiesnoconv, sinon il sera codé en HTML puis le sera une deuxième fois par l'appel $langs->trans initiale.  
Exemple:
Exemple:
<source lang="ini">
<source lang="ini">

Revision as of 17:30, 30 April 2012




Principe développement pour l'internationnalisation (i18n)

Dans le code, les traductions se font par appel de méthodes sur l'objet $langs avec en paramètre la clé de la chaine à traduire. l'objet $langs contient la définition de la langue de l'utilisateur. Il est défini dans toutes les pages.

On trouve 2 méthodes:

 $langs->trans('TRAD_STRING');
  • Cette méthode renvoie la traduction de l'entrée TRAD_STRING, tout en codant le résultat en entities HTML pour permettre un affichage correct des caractères spéciaux dans une page HTML.
 $langs->transnoentitiesnoconv('TRAD_STRING');
  • Cette méthode renvoie la traduction de l'entrée TRAD_STRING, mais ne code pas le résultat.

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.


Note: Si, en argument, on met une chaîne elle même résultat de traduction, il convient que ce résultat soit renvoyé par la fonction $langs->transnoentitiesnoconv, sinon il sera codé en HTML puis le sera une deuxième fois par l'appel $langs->trans initiale. Exemple:

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

Traduire Dolibarr dans une autre langue

Voir la page Documentation traducteur