Système de traduction: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
m (Import interlang links (links to translated versions of this page in other languages) from origin English page "Translation_system".)
Tag: 2017 source edit
 
(One intermediate revision by the same user not shown)
Line 19: Line 19:


On trouve 2 méthodes:
On trouve 2 méthodes:
<source lang="ini">
<syntaxHighlight lang="ini">
  $langs->trans('TRAD_STRING');
  $langs->trans('TRAD_STRING');
</source>
</syntaxHighlight>
* 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.
* 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.
<source lang="ini">
<syntaxHighlight lang="ini">
  $langs->transnoentitiesnoconv('TRAD_STRING');
  $langs->transnoentitiesnoconv('TRAD_STRING');
</source>
</syntaxHighlight>
* Cette méthode renvoie 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, mais ne code pas le résultat.


Line 33: Line 33:
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">
<syntaxHighlight lang="ini">
  print $langs->trans("STRING_TO_TRANSLATE",$langs->transnoentitiesnoconv("STRING_PARAM1"))
  print $langs->trans("STRING_TO_TRANSLATE",$langs->transnoentitiesnoconv("STRING_PARAM1"))
</source>
</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