Système de traduction: Difference between revisions
mNo edit summary |
mNo edit summary |
||
| Line 6: | Line 6: | ||
= Principe développement = | = Principe développement pour l'internationnalisation (i18n) = | ||
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. | 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. | ||
Revision as of 16:49, 22 August 2009
Principe développement pour l'internationnalisation (i18n)
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.
On trouve 2 méthodes:
$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.
$langs->transnoentitiesnoconv('TRAD_STRING');
Cette méthode renvoi 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 chaine 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