Il existe plusieurs methodes, mais la pluspart fonctionnent de la meme facon :
1) Creation d'un repertoire "lang", puis un repertoire par langue, p.ex "fr". Ensuite dans chaque repertoire le "meme" fichier, p.ex "lang.php". Ensuite le but du jeu consiste a include le fichier lang.php correspondant a la langue voulue, p.ex "include('lang/'.$lang.'/lang.php');
Ce fichier va declarer des "defines".
Ensuite tu peux utiliser les defines a la place du texte que tu veux traduire.
Par exemple :
lang.php :
Code :
- define(_HELLO_,'Bonjour');
- define(_HOWAREYOU_, 'Comment ca va ?');
- define(_BYE_, 'Au revoir');
|
Et lors de l'utilisation :
Code :
- include('lang/fr/lang.php');
- echo _HELLO_.' '._HOWAREYOU_;
- echo _BYE_;
|
Il y a des personnes qui utilisent des variables a la place des defines, personnelement je prefere les defines, de cette facon, pas de confusion possible.
Ensuite il existe une autre methode plus theorique. Cela fait un petit moment que je me dis qu'il faudrait que je l'essaye. J'ai pas encore croise cette methode, donc je ne sais pas si elle est utilise ou non.
Il existe ou "outil" GNU qui s'appelle "getText". Son role est de justement faire la traduction. Il faut que l'extension pour php soit installee sur l'hebergeur (ce qui n'est pas forcement le cas il me semble).
En gros, avec gettext, il suffit de lui donner le texte et il le traduit.
Faudrait que j'essaye une fois, histoire de voir si c'est viable ou pas.
[edit]
Apres verification, il se trouve que je racconte des betises ...
Gettext ne faits pas la traduction lui meme comme je le pensais. Il gere les tradcutions en fait.
Voila plus de details :
www.php.net/gettext
http://www.onlamp.com/pub/a/php/2002/06/13/php.html
[/edit]
Message édité par cerel le 19-03-2005 à 18:12:36