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

Langage PHP Discussion :

Comment créer un site multilangue


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2010
    Messages : 33
    Par défaut Comment créer un site multilangue
    Bonjour,
    Je voudrais créer un site avec la possibilité que mes membres puisse changer la langue à tout moment via le menu.

    1)Je pense que ce style de fonction fonctionne avec des cookie
    2)Je pense créer mais fichier langue avec des tableaux array
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php language = array (
    "welcome"=>"Bienvenue sur mon site",
    ); ?>
    3)et alors je pense que dans les page je mets <?php echo $language ['welcome']; ?>
    Mais pour le reste je ne sais rien.
    Dois je inclure les fichier langue dans chaque langue
    EX:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     <?php include 'langue.php';
         echo $language['hello'];
    .........
    .......
    ?>
    et dans le fichier langue je mais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php include 'fr.php;
    include 'en.php';
    include 'es.php';
    ?>
    Je ne sais pas du tout si c'est bon et comment est la meilleur façon de faire ce type de site

    Je voudrais aussi que mais page ressemble à ceci :
    http://mysite.com/ affiche en français
    http://mysite.com/en/ affiche en anglais
    http://mysite.com/es/ affiche en espagnole

    Et si vous avez des lien de tutoriel je ne demande pas mieux

    Merci

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Le problème c'est qu'il existe une fulltitude de solutions, sans compter que bien souvent on adopte pas une mais un mélanges de plusieurs.

    Mais aussi, il sera à mon sens impossible de te conseillé car ça demande d'avoir une bonne idée du projet actuel et de son évolution dans le temps.

    Mise à part part, faut déjà bien faire le distingo entre du contenu propre à l'interface (guide/compréhension du site) et le contenu ou service proposé (article, produit, etc ...).

    L'interface elle peut être comme ton exemple dans un ou plusieurs tableau, mais on le voit aussi dans des constantes, dans du XML, voir aussi dans une Bdd.

    Pour les contenu du type article/produits ils sont bien souvent dans la Bdd.


    Je voudrais aussi que mais page ressemble à ceci :
    http://mysite.com/ affiche en français
    http://mysite.com/en/ affiche en anglais
    http://mysite.com/es/ affiche en espagnole
    Attention au piège.
    Il n'est pas rare (donc très courant) que ce type d'URL donne l'impression que le site est organisé de cette manière alors qu'il en est rien, c'est un subterfuge, une illusion.
    On appel ça de la réécriture, et à l'origine (ça ne se vois pas) la vrai URL est de la sorte :
    http://mysite.com/index.php
    http://mysite.com/index.php?langage=en
    http://mysite.com/index.php?langage=es

    La réécriture n'est pas juste pour avoir une jolie URL mais c'est avant tout pour résoudre un problème de référencement, donc l'améliorer.
    Pour résumer, les moteurs de recherche considèrent que les URLS comme celles juste ci-dessus comme de la duplication de contenu car c'est la même page qui est demandée (même s'il y a des paramètres), du coup ignore tout ou en partie des contenu (pas de référencement, pas d'indexation).
    D'où l'utilité de proposer des noms de pages (des liens) de manière unique comme tu l'as remarqué.

    Observe les URLs de ce forum quand tu navigue tu remarqueras le même principe, et c'est certain, il y a de la réécriture.


    Tout ceci veut dire qu'il n'est pas forcément utile (je dirais même déconseillé) de créer une page genre article.php dans un répertoire EN et un autre dans un répertoire ES, etc ...
    Le plus courant c'est que tout passe par une seule page (quelque soit la page et la langue) et c'est sur l'existence ou non d'un paramètre de langue qui permettra de récupérer le type de contenu (en ou es, etc ...).
    Les types de contenu eux par contre demanderont très certainement à être organisé par langues (soit par répertoire, ou Bdd/table/champs, XML, peu importe la technique).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment créer un site immobilier dynamique avec une base de données ?
    Par Alain troverti dans le forum Général Conception Web
    Réponses: 14
    Dernier message: 07/07/2006, 21h57
  2. Réponses: 9
    Dernier message: 01/06/2006, 22h23
  3. comment créer un site web avec publisher 2003
    Par kamga dans le forum Autres
    Réponses: 3
    Dernier message: 19/01/2006, 00h18
  4. comment créer un site internet gratuitement ?
    Par abou27 dans le forum Dépannage et Assistance
    Réponses: 13
    Dernier message: 08/12/2005, 10h25

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