Site multilingue

gapson Messages postés 6 Date d'inscription jeudi 29 mai 2008 Statut Membre Dernière intervention 12 février 2010 - 15 déc. 2009 à 09:01
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 - 8 janv. 2010 à 08:40
bjr j'ai un open source php qui à été fait avec une architecture MVC. maitenant je veux l'adapter et le transformer en site multilingue et je ne sais cmt faire. aidez moi svp en me proposant une boe methode et si possible un bon tuto sur le multilingue + MVC. je suis encore débutant en php. merci d'avance

2 réponses

Dav_c Messages postés 194 Date d'inscription dimanche 25 janvier 2004 Statut Membre Dernière intervention 11 décembre 2015
8 janv. 2010 à 02:42
le plus simple c'est de passer un paramettre soit en get ou en session de préférence session, genre :

pour recuperer la langue du navigateur, dans ta premiere page.
<?php
session_start(); // en haut de la page
$lang= $_SERVER["HTTP_ACCEPT_LANGUAGE"];
$lang=str_split($lang, 2);

if($lang[0]=="fr"){$Lang_session = 'FR';}
else{$Lang_session = 'EN';}

session_register("Lang_session");
?>


et pour afficher dans la prochaine page tu fait

<?php
session_start();

if($_SESSION['Lang_session']=='FR'){
echo 'texte français';}
else
echo 'english text';}
?>

ou tu modifie tes variables selon tes besoins.


Je ne connais rien a MVC mais normalement sa devrait marcher comme sa.
0
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
8 janv. 2010 à 08:40
Après suivant les traduc, tu te fais des fichiers de langue ou des grilles de traduction de contenus en base...

Pour des mot courents entrant dans l'interface de ton site "Valider", "Annuler", "Accueil"... Je te conseil le fichier de langue.
Fichier fr-FR.ini
HOME=Accueil
CANCEL=Annuler
HELLO=Bonjour

Fichier en-GB.ini
HOME=Home
CANCEL=Cancel
HELLO=Hello

Après tu ouvre le fichier avec la bonne langue en suivant ce que t'as dit Dav_c. Tu parse dans un tableau genre :
$lang['HOME']="Home";
$lang['CANCEL']="Cancel";
...
Et dans ton code :
echo $lang['CANCEL']." $username";

Après pour faire de la POO je te conseil de regarder comment est fais la classe JText de Joomla!, elle utilise ce principe...

JText::_('Enjoy')

Pour des articles en base à traduire, je te conseil une table de correspondance en base de donnée :
Genre Table Article :
ID | lang  | Titre   | Texte
01 | fr-FR | Bonjour | BlaBla

Table Traduc
ID | Clé | Lang  | Titre | Texte
01 | 01  | en-GB | Hello | BliBli
02 | 01  | de-DE | Hallo | BlahBlah



_________________________________
Min iPomme
0
Rejoignez-nous