Système de traduction: Difference between revisions

Tag: 2017 source edit
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<!-- BEGIN interlang links -->
<!-- Do NOT edit this section
    Links below are automatically managed by PolyglotBot
    You can edit links on the English source page : Translation_system -->
[[en:Translation_system]]
[[es:Sistema_de_traducción]]
[[zh:翻译]]
<!-- END interlang links -->
{{TemplateDocDev}}
{{TemplateDocDev}}


== 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 chaine à traduire. lo'bjet $langs contient la définition de la langue de l'utilisateur. Il est définit dans toutes les pages.
 
 
 
 
= Principe développement pour l'internationalisation (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:
On trouve 2 méthodes:
* $langs->trans('TRAD_STRING');
<syntaxHighlight lang="ini">
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->trans('TRAD_STRING');
* $langs->transnoentitiesnoconv('TRAD_STRING');
</syntaxHighlight>
Cette méthode renvoi la traduction de l'entrée TRAD_STRING, mais ne code pas le résultat.
* 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.
<syntaxHighlight lang="ini">
$langs->transnoentitiesnoconv('TRAD_STRING');
</syntaxHighlight>
* 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.
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.  
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:
<syntaxHighlight lang="ini">
  print $langs->trans("STRING_TO_TRANSLATE",$langs->transnoentitiesnoconv("STRING_PARAM1"))
  print $langs->trans("STRING_TO_TRANSLATE",$langs->transnoentitiesnoconv("STRING_PARAM1"))
</syntaxHighlight>


== Traduire Dolibarr dans une autre langue ==
= Traduire Dolibarr dans une autre langue =
Voir la page [[Documentation traducteur]]
Voir la page [[Documentation traducteur]]

Latest revision as of 22:26, 25 May 2021





Principe développement pour l'internationalisation (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