Site multilingue

Signaler
Messages postés
6
Date d'inscription
jeudi 29 mai 2008
Statut
Membre
Dernière intervention
12 février 2010
-
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
-
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

Messages postés
194
Date d'inscription
dimanche 25 janvier 2004
Statut
Membre
Dernière intervention
11 décembre 2015

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.
Messages postés
567
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
30 août 2011
10
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