IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de donn�es Discussion :

gestion d'un site multilingue


Sujet :

PHP & Base de donn�es

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    Janvier 2007
    Messages
    104
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 104
    Par d�faut gestion d'un site multilingue
    bonjour,

    je viens de developper un site en espanol en php/sql, et l'on vient de me demander de le faire aussi en anglais mais je ne sais pas comment m'y prendre du tout car je n'ai jamais fait cela. Voila j'ai toutes mes pages a la racine de mon site. Sur chaque page j'affiche le texte stocke dans la base de donnees. J'ai egalement une partie admin qui me permet de gerer tout le site. Quelqu'un pourrait me dire comment je peux faire pour faire la version anglaise de mon site maintenant que j'ai fini la version espagnol


    merci de votre aide

  2. #2
    Membre confirm�
    Homme Profil pro
    Micka�l
    Inscrit en
    Mai 2003
    Messages
    106
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activit� : Micka�l
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mai 2003
    Messages : 106
    Par d�faut
    Salut,

    Vu que tout tes textes sont stock�s dans une base de donn�es, c'est d�j� un tr�s bon point.

    Tu ajoutes un champ Langue dans la table dles textes, qui contiendra un identifiant de la langue du texte.

    Ensuite, tu stockes la langue choisie par l'utilisateur dans la session, et tu modifies tes requ�tes qui vont chercher tes textes en ajoutant le crit�re de la langue.

  3. #3
    Membre �clair� Avatar de Giantrick
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    300
    D�tails du profil
    Informations personnelles :
    �ge : 52
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 300
    Par d�faut
    Je confirme l'information de mikyfpc.

    J'ai personnellement effectu� la m�me approche en stockant tous les textes dans ma base de donn�e et ensuite par le choix de l'utilisateur, le site s'affiche en Anglais ou en Fran�ais (pour mon cas http://www.diapophoto.com) mais je peux ajouter autant de langue que je le souhaite.

    Ensuite tout d�pend comment tu organises l'affichage du contenu de tes pages en fonction des tables de ta base de donn�e.

    Si tu veux plus de d�tails... j'aurais besoin de la structure de tes tables pour t'aider... sans m'�tendre dans diff�rentes directions.

  4. #4
    Membre confirm�
    Inscrit en
    Janvier 2007
    Messages
    104
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 104
    Par d�faut
    voici la struture de la table qui contient le texte de mes pages en espagnol

    Code SQL : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    TABLE `paginas` (
      `id_page` int(11) NOT NULL auto_increment,
      `titre` varchar(255) NOT NULL default '',
      `contenu` text NOT NULL,
      `id_rubrique` int(11) NOT NULL default '0',
      `date_pub` date NOT NULL default '0000-00-00',
      PRIMARY KEY  (`id_page`)

    et le code pour afficher dans mes pages

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <?
    $sql = "select * from paginas where id_page='19'";
     $requete = mysql_query( $sql, $cnx ) ;
    $result = mysql_fetch_array($requete);
     
     
    	$id=$result['id_page'];
    	$titre=$result['titre'];
    	$contenu=$result['contenu'];
     
    	echo '<br/><div class="titre_liste">';
    	echo ($titre);
    	echo '</div><br/>';
    	echo '<div class="texte_site">';
    	echo($contenu) ;
    	echo '</div>';
    ?>
    merci de votre aide

  5. #5
    Membre �clair� Avatar de Giantrick
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    300
    D�tails du profil
    Informations personnelles :
    �ge : 52
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 300
    Par d�faut
    Tu ajoutes une table langues comme ci-dessous

    Code SQL : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    TABLE `langue` (
    `id_langue` int(11) NOT NULL AUTO_INCREMENT,
    `langues` varchar(150) NOT NULL DEFAULT '',
     PRIMARY KEY (`id_langue`)

    Ensuite tu ajoutes le champs "id_langue" � ta table "paginas"

    Code SQL : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    TABLE `paginas` (
    `id_page` int(11) NOT NULL AUTO_INCREMENT,
    `titre` varchar(255) NOT NULL DEFAULT '',
    `contenu` text NOT NULL,
    `id_rubrique` int(11) NOT NULL DEFAULT '0',
    `date_pub` date NOT NULL DEFAULT '0000-00-00',
    `id_langue` int(11) NOT NULL DEFAULT '',
     PRIMARY KEY (`id_page`)

    et ensuite dans ta requ�te tu ajoutes une condition en fonction du choix de l'utilisateur ou bien de la langue du profil de l'utilisateur qui se log (si tu es sur un site avec identification - alors tu peux passer l'id_langue de l'utilisateur logg� dans une session)

    le choix de la langue passe dans la variable id_langue, comme ci-dessous :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    <?
    $sql = "SELECT * FROM paginas WHERE id_page='19' AND id_langue='$id_langue' ";
     $requete = mysql_query( $sql, $cnx ) ;
    $result = mysql_fetch_array($requete);
    
    (etc pour la suite de ton code c'est identique)
    Pour alimenter les traductions tu peux imaginer un module d'administration qui puisse g�rer une pile de traduction � faire dans la langue de ton choix et alimenter la table 'paginas' dans la langue traduite selon la langue de base du traducteur... (c'est une id�e rien de plus...) - bon d'accord, c'est ce que j'avais fait il y a quelques ann�es pour l'un de mes sites mais ca fonctionne plutot bien...

    Aller j'esp�re que cela t'a aid�... (d�sol� je tutoye facilement... c'est plus conviviale)

  6. #6
    Membre confirm�
    Inscrit en
    Janvier 2007
    Messages
    104
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 104
    Par d�faut
    merci de ta reponse je te tiens au courant. par contre comment je fais pour les images qui contiennent du texte en espanol

Discussions similaires

  1. Site multilingue - m�thode ?
    Par khephren dans le forum G�n�ral Conception Web
    R�ponses: 12
    Dernier message: 21/06/2016, 17h18
  2. [Cookies] probl�me avec site multilingue
    Par lacfab dans le forum Langage
    R�ponses: 13
    Dernier message: 30/12/2005, 23h10
  3. [Tableaux] Site multilingue
    Par francis m dans le forum Langage
    R�ponses: 15
    Dernier message: 10/12/2005, 01h58
  4. Site multilingue : comment s'y prendre ?
    Par sg-40 dans le forum G�n�ral Conception Web
    R�ponses: 3
    Dernier message: 26/04/2005, 14h40
  5. [C#] Mise en place d'un site multilingue
    Par regbegpower dans le forum ASP.NET
    R�ponses: 6
    Dernier message: 19/03/2004, 19h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo