[php] question de conception, localisation

question de conception, localisation [php] - PHP - Programmation

Marsh Posté le 19-03-2005 à 16:06:10    

quel est le moyen le plus simple/efficace/propre de gerer la localisation d'un site PHP ? (stockage des messages dans les differentes langues)

Reply

Marsh Posté le 19-03-2005 à 16:06:10   

Reply

Marsh Posté le 19-03-2005 à 17:53:49    

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 :
  1. define(_HELLO_,'Bonjour');
  2. define(_HOWAREYOU_, 'Comment ca va ?');
  3. define(_BYE_, 'Au revoir');


Et lors de l'utilisation :

Code :
  1. include('lang/fr/lang.php');
  2. echo _HELLO_.' '._HOWAREYOU_;
  3. 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
Reply

Marsh Posté le 19-03-2005 à 18:03:40    

:jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed