Système de traduction: Difference between revisions
Jump to navigation
Jump to search
Tag: 2017 source edit |
|||
| (2 intermediate revisions by 2 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}} | ||
| Line 10: | Line 19: | ||
On trouve 2 méthodes: | On trouve 2 méthodes: | ||
< | <syntaxHighlight lang="ini"> | ||
$langs->trans('TRAD_STRING'); | $langs->trans('TRAD_STRING'); | ||
</ | </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. | ||
< | <syntaxHighlight lang="ini"> | ||
$langs->transnoentitiesnoconv('TRAD_STRING'); | $langs->transnoentitiesnoconv('TRAD_STRING'); | ||
</ | </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 24: | 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: | ||
< | <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