PHP / langue [RESOLU] - PHP - Programmation
Marsh Posté le 13-05-2004 à 15:47:28
Y a plusieurs méthodes, tu peux passer toutes tes variables par url, mais elles apparaissent en clair dans la barre des taches et c'est aussi assez rébarbatif, pour chaque page, de mettre des liens à ralonge. Mais le mieux c'est d'utiliser les variables de sessions. Tu les déclares une fois (par exple: $_SESSION['langue']=fr; ) et après a chaque fois que tu en as besoin tu tapes: $_SESSION['langue']
Marsh Posté le 13-05-2004 à 15:48:03
sinon tu fais comme chacal le dis, mais ca ne marche que pour la langue, pas pour les autres variables
Marsh Posté le 24-06-2004 à 14:27:51
Et quelle est la methode a suivre pour le contenu (les textes) des pages?
Ca veut dire que je n'aurais plus de dossier fr it es en dans l'arbo de mon site? Faut-il que je stock tout mes textes dans mysql(!)? Ou je fais une seule page avec des switch suivant la langue?
Marsh Posté le 24-06-2004 à 14:29:25
kameha a écrit : Et quelle est la methode a suivre pour le contenu (les textes) des pages? |
La je comprends pas trop, tu veux dire que tu as toutes les pages duppliqué dans les différentes langues ?
Marsh Posté le 24-06-2004 à 14:31:40
euh...jusqua maintenant oui
Marsh Posté le 24-06-2004 à 14:37:03
chacal_one333 a écrit : detecte la langue du navigateur sinon |
Cette méthode n'est pas fiable car comment détecter le visiteur italien qui a installé la dernière version en développement de mozilla qui n'est pas encore traduite donc en anglais ? Une bonne méthode est d'utiliser la BDD fournie par ip-to-country. Elle fait le lien entre le pays et l'adresse IP
kameha a écrit : Et quelle est la methode a suivre pour le contenu (les textes) des pages? |
Cela dépend de ton organisation. Tu peux faires des includes de la façon suivante :
$langue= $_GET['langue'];
include('dossier/'.$langue.'/dossier2/fichier_a_inclure.php');
include('dossier/dossier2/fichier_a_inclure_'.$langue.'.php');
ou alors utiliser une BDD, c'est up to you.
Marsh Posté le 24-06-2004 à 14:44:29
le mieux serait donc de proposer sur ma page d'accueil le choix des 4 langues pour rentre sur le site.
Comme ça j'ai ma $langue. Et ensuite tout les includes en fonctions de cette variable.
?
Marsh Posté le 24-06-2004 à 15:06:55
oui ou comme mis plus haut faire la détection de la langue et afficher celle qui est la plus probable en offrant la possibilité de changer de langue à tout moment.
C'est ce que j'ai mis en place sur un site avec ip-to-country mais il est possible d'avoir la page vue dans une autre langue partout. Pour cela, j'ai crée des fonctions qui écrivent le liens ad-hoc en fonction des paramètres
Marsh Posté le 24-06-2004 à 15:21:45
ok merci.
encore une ptite question.
Il vaut mieux que mes pages a include et mon index (qui appelle ces pages) soient au meme niveau d'arbo non? sinon, ça l'air d'etre un de ces bordels pour les liens images.
Etant donné que mes pages quand elles ne sont pas include, ça n'est pas le meme lien image. C'est pas tres clair mon truc.
Marsh Posté le 24-06-2004 à 15:28:41
D'accord avec l'idée générale :
- toutes les langues disponibles partout (drapeau avec lien en $_GET d'après fonction)
- détection de la première langue par la langue du navigateur
- stockage de la langue en session.
Pour le choix entre détection de la langue du navigateur et ip-to-country, c'est un choix à faire, y a pas de réponse parfaite :
en tant qu'helvète, ip-to-country me dit que je suis suisse -> germanophone... Ce qui ne m'intéresse guère.
Je préfère donc la détection par la langue du browser !
Marsh Posté le 24-06-2004 à 15:30:27
kameha a écrit : ok merci. |
Si tu fais des pseudo-frames, le problème ne se pose pas.
Les includes incluent du "code", chez le client l'arborescence qui sert à gérer tes includes n'apparaît pas.
Marsh Posté le 24-06-2004 à 15:31:09
ton arbo
root/
dossier1/
dossier2/
include/
fr/
en/
jp/
img/
index.php
En admettant que les pages à inclure soient dans include/langue/
Tous les fichiers qui se trouvent dans ces dossiers langue, sont inclus par index.php et évalués comme faisant partie de ce fichier. Tous tes liens image doivent être valides depuis index.php et commencer comme ceci : <img src="img/...
Après c'est de l'organisation de tes modules. C'est la même chose que d'acheter un système de navigation GPS pour ta voiture et l'installer à Lille. Quand ensuite tu veux aller à Bruxelles, il ne va pas te calculer le trajet depuis Paris mais depuis le point où tu te trouves : Lille.
Marsh Posté le 24-06-2004 à 15:33:58
deliriumtremens a écrit : |
Aucune méthode n'est parfaite.
Un savant dosage des deux méthodes peut rendre service : pours les pays qui ont plusieurs langues officielles : browser, pour les autres IP
Marsh Posté le 24-06-2004 à 15:53:07
deliriumtremens a écrit : Si tu fais des pseudo-frames, le problème ne se pose pas. |
c'est juste que dans dream c'est chaud parceque le lien image est faux, mais bon, c'est du détail de mauvais codeur qui aime avoir devant les yeux ce qu'il fait
Marsh Posté le 24-06-2004 à 15:59:09
Un backbone PHP fait avec dreamweaver pour un site, c'est pas conseillé.
Un notepad, jEdit, UltraEdit ... c'est beaucoup mieux
Marsh Posté le 24-06-2004 à 16:03:22
normalement, mais si tu dis toi même que le lien image est faux, c'est qu'il y a un souci
Marsh Posté le 24-06-2004 à 16:09:19
Moi je dis comme Mr T509 alors.
Sauf que j'utilise Scintilla mais dans l'idée c'est pareil.
Dreamweaver (que j'ai utilisé aussi, mais version pré-MX, je sais pas si cette dernière corrige certains défauts) est en comparaison plus "embrouillant" qu'autre chose.
Mais bon, ce n'est qu'un point de vue.
Marsh Posté le 24-06-2004 à 16:18:54
disons que dream est quand meme bien pratique pour uploader ses fichiers (ctrl+shift+U), ça va assez vite
Marsh Posté le 24-06-2004 à 16:21:32
Tu peux le faire aussi avec UltraEdit et jEdit
Argument non recevable. La partie civile a-t-elle d'autres éléments ?
Marsh Posté le 24-06-2004 à 16:32:32
encore une ptite qu'a rien avoir (histoire de ne pas ouvrir un topic), c'est la derniere, juré
http://validator.w3.org me dit:
Code :
|
Je crois qu'il parle de 'ul' qui sont en fait des 'dl' et 'dd' dans ma page. Ca se regle ça?
Marsh Posté le 24-06-2004 à 17:22:33
et phpedit, vous en pensez quoi ici?
il est deja install sur mon pc, ca me ferait gagner du tps
Marsh Posté le 24-06-2004 à 17:24:01
Très bien, vas y utilise le !!!
Marsh Posté le 25-06-2004 à 09:16:12
Quelqu'un peut il m'orienter sur les sessions?
des liens, des aides...Les fonctions qu'il faut bosser...
Marsh Posté le 25-06-2004 à 09:28:09
Deja, a quoi va me servir l'utilisation de session? sachant que pour l'instant je ne compte pas proposer d'espace membre
Marsh Posté le 25-06-2004 à 09:30:13
Marsh Posté le 25-06-2004 à 09:34:34
j'étais dessus...
est ce vraiment utile si je ne compte pas faire d'espace membre?
j'ai du mal a trouver de l'interet sans ça. Stocker la langue en session?
Marsh Posté le 25-06-2004 à 10:30:15
kameha a écrit : j'étais dessus... |
Yes Sir.
Marsh Posté le 13-05-2004 à 15:42:15
Salut,
juste une petite précision.
J'ai fait un site en include php. je fais donc des appels de page genre index.php?page=hebergement.
Par contre j'ai plusieurs langue (fr uk es it) sur mon site.
Il va falloir que je rajoute ce parametre?
du style index.php?page=hebergement&langue=fr ?
Sur toutes mes liens?
Et si je veux que chaque page et son ptit menu sur la droite correspondant, ça donnerai index.php?page=hebergement&langue=fr&menu=hebergement
ça fait des bons liens à rallonge ça.
C'est ça ou pas?
Message édité par kameha le 24-06-2004 à 16:17:17