Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/06/2007, 07h00   #1
Membre actif
 
Inscription : novembre 2003
Messages : 529
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2003
Messages : 529
Points : 152
Points : 152
Par défaut Site PHP multilingue

Bonjour à tous,

Je suis en train de me poser sur une question, je dois faire un site multilingue, mais je n'ai pas tellement d'idée sur la manière de le créer car si je part du principe que tout et multilingue, les titres des pages doivent l'être, les menus doivent l'être? En fait j'aimerais si possible que quelqu'un m'explique la méthode qu'il a utiliser ou bien qu'il utiliserais???

Merci d'avance pour votre précieuse aide
__________________
Quand on sait ce qu'on sait, qu'on entend ce qu'on entend, on est bien content de penser ce qu'on pense!!!

Mon site web
krfa1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 08h29   #2
Membre chevronné
 
Avatar de muad'dib
 
Inscription : janvier 2003
Messages : 881
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : janvier 2003
Messages : 881
Points : 780
Points : 780
La dernière fois que j'ai réalisé un site multi-lingue, j'avais placé les données textuelles dans des fichiers de langue dans lesquels je faisais des define. Je ne sais pas si c'est la meilleure méthode mais c'est une méthode qui marche, centralise tous les textes dans un même fichiers et donc, méthode plutôt claire dans l'ensemble.
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans l'éditeur de message.
Pensez à la balise
Mon site dédié au jeu d'échecs - Logiciel de suivi d'entrainement de musculation gratuit
muad'dib est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 08h35   #3
Membre éclairé
 
Avatar de TucSale
 
Inscription : novembre 2005
Messages : 265
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : novembre 2005
Messages : 265
Points : 301
Points : 301
Envoyer un message via MSN à TucSale
bonjour,

Par définition un site multilingue, tout doit etre traduit suivant la langue choisie.
Plusieur principe :
_ des miror de dossier : tu copie ton site autant de fois que que tu veux de langue : http://monsite/fr http://monsite/en
_ Mise en place d'un dictionnaire : Tu fais un include dans chaque page du dictionnaire voulue.

Code :
1
2
3
4
5
<?php
/*fr.php*/
$Bienvenue = "Bonjour et bienvenu sur developpez.com";
....
?>
Code :
1
2
3
4
5
<?php
/*en.php*/
$Bienvenue = "Welcome to developpez.com";
...
?>
Code :
1
2
3
4
<?php
include(fr.php);
echo $Bienvenue;
?>
Tu peux aussi aller voir $_SERVER['HTTP_ACCEPT_LANGUAGE']

Pour finir, regarde sur le forum, il y a plusieur post qui traite de ce sujet
__________________
Tuc l'Original, On ne peut que l'aimer
TucSale est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 08h54   #4
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605

Tu as 3 grosses façons de le faire :
  • La première est celle énoncée par TucSale et muad'dib (par contre, je te déconseille de tout mettre dans le même fichier car lorsque tu vas avoir un site un peu conséquent (avec beaucoup de texte), l'ouverture, la lecture et la fermeture d'un fichier de 50Mo est largement plus longue que celle d'un fichier de 50Ko).
  • La seconde est de créer une base de données contenant tes traductions selon la langue(perso je trouve ça lourd car ça demande beaucoup trop d'accès à la BD et puis ça oblige de faire une insertion dans la BD à chaque fois que tu veux rajouter un mauvais label).
  • La troisième (peut-être la meilleure mais la plus délicate) et de créer un fichier XML contenant la structure de ton site ainsi que le contenu textuel pour chaque langue. A côté de ça, tu te fais 1 fichier XSL qui met tes fichiers XML en page, exactement de la même manière. Tu te retrouves, du coup, avec un fichier XML pour chaque langue et un seul fichier XSL qui met le tout en page.
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 09h17   #5
Membre actif
 
Inscription : novembre 2003
Messages : 529
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2003
Messages : 529
Points : 152
Points : 152
Bonjour,

Merci pour les informations qui m'intéresse toutes assez, mais je me pose une petite question, l'utilisateur final pourra bien sur administrer le site on-line, et j'ai prévu mettre mes informations dans la base de données, mais est-ce que ça risque de plus compliquer la programmation du site que si je mets dans un fichier xml?
__________________
Quand on sait ce qu'on sait, qu'on entend ce qu'on entend, on est bien content de penser ce qu'on pense!!!

Mon site web
krfa1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 09h28   #6
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
Ce n'est pas comme ça qu'il faut choisir comment tu vas organiser ton application.
Tu dois d'abord définir exactement les fonctionnalités de ton application et ensuite tu choisis comment tu vas les mettre en place, la base de données, l'organisation de ton code, etc.
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 09h45   #7
Membre actif
 
Inscription : novembre 2003
Messages : 529
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2003
Messages : 529
Points : 152
Points : 152
La je suis d'accord avec toi. Etant donné que je travaille la plupart du temps avec les bases de données, je pense que je vais le faire avec. Mais j'aurais juste une petite question, par exemple comment pourrais construire déjà simplement rien que les pages en multilingue? Faire une table langue, une table page, et de faire pour chaque langue une page différentes???

Je suis pas sur d'être très claire, si jamais dites les moi...
__________________
Quand on sait ce qu'on sait, qu'on entend ce qu'on entend, on est bien content de penser ce qu'on pense!!!

Mon site web
krfa1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 09h54   #8
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
tu n'as peut-être pas besoin de mettre les mots dans la base de données
comme l'a dit trotters213, l'accès à la base de données peut prendre beaucoup de ressources donc si les mots n'ont pas besoin d'être modifiés, dans une interface d'administration par exemple, il vaut mieux les mettre dans un fichier XML
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 10h15   #9
Membre actif
 
Inscription : novembre 2003
Messages : 529
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2003
Messages : 529
Points : 152
Points : 152
Ca je suis d'accord, mais par exemple le client souhaiterais avoir les pages des différentes solutions qu'il propose avec le description dans trois langues différentes, pour l'instant, et ensuite peut-être qu'il rajoutera d'autres langues dans le future, donc il faut que ce soit vraiment souple comme système. Donc avec le fichier xml ce serait une bonne idée pour les menus, mais par contre pour ce qui est des descriptions de solutions, est-ce que ce serait une bonne idée???
__________________
Quand on sait ce qu'on sait, qu'on entend ce qu'on entend, on est bien content de penser ce qu'on pense!!!

Mon site web
krfa1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 10h40   #10
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605
Dans ton cas, l'utilisation de ficheir XML est parfaite.
Exemple pour une page X de ton site :
  • un fichier xml en français
  • un fichier xml en anglais
  • un fichier xsl de mise en page
Un jour ça te pète et tu dis : "tè je vais faire ma page x en occitant aussi car j'aime bien l'occitant". Et bè tu n'as qu'à faire un fichier xml en occitant, rajouter un petit drapeau occitant et c'est fait (car le fichier de mise en page existe déjà et que c'est la même quelque soit le fichier XML qui l'appelle).
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 10h42   #11
Membre actif
 
Inscription : novembre 2003
Messages : 529
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2003
Messages : 529
Points : 152
Points : 152
Ah ouai, sympha, je voyait pas dans cette utilité la, et pour tout ce qui est du reste comme par exemple les news et les menus, tu me conseillerais aussi le xml?
__________________
Quand on sait ce qu'on sait, qu'on entend ce qu'on entend, on est bien content de penser ce qu'on pense!!!

Mon site web
krfa1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 11h09   #12
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605
bè à utiliser une techno autant l'utiliser pour tout. Sachant en plus que ce que tu peux faire pour une page tu peux le faire pour une autre aussi donc si du jour au lendemain tu veux rajouter des news dans une nouvelle langue, ça sera aussi simple qu'indiqué précédemment.
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 11h18   #13
Membre actif
 
Inscription : novembre 2003
Messages : 529
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2003
Messages : 529
Points : 152
Points : 152
Merci pour les infos. Maintenant, vu que j'ai rarement travailler avec le XML, je devrais structuré comment le site. Pour chaque page je devrais faire un fichier xml, et un fichier aussi xml pour les menus, ou bien il faudrait plutôt que je fasse un fichier xml qui contient toutes les pages?

Je pense que 1 fichier xml par page sera plus simple, et 1 fichier qui englobe tous les menus...
__________________
Quand on sait ce qu'on sait, qu'on entend ce qu'on entend, on est bien content de penser ce qu'on pense!!!

Mon site web
krfa1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 13h52   #14
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605
Oui, l'intêret et d'avoir quelque chose de facile à mettre à jour et de rapide (à l'éxecution) donc il faut que tu garde une arborescence de fichier et non pas un seul fichier (je sais même pas si c'est faisable).
Exemple :
  • index.fr.xml
  • index.en.xml
  • index.xsl
  • dossier1
    • index.fr.xml
    • index.en.xml
    • index.xsl
  • dossier2
    • index.fr.xml
    • index.en.xml
    • index.xsl
et ainsi de suite.
Si tu as une mise en page commune à toutes les pages, tu peux même n'avoir qu'un seul fichier XSL.
Par contre si tu veux commencer à faire des choses plus "dynamique", il va falloir que tu utilises du php et que tu utilises des librairies comme xsltproc par exemple. Je te laisse te renseigner sur ceci via Google.
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 07h23   #15
Membre actif
 
Inscription : novembre 2003
Messages : 529
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2003
Messages : 529
Points : 152
Points : 152
Merci pour toutes c'est informations, j'aurais maintenant juste une dernière question, si on fait toute un structure en XML, et que souhaite ajouter un formulaire, celui-ci ne sera pas en xml??? Il sera en html non?

Désolé de prendre autant de ton temps...
__________________
Quand on sait ce qu'on sait, qu'on entend ce qu'on entend, on est bien content de penser ce qu'on pense!!!

Mon site web
krfa1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 08h37   #16
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605
Non, il sera en XML (pour ce qui est du texte, du contenu) et toute la mise en page sera faite via du XSL.
Dans ta feuille XML, tu appelleras la feuille de style XSL qui mettra en place le contenu de ton XML (le XML est un ensemble de balises contenant les infos que tu souhaites intégrer à la page et le XSL est une moulinette qui pond du XHTML) .
Je te laisse jeter un coup d'oeil ici : http://xml.developpez.com/cours/
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h10.


 
 
 
 
Partenaires

Hébergement Web