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 :

Redirections selon langue visiteur


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 64
    Points : 23
    Points
    23
    Par défaut Redirections selon langue visiteur
    Bonjour,
    J'ai un site et je voudrais le rendre multi-langage mais de façon très simplifié (J'ai vu qu'il y avait moyen de détecter le langage du navigateur et d'effectuer des actions en conséquence...)

    J'aurais donc juste besoin de 2 choses spécifiques :

    1. Quand un visiteur arrive sur l'accueil de mon site (et juste sur l'accueil), il soit redirigé vers une page d'accueil spécifique au pays. Exemple si il est espagnol, il sera redirigé vers monsite.fr/es/

    2. Je cherche un moyen de "transformer" un lien de tel sorte à ce qu'il ai plusieurs directions possible selon la langue du visiteur.
    Je m'explique : imaginons que le visiteur soit anglais, alors quand il cliquera sur le lien XXXX, la page cible sera monsite.fr/hello
    Mais si le visiteur est espagnol et qu'il clique sur ce même lien XXXX, alors la page cible sera monsite.fr/hola

    Merci d'avance pour votre aide

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 17
    Points : 23
    Points
    23
    Par défaut
    Il faudrait que tu fasses des redirections conditionnées par la langue du navigateur grâce à des if...else et à la fonction php header('...').
    Pour les différents liens, cela risque d'être vite le bazar dans tes fichiers selon le nombre de langues supporté par ton site. Peut-être qu'il serait plus judicieux de faire un fichier par page et ainsi ne pas avoir des pages trop indigestes. Sinon, de la même manière, if...else et tu mets tes liens dans des variables que tu récupéreras au moment de les afficher.

  3. #3
    Membre actif Avatar de jisig
    Homme Profil pro
    null
    Inscrit en
    Avril 2014
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Indonésie

    Informations professionnelles :
    Activité : null

    Informations forums :
    Inscription : Avril 2014
    Messages : 146
    Points : 273
    Points
    273
    Par défaut
    Théoriquement avec un petit explode tu peux retrouver la langue du navigateur

    $_SERVEUR['HTTP_ACCEPT_LANGUAGE']

    <?php

    $language = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
    $language = $language{0}.$language{1};

    echo $language;

    ?>


    Chez moi, ça retourne "fr" sous ff, opera et IE
    Citation Envoyé par morganK Voir le message
    Il faudrait que tu fasses des redirections conditionnées par la langue du navigateur grâce à des if...else et à la fonction php header('...').
    Pour les différents liens, cela risque d'être vite le bazar dans tes fichiers selon le nombre de langues supporté par ton site. Peut-être qu'il serait plus judicieux de faire un fichier par page et ainsi ne pas avoir des pages trop indigestes. Sinon, de la même manière, if...else et tu mets tes liens dans des variables que tu récupéreras au moment de les afficher.
    Plutôt que de coder une cascade de 'if' je pense plus judicieux de concaténer la valeur obtenue $la_langue_du_navigateur au chemin de fichier adéquat, ainsi ça ne prendra qu'une ligne qu'importe le nombre de langue

    Quoique qu'éventuellement mettre un if par navigateur ?

    Jisig

  4. #4
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 275
    Points
    3 275
    Par défaut
    Utiliser la variable 'HTTP_ACCEPT_LANGUAGE' est une bonne idée pour déterminer le/les langages utilisés par l'utilisateur est une bonne idée vu que cette variable est là pour ça.

    Après, c'est pas compliqué, il te faut un dossier par langue, que tu n'as plus qu'à gérer chacun comme un "mini-site" (les contenues seront différents de toutes façons), ce qui ne t'empêche d'inclure des fichiers communs (js et css par exemple).

Discussions similaires

  1. Redirection d'un visiteur sur une page selon un texte
    Par alex5512 dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 28/03/2009, 17h28
  2. redirection selon langue et référencement
    Par strongwave dans le forum Référencement
    Réponses: 5
    Dernier message: 25/11/2008, 20h09
  3. Réponses: 3
    Dernier message: 10/05/2006, 21h37
  4. 1 fichier PHP ou 3 fichier PHP selon langue
    Par icecube216 dans le forum Langage
    Réponses: 4
    Dernier message: 15/12/2005, 12h31
  5. Réponses: 1
    Dernier message: 06/11/2005, 17h16

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