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

JavaScript Discussion :

Modifier mon URL en fonction du langage du navigateur


Sujet :

JavaScript

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    février 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2006
    Messages : 101
    Points : 119
    Points
    119
    Par défaut Modifier mon URL en fonction du langage du navigateur
    Bonjour,
    Est-ce possible de modifier mon URL en javascript en fonction de la langue de mon navigateur ?
    Exemple :
    en : localhost/test/?lang=en
    fr : localhost/test/?lang=fr....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        let lg = navigator.language.substr(0, 2).toLowerCase();
        if (lg != "en" && lg != "fr" && lg != "es") lg = "en"
     
        // Mise à jour de mon URL ???
    Merci pour votre aide

  2. #2
    Membre éclairé
    Homme Profil pro
    Webdesigner
    Inscrit en
    juin 2014
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Associations - ONG

    Informations forums :
    Inscription : juin 2014
    Messages : 371
    Points : 737
    Points
    737
    Par défaut
    "mon URL" signifie-t-il l'URL de la page qui contient le JS ?
    Dans ce cas, il suffit de recharger la page via la propriété de Window location

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    mars 2002
    Messages
    39 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2002
    Messages : 39 418
    Points : 66 169
    Points
    66 169
    Billets dans le blog
    1
    Par défaut
    il faudra aussi tester l'existence du paramètre lang dans l'url pour éviter une boucle infinie de rechargement
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    février 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2006
    Messages : 101
    Points : 119
    Points
    119
    Par défaut
    Merci pour avoir aiguiller, maintenant je dois trouver la bonne syntaxe !!!
    Comme tu l'as dit Spacefrog, j'ai pour l'instant une boucle infinie
    Je vais continuer à chercher...

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    janvier 2011
    Messages
    16 363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2011
    Messages : 16 363
    Points : 42 031
    Points
    42 031
    Par défaut
    Bonjour,
    Citation Envoyé par l.mnu
    Est-ce possible de modifier mon URL en javascript en fonction de la langue de mon navigateur ?
    si tu as un langage serveur, comme PHP, il me semble plus judicieux de le laisser traiter cela sans oublier de proposer un choix dans ta page côté client.

    Il me semble que : $_SERVER['HTTP_ACCEPT_LANGUAGE'] devrait aidé à faire le job !

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    mars 2002
    Messages
    39 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : mars 2002
    Messages : 39 418
    Points : 66 169
    Points
    66 169
    Billets dans le blog
    1
    Par défaut
    Comme tu l'as dit Spacefrog, j'ai pour l'instant une boucle infinie
    teste l'existence du paramètre get lang, et ne fais la redirection que si il n'est pas présent ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

    réalisations :www.oxygen-translations.fr|www.saftair.fr| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  7. #7
    Membre régulier

    Profil pro
    Inscrit en
    février 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2006
    Messages : 101
    Points : 119
    Points
    119
    Par défaut
    J'ai essayé de suivre les conseils de NoSmoking mais maintenant j'ai un problème de redirection :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
        require("./model/LanguageModel.php");
        $langue = new Languages();
        $lang = $langue->language_prefere($_SERVER["HTTP_ACCEPT_LANGUAGE"]);
     
        //var_dump($lang);
     
        header("Location: index.php?lang=".$lang."");
        exit;
     
    ?>

    ma fonction language_prefere renvoie bien "fr"
    mon url a l'air correct : http://localhost/cow/index.php?lang=fr
    mais mon navigateur me dit "Cette page ne fonctionne pas" ???

    Encore merci pour votre aide !!!

  8. #8
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    9 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 9 666
    Points : 14 697
    Points
    14 697
    Par défaut
    Citation Envoyé par l.mnu Voir le message
    J'ai essayé de suivre les conseils de NoSmoking mais maintenant j'ai un problème de redirection :
    si vous gérez la langue coté serveur, vous n'avez pas besoin de faire de redirection, vous avez déjà l'information de la langue dans la variable.

  9. #9
    Membre régulier

    Profil pro
    Inscrit en
    février 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2006
    Messages : 101
    Points : 119
    Points
    119
    Par défaut
    si vous gérez la langue coté serveur, vous n'avez pas besoin de faire de redirection, vous avez déjà l'information de la langue dans la variable.
    C'est une bonne remarque !!!

    Maintenant quand je click sur ce lien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="index.php?lang=es"><img src="./img/flag/es.gif">Espagnol</a>
    ca met à jour mon URL et après j'utilise $GET['lang'] pour mettre ma page en espagnol.

    J'essaye de suivre vos conseils à tous, un grand merci mais nouveau conseil = nouveau problème Pas facile quand on débute....

    Question : comment met-on a jour la variable $lang quand on click sur le lien ?

  10. #10
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    juin 2003
    Messages
    9 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 9 666
    Points : 14 697
    Points
    14 697
    Par défaut
    ce que j'ai souvent vu, c'est la langue choisie stockée dans une variable de session.
    donc à la 1re visite, la langue est choisie à l'aide de l'entête HTTP_ACCEPT_LANGUAGE et quand l'utilisateur choisi une autre langue, vous modifiez la variable de session.

  11. #11
    Membre régulier

    Profil pro
    Inscrit en
    février 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2006
    Messages : 101
    Points : 119
    Points
    119
    Par défaut
    Je ne trouve toujours pas la bonne solution !!!
    Comme maintenant j'ai suivi le conseil de NoSmoking en prenant l'option PHP je vais plutôt demander sur le forum PHP.
    Merci à tous pour votre aide, c'est très sympa...

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

Discussions similaires

  1. Modifier L'URL en fonction de la langue du navigateur
    Par l.mnu dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/10/2022, 03h46
  2. Modifier mon URL à partir de ma requête
    Par Gaultier_versailles dans le forum AJAX
    Réponses: 2
    Dernier message: 24/05/2022, 18h18
  3. Réponses: 2
    Dernier message: 15/09/2010, 12h09
  4. Réponses: 10
    Dernier message: 05/08/2010, 13h02
  5. [C#] Popup - Modifier l'url de la fenetre appelante
    Par dacamp dans le forum ASP.NET
    Réponses: 2
    Dernier message: 25/05/2004, 13h10

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