cs_kenny18
Messages postés116Date d'inscriptionlundi 20 novembre 2000StatutMembreDernière intervention30 août 2006
-
31 août 2005 à 09:21
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 2009
-
16 janv. 2008 à 09:05
salut,
Dans le cadre d'un test, je dois créer un site multilingue. J'ai modifié à ma sauce le script retrouvé sur phpdebutant.org. Le code qui est proposé ne me convient pas complètement car l'on ne peut choisir "sa" langue qu'à l'ouverture du site. Ce que je recherche, c'est de pouvoir, en tout temps lorsque je navigue, changer la langue.
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 1 sept. 2005 à 09:58
Pas besoin d'un fichier texte, mais d'un fichier php. Prenons un exemple :
fichier "fr.php"
<?php
$langue['page_accueil']='Bienvenue';
?>
fichier "en.php"
<?php
$langue['page_accueil']='Welcome';
?>
(mon anglais est recherché hein ^^)
bref ensuite soit le visiteur n'a pas déjà choisi sa langue et donc c'est le français par défaut, on enregistre en session :
<?php
if(!isset($_SESSION['langue']))
{
$_SESSION['langue']='fr';
}
include 'langues/'.$_SESSION['langue'].'.php';
?>
après y'a le formulaire à gérer quand on change de langue, m'enfin c'est pas sorcier ;-)
et je parie que cette solution est largement plus rapide tout en étant
aussi facilement maintenable (un fichier séparé par langue, fichier
plus léger, inutile de parser tout le fichier xml vu qu'il n'y en a
pas, si ton fichier xml fait 1mo vu que t'as dix langues ça va craindre
niveau temps de génération, tandis que là ce ne sont que des variables
dans des fichiers php).
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 1 sept. 2005 à 12:14
Je suis d'accord. Tout dépend du type de site et de raduction. mais
cette solution est plus lourde en coûts de développement. T'as nbre
langues * fichiers php à générer. Ca peut s'avérer pénible.
Mais bon c'est vraiment un choix à faire selon le type de site, et de traduction.
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 1 sept. 2005 à 12:53
"T'as nbre langues * fichiers php à générer. Ca peut s'avérer pénible."
heu ouais mais le fichier php n'est composé que de variables, ça
revient au même (et c'est même plus simple selon moi) que de faire un
fichier xml, imagine que t'es 50 langues dans ton fichier xml, d'une
part c'est plus lent à traiter, et d'autre part si tu veux changer un
mot dans une traduction, bon courage... alors que le fichier php vu
qu'il est unique (pour la langue concernée) c'est bien plus rapide de
retrouver la phrase à l'aide du nom de la variable ^^
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 1 sept. 2005 à 13:03
Lol, j'ai encore des arguments, mais bon, les deux solutions ne se
valent pas sur le meme terrain ;-) c'est une question de choix
techniques, environnementaux etc...
Par exemple, ta solution n'est valable que dans le cadre d'un site
uniquement php. La mienne a l'avantage de pouvoir s'accomoder de
n'importe quelle technologie. On peut exporter ou importer facilement
une traduction, aussi.
La modification du fichier xml n'est pas un probleme mais ça tu ne
pouvais pas le savoir si tu n'es pas habitué à utiliser des logiciels
dédiés tels que XMLSpy, et les XPath, par exemple.
Mais bon, toujours, je suis d'accord avec toi lol. ta solution est plus
simple et plus performante. Elle est juste moins portable, moins
malléable, moins adaptable dans un milieu entreprise.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 1 sept. 2005 à 13:25
"Par exemple, ta solution n'est valable que dans le cadre d'un site
uniquement php. La mienne a l'avantage de pouvoir s'accomoder de
n'importe quelle technologie. On peut exporter ou importer facilement
une traduction, aussi."
Heu pour exporter et importer c'est aussi simple avec ma solution,
suffit de créer un fichier texte (pourquoi pas XML tiens lol) et
ensuite de créer le fichier php correspondant. Ensuite pour le site
uniquement php bah oui, à vrai dire je fais mes sites uniquement en php
pour le moment ^^
"La modification du fichier xml n'est pas un
probleme mais ça tu ne pouvais pas le savoir si tu n'es pas habitué à
utiliser des logiciels dédiés tels que XMLSpy, et les XPath, par
exemple."
Effectivement, j'en suis toujours avec mon vieux bloc-notes des années 20 (lol)
"Mais bon, toujours, je suis d'accord avec toi lol. ta
solution est plus simple et plus performante. Elle est juste moins
portable, moins malléable, moins adaptable dans un milieu entreprise."
Perso je préfère la performance et la portabilité, après comme je l'ai
dit vu que je ne fais ça qu'en PHP, pour moi c'est tout à fait portable
;-)
Et donc on en revient comme tout à l'heure, c'est un choix ;-)
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 16 janv. 2008 à 07:48
J'ai lu tout votre débat, et en fait vous avez tous raison, que ce soit l'idée de Malalam (ILX) ou Anthomicro (ILV (I Love Vars :p)), le problème, à mon avis, vient de la quantitée à traiter.
En effet, l'idée de Anthomicro est abordable quand les traductions ne sont pas conséquentes, si on commence à avoir 10 000 traductions, ca peu vite faire lourd le fichier à charger (et surtout le travail effectué derriere par Php pour aller les différentes valeurs en mémoire). Dans ce cas, l'idée de Malalam serait la plus adéquate, car le parsing serait moin lourd.
Enfin ca c'est mon avis.
Apres c'est vrai que perso j'obterai plus pour une bdd tout simplement pour déléguer le travail au serveur sgbd plutôt qu'à PHP, mais bon, c'est un choix
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 16 janv. 2008 à 09:05
et pourtant il était en premiere ligne dans le nouveau code posté sur la page d'accueil, dans "Post en rapport sur le forum" c'est pour ca que j'ai cru qu'il était d'actualité :p
Faudra modifier un peu l'algo pour pas piocher des trucs morts :p