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

HTML Discussion :

langue site automatique


Sujet :

HTML

  1. #1
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 57
    Par défaut langue site automatique
    Bonjour,

    Comment peut-on faire en sorte que la page affichée par son site internet corresponde à la langue de l'utilisateur ou du moins du pays où l'utilisateur se trouve? préférence en HTML.

    Merci

  2. #2
    Membre Expert
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Par défaut
    Bonjour,

    un document intéressant sur le sujet est fourni par le W3C :
    Declaring Language in XHTML and HTML.

  3. #3
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 57
    Par défaut
    merci polymorphisme

    mais je veux faire qqs chose de très simple.

    par exemple, dans mon domaine disposer de 3 index:
    indexfr.html en français
    indexen.html en anglais
    indexes.html en espagnol

    Et que si l'utilisateur est espagnol, que lorsqu'il se connecte sur mon site www.monsite.com que indexes.html s'affiche car il se trouve en espagne ou alors que la configuration de son pc est espagnol.

    un comme dans google.

    merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 42
    Par défaut
    Ce n'est pas vraiment le sujet mais tant qu'à faire les choses une fois, autant bien les faire...
    Mieux vaut créer un sous domaine propre à chaque langue, cela améliorera ton référencement:
    http://es.monsite.com/index.htm
    http://www.monsite.com/index.htm
    http://fr.monsite.com/index.htm

  5. #5
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 57
    Par défaut
    Salut et merci

    J'ai l'intention d'utiliser php pour rediriger automatique en fonction de la langue de l'utilisateur.

    je compte mettre ce code php dans mon HTML:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    <?php
    if(!isset($langue_user)&&!isset($_SESSION["ch_langue"])){
    $langue_user=substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
            switch($langue_user){   
            case"fr":
            $_SESSION["ch_langue"]="fr";
            break;
                    
            case"en":
            $_SESSION["ch_langue"]="en";
            header("Location:http://www.monsiter.com/anglais.php");
            break;
                    
            
            case"es":
            $_SESSION["ch_langue"]="es";
            header("Location:http://www.monsiter.com/espagnol.php");
            break;
                    
            default:
            $_SESSION["ch_langue"]="fr";
            header("Location:http://www.monsiter.com/index.php");
            break;
            }
    }
    ?>
    mais il me met l'erreur suivante:
    Warning: Cannot modify header information - headers already sent by ....on line 15

    Peut-être que je place mal la code php dans HTML, help SVP!

  6. #6
    Membre Expert
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Par défaut
    Bonjour,

    Je doute que cette forme de sous-domaine soit explicite pour les internautes.
    Quant à savoir la structure que tu propose améliore le référencement, je suis curieux de savoir : une amélioration mais par rapport à quoi, quelle comparaison est faite ? quelles sont les méthodes utilisées ? quelles sont tes sources ?

    Je préférerais une url de la forme www.monsite.com/en. Elle ne change pas le domaine, important pour se faire connaitre dans le long terme et elle reflète l'architechture en répertoire du développeur.

    L'article proposé est vraiment la base la plus simple de ce qui doit être mis en oeuvre. De toute façon, il faut mettre en place un système de détection de la langue de ton utilisateur.

  7. #7
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2008
    Messages : 37
    Par défaut
    Salut dcvman,

    Essaies de placer ton code avant la balise <head>.
    Tu peux même le mettre avant <html>

    Bien à toi,
    Akxn0008

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 42
    Par défaut
    Citation Envoyé par polymorphisme Voir le message
    Bonjour,


    Je doute que cette forme de sous-domaine soit explicite pour les internautes.
    Quant à savoir la structure que tu propose améliore le référencement, je suis curieux de savoir : une amélioration mais par rapport à quoi, quelle comparaison est faite ? quelles sont les méthodes utilisées ? quelles sont tes sources ?

    Je préférerais une url de la forme www.monsite.com/en. Elle ne change pas le domaine, important pour se faire connaitre dans le long terme et elle reflète l'architechture en répertoire du développeur.

    L'article proposé est vraiment la base la plus simple de ce qui doit être mis en oeuvre. De toute façon, il faut mettre en place un système de détection de la langue de ton utilisateur.
    Hello!

    Je m'intéresse au référencement et je me base sur ce que j'ai lu et ce que pratiquent quelques sites multilingues comme wikipedia ou yahoo.

    Je ne prétend pas détenir la vérité absolue mais bon, yahoo et wikipedia ne sont pas les premiers venus, ils savent ce qu'ils font.

    Et par contre si le nom de domaine contient des mots clés, mieux vaut investir dans un nom de domaine propre à chaque langue car effectivement monsitecontenantdesmotscles.com ne veut rien dire pour un hispanophone ni pour un anglophone donc cela ne rime à rien. Il vaudrait mieux dans ce cas acheter misitioconteniendopalabrasclaves.es, monsitecontenantdesmotscles.fr et mywebsitecontainingkeywords.com...

    Ce que je disais ne va pas à l'encontre du système de détection de la langue de l'utilisateur: quand je tape http://www.yahoo.com, yahoo détecte que j'utilise firefox en français et me redirige automatiquement vers l'adresse http://fr.yahoo.com

    Bon je ferme la parenthèse référencement, ce n'est pas le topic ici.

  9. #9
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    @dcvman alors ça fonctionne après le conseil de Akxn0008 ?

    Je me permet juste d'intervenir pour dire qu'à la suite d'un header de redirection il est conseiller de mettre un exit à la suite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header("Location:http://www.monsiter.com/anglais.php");
    exit;
    Cela t'évitera de mauvaises surprises dans certaines circonstances même si ça fonctionne souvent bien sans cela (mais pas toujours et le exit permet de t'assurer du bon fonctionnement dans tous les cas).

  10. #10
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 57
    Par défaut
    Salut à tous,

    un grand merci pour vos aides, je suis actuellement en deplacement, je regarde ça vendredi.

    A+

  11. #11
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 57
    Par défaut
    Salut,

    J'ai essayer de mettre avant la HTML toujours le meme message d'erreur

    puis l'exit a la place du break, meme message et rien s'affiche.

    je comprends pas

  12. #12
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    Montres-nous tout le code de la page qui pose problème.

    Par ailleurs, ce code n'est-il pas inclus dans une autre page ?

    L'erreur annoncée est typique d'un header exécuté après avoir fait afficher quelque chose, soit par un echo soit directement du code html...

    Sinon le 'exit' suite à un header de redirection est une bonne habitude à prendre pour éviter que le code continue à s'exécuter sans prendre en compte la redirection, ce qui arrive parfois. Mais cela n'a rien à voir avec le problème énoncé, c'est juste une précaution à prendre.

  13. #13
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 57
    Par défaut
    Salut en effet j'avais les pages anglais.php et espagnol.php avec le meme code. j'ai tout supprimé sur ces 2 pages mais toujours pareils.

    voici le code que j'ai sur index.php

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
       "http://www.w3.org/TR/REC-html40/strict.dtd">
     
    <?php
    if(!isset($langue_user)&&!isset($_SESSION["ch_langue"])){
    $langue_user=substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
            switch($langue_user){   
            case"fr":
            $_SESSION["ch_langue"]="fr";
            break;
                    
            case"en":
            $_SESSION["ch_langue"]="en";
            header("Location:http://www.monsiter.com/anglais.php");
            break;
                    
            
            case"es":
            $_SESSION["ch_langue"]="es";
            header("Location:http://www.monsiter.com/espagnol.php");
            break;
                    
            default:
            $_SESSION["ch_langue"]="fr";
            header("Location:http://www.monsiter.com/index.php");
            break;
            }
    }
    ?>
     
    <HTML>
     
    <HEAD>
    <TITLE>mon site</TITLE>
    </HEAD>
     
     
    <BODY>
    As tu une idée abciweb?

    merci d'avance

  14. #14
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    Il faut que RIEN ne soit affiché dans la page avant le header.
    Or là tu as

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
       "http://www.w3.org/TR/REC-html40/strict.dtd">
    avant le code php qui contient ce header.

    Donc mets TOUT ton code html AVANT le code PHP quand c'est possible (et là c'est possible).

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?php
    if(!isset($langue_user)&&!isset($_SESSION["ch_langue"]))
    {
    $langue_user=substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
            switch($langue_user){   
            case"fr":
            $_SESSION["ch_langue"]="fr";
            break;
                    
            case"en":
            $_SESSION["ch_langue"]="en";
            header("Location:http://www.monsiter.com/anglais.php");
            break;
                    
            
            case"es":
            $_SESSION["ch_langue"]="es";
            header("Location:http://www.monsiter.com/espagnol.php");
            break;
                    
            default:
            $_SESSION["ch_langue"]="fr";
            header("Location:http://www.monsiter.com/index.php");
            break;
            }
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
       "http://www.w3.org/TR/REC-html40/strict.dtd">
     
    <HTML>
     
    <HEAD>
    <TITLE>mon site</TITLE>
    </HEAD>
     
     
    <BODY>
    etc...
    </BODY>
    </HTML>

  15. #15
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 57
    Par défaut
    Salut ABCIWEB

    ça marche impec!!! merci bcp!!! la page s'affiche en fonction de la langue de l'explorateur!!!

    MERCIIIIIIIIIIIIII

    il faut juste que je corrige une chose: si mon explorateur est configuré avec une autre langue non listé (hors en,fr et es). la page ne s'affiche pas...ça charge sans rien.

    est-ce que ma page de defaut en français est bien programmée dans mon code php?

    merci

    A+++++

  16. #16
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

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

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 420
    Par défaut
    Ta page par défaut n'est pas programmée à l'identique que ta page en français. Or si tu veux que la page par défaut soit la page en français il faudrait en toute logique la programmer de la même façon, soit :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php
    if(!isset($langue_user)&&!isset($_SESSION["ch_langue"]))
    {
    $langue_user=substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
     
            switch($langue_user){   
            case"fr":
            $_SESSION["ch_langue"]="fr";
            break;
                    
            case"en":
            $_SESSION["ch_langue"]="en";
            header("Location:http://www.monsiter.com/anglais.php");exit;
            break;
                    
            
            case"es":
            $_SESSION["ch_langue"]="es";
            header("Location:http://www.monsiter.com/espagnol.php");exit;
            break;
                    
            default:
            $_SESSION["ch_langue"]="fr";
            break;
            }
    }
    ?>

  17. #17
    Membre averti
    Inscrit en
    Juin 2010
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 57
    Par défaut
    Impec ABCIWEB ça marche impeccable!!!

    un grand merci!!!

    A+

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

Discussions similaires

  1. [Débutant] Traduction site automatiquement
    Par Pelote2012 dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 11/12/2012, 18h01
  2. création de sous site automatiquement
    Par antarox dans le forum Développement Sharepoint
    Réponses: 2
    Dernier message: 22/05/2012, 15h57
  3. modifier toutes les pages d'un site automatiquement
    Par ajor dans le forum Services Web
    Réponses: 3
    Dernier message: 18/10/2008, 14h35
  4. Réponses: 12
    Dernier message: 04/11/2005, 17h28
  5. Architecture d'un site multi-langues
    Par seben dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 25/09/2005, 16h23

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