Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1380 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  PHP-MySQL --> Gestion d'un site multi-langues

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PHP-MySQL --> Gestion d'un site multi-langues

n°1487679
le_duc
PlaTyPuS
Posté le 06-12-2006 à 21:48:52  profilanswer
 

Hello!
 
J'avais une petite question concernant les sites multi-langues.
 
J'ai un site avec un fichier de base pour la langue (lang-fr.php / lang-en.php) qui traduit tous les menus et autres textes statique du site, par contre je sais pas trop comment m'y prendre au niveau de la base de données...
 
En effet, l'utilisateur final peut écrire des articles et les poster sur le site (ceci devrait être fait dans les 2 langues!), mais je vois pas trop comment gérer ma BD....
 

  • soit je met les langues dans les mêmes champs des tables et je parse à l'affichage d'après un caractère très spécial (&ç%ç*ç%& :D)  :pt1cable:  
  • soit j'ajoute des champs à mes tables pour prendre en compte la traduction (genre table "article" -> id, descriptionFR, descriptionEN,....)
  • soit je crée une table pour chaque langue
  • soit ....


Enfin je suis un peu paumé  :sleep: et j'aimerais savoir si il y a une façon meilleure que les autres ;)
 
Merci pour vos réponses.
 
++

mood
Publicité
Posté le 06-12-2006 à 21:48:52  profilanswer
 

n°1487680
dwogsi
Défaillance cérébrale...
Posté le 06-12-2006 à 21:54:18  profilanswer
 

Tu fais une table langue :

id libellé
1  fr
2  en


 
et ta table article :

id langue contenu
1  1      bla bla
2  2      bla bla


 
et donc langue serait une clé étrangère.
Comme ça, ça me parait pas mal.
 
Et puis... : pas de rapport avec php!
 
Edit :
En fait s'il n'y a que deux langues ma solution n'est peut être pas la meilleur. On va dire que ce que je propose convient à site avec un nombre n de langues, avec n suceptible d'augmenter sans limites.

Message cité 1 fois
Message édité par dwogsi le 06-12-2006 à 21:56:57
n°1487682
le_duc
PlaTyPuS
Posté le 06-12-2006 à 22:05:18  profilanswer
 

dwogsi a écrit :

Tu fais une table langue :

id libellé
1  fr
2  en


 
et ta table article :

id langue contenu
1  1      bla bla
2  2      bla bla


 
et donc langue serait une clé étrangère.
Comme ça, ça me parait pas mal.
 
Et puis... : pas de rapport avec php!
 
Edit :
En fait s'il n'y a que deux langues ma solution n'est peut être pas la meilleur. On va dire que ce que je propose convient à site avec un nombre n de langues, avec n suceptible d'augmenter sans limites.


 
ah ouais! c'est une jolie solution ca :).
 
par contre si je modifie ca comme ca, je vais etre emmerdé au niveau des formulaires de création d'article non? genre il faudra n champs de description, donc si on a 5 langues, ca va vite etre le gros bordel sur la page d'admin :D

n°1487683
dwogsi
Défaillance cérébrale...
Posté le 06-12-2006 à 22:16:06  profilanswer
 

Ba avec un peut de javascript tu peux facilement faire un système d'onglet.
 
C'est à dire que sur chaque champs, tu as des onglets, un pour chaque langue. Avec un marqueur sur les onglets (genre une *) indiquant si le champ a été renségné ou pas.

n°1487686
le_duc
PlaTyPuS
Posté le 06-12-2006 à 22:19:41  profilanswer
 

dwogsi a écrit :

Ba avec un peut de javascript tu peux facilement faire un système d'onglet.
 
C'est à dire que sur chaque champs, tu as des onglets, un pour chaque langue. Avec un marqueur sur les onglets (genre une *) indiquant si le champ a été renségné ou pas.


 
ah ouais, pas con ca :)
 
pt1 y'a des gens intelligents sur cte planète :D  :jap:  
 
thx, vais voir avec ca :)

n°1487688
dwogsi
Défaillance cérébrale...
Posté le 06-12-2006 à 22:22:53  profilanswer
 

Ba c'est le système que j'ai proposé à mon patron.
Finalement testé et approuvé, c'est très pratique.

 

Après selon les utilisateurs tu peux aussi définir des limitation sur telle ou telle langue, réduisant ainsi la quantité d'onglets. C'est aussi ce que j'ai eu à faire, comme ça les traducteurs n'ont accès qu'à la langue qu'il traduisent... et ainsi de suite.

 

Tout ça pour dire que quand c'est bien foutu, c'est un système très pratique. Donc je partage l'idée.


Message édité par dwogsi le 06-12-2006 à 22:34:53
n°1488274
Gagman
Héritier du vide
Posté le 07-12-2006 à 19:50:32  profilanswer
 

Sinon moi j'avais aussi fait comme ca:
 
Une table langue qui contenait les noms des tables en fonction de lang
 
TABLE Langue
ID_Langue Table_Articles Table_Categorie  Autre param dépendant du pays etc...
1              Articles_fr      Categorie_fr      Euro
2              Articles_en     Categorie_en     Pound
etc

n°1488364
dwogsi
Défaillance cérébrale...
Posté le 08-12-2006 à 04:56:22  profilanswer
 

Non désolé mais selon les logiques de modélisation etc. etc. La création d'une nouvelle occurence ne peut en aucun cas entrainer la création d'une nouvelle table. T'as solution me parait très "mauvaise".

n°1490292
Gagman
Héritier du vide
Posté le 12-12-2006 à 14:48:47  profilanswer
 

les données sont ordonnées par pays ca tient une certaine logique.
Il est a noter que les éléments communs sont sur une table articles, et que ca marche très bien.

n°1490294
Gagman
Héritier du vide
Posté le 12-12-2006 à 14:49:03  profilanswer
 

C'est une solution je n'ai pas dit la meilleure


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  PHP-MySQL --> Gestion d'un site multi-langues

 

Sujets relatifs
[PHP] Recuperer variables d'un formulaire généré par une requete[MySQL] Bufferiser les insertions dans des LONGBLOB / LONGTEXT
[PHP] - Suppr le contenu des balises <script></script> d'une page HTMLMise a jour de site
Site Web: Pb d'affichage sous Netscapenombre de visiteur sur un site
[PHP/MySQL] [RESOLU] GRANT, Problèmes de droits[Résolu] Vérification en javascript d'un tableau dynamique en PHP
[ASP.NET C#] Problème de DLL dans un site web 
Plus de sujets relatifs à : PHP-MySQL --> Gestion d'un site multi-langues


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR