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 :

Changement de langue dans un site


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Par défaut Changement de langue dans un site
    Bonjour à tous,

    Toujours dans le cadre de la création de mon site web j'ai ajouté de nouvelles lignes de code pour proposer un changement de langue à l'internaute.

    Pour que les choses soient claires, je propose de changer de langue d'une part dans le header via un clic sur un drapeau et dans chaque CV affiché.

    Dans les deux cas je gère le clic sur un drapeau via du code javascript.

    Drapeaux dans le Header

    Le clic sur l'un des drapeaux du header modifie la langue de TOUT le site:
    Titre du header, les sections gauche et droite et centrale.

    Drapeaux dans les CV

    Le clic dans sur l'un des drapeaux du CV change la langue du CV ainsi que le titre dans mon header.

    Drapeaux français et néerlandais

    Le clic sur ces deux drapeaux fonctionnent nickel.

    Drapeau anglais

    Bien qu'il change la langue de mon CV et de mon header à la différence des deux autres choix de langues il ne supprime pas dans le TITRE du header le titre de la langue précédemment sélectionnée.

    Quelqu'un peut-il analyser mon code et me dire ce que je fais mal.

    Car franchement après 1 heures à relire mon code je vois pas du tout.

    Code html de ma page CVfr.html

    Code html : 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
    <body onload="CacherBlocsCVChargement();CacherLangues('nl','en');">
     
    	<div id="Bloc_Page">
     
    		<header>
     
    			<h1>Senior Credit Controller</h1>
    			<h2 id="fr">Avec plus de 11 ans d'expérience</h2>
    			<h2 id="nl">Met meer dan 11 jaar ervaring</h2>
    			<h2 id="en">With more than 11 years of experience</h2>
     
    			<img id="Logo" src="Images/LogoWebSite.jpg"/>
     
    		<div id="SousNavLangues">
    			<ul>
    				<li><a href="CVen.html" onclick="ChangerLangue('fr','en');"><img src="Images/icon_en.png" alt="English"/></a>
    				<ul>
    					<li><a href="CVfr.html"><img src="Images/icon_fr.png" alt="French"/></a></li>
    					<li><a href="CVnl.html" onclick="ChangerLangue('fr','nl');"><img src="Images/icon_nl.png" alt="Dutch"/></a></li>
    				</ul>
    				</li>
    			</ul>
    		</div>

    Au chargement de la page j'appelle une fonction javascript à laquelle je fourni deux paramètres. Ce sont les deux langues à cacher. Dans ce cas-ci vu que le CV est en français (CVfr) je donne comme paramètres 'nl' et 'en'.

    Au clic sur un drapeau j'appelle une fonction javascript à laquelle je fourni deux paramètres. Le premier est la langue à cacher et le second la langue à afficher.

    Code Javascript

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function CacherLangues(id1,id2){
    	document.getElementById(id1).style.display = "none";
    	document.getElementById(id2).style.display = "none";
     
    	}
     
    function ChangerLangue(id1,id2){
    	document.getElementById(id1).style.display="none";
    	document.getElementById(id2).style.display="block";
     
    	}

    Si ce n'est pas assez parlant je vous invite à consulter mon site à l'adresse suivante http://myspace.voo.be/rarrabito/index.html

    D'avance merci pour votre aide.

    Ricardo

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    j'imagine que tu as dans ton HTML plusieur textes à changer
    or tu utilise l'attribut id pour repérer les texte à changer
    or un id est unique dans la page fr ne peux donc pas repérer tout les texte en français

    le tag <header> dans DIV ???
    enfin tu as trois langue mais changer n'en manipule que deux

    et pour finir peu importe ce que fait ton javascript vu que tu as mis des liens

    lorsque tu clique sur un lien qui a un attribut onclick
    le script s'exécute puis le lien est ouvert tu change donc de page
    tout ce que tu as fais dans la page précédente est perdu

    A+JYT

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Par défaut
    Je ne te remercie qu'à moitié pour ta réponse.

    Entre-temps j'ai trouvé la solution.

    Pour ce qui concerne le <header> dans le <div id="Bloc_Page">,
    je dois avouer que ta remarque m'étonne. Le div englobe toute le code html
    et me permet de centrer la page. C'est pas d'hier que cette programmation existe !!!

    Pour ce qui concerne les liens et leurs implications quand on clic dessus
    je ne suis pas con à ce point là. A mon avis tu crois que je sors de la brousse ou quoi ?

    Allez merci pour la réaction mais pas pour le contenu.

    Ricardo

  4. #4
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Citation Envoyé par RicardoBxl Voir le message
    Je ne te remercie qu'à moitié pour ta réponse.

    Entre-temps j'ai trouvé la solution.
    pense à cliquer sur le bouton résolut.

    Citation Envoyé par RicardoBxl Voir le message
    Pour ce qui concerne le <header> dans le <div id="Bloc_Page">,
    je dois avouer que ta remarque m'étonne. Le div englobe toute le code html
    et me permet de centrer la page. C'est pas d'hier que cette programmation existe !!!
    ce n'est pas d'hier mais ce n'est pas non plus très vieux
    header est un élément du DOM HTML5 elle n'est pas reconnue par tous les navigateurs
    et la norme prévoit son utilisation dans un élement article. l'utiliser hors de son dommaine de définition ne garanti pas son effet. deplus elle n'est pas faite pour changer l'apparence d'un contenu (center) mais pour structurer un document.
    le résultat d'un navigateur à l'autre peut être très variable.

    Citation Envoyé par RicardoBxl Voir le message
    Pour ce qui concerne les liens et leurs implications quand on clic dessus
    je ne suis pas con à ce point là. A mon avis tu crois que je sors de la brousse ou quoi ?
    Je ne me permettrais pas je n efait qu'interpréter les quelques rares élément que tu fourni
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="CVnl.html" onclick="ChangerLangue('fr','nl');">
    Citation Envoyé par RicardoBxl Voir le message
    Allez merci pour la réaction mais pas pour le contenu.

    Ricardo
    A+JYT

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Novembre 2010
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2010
    Messages : 362
    Par défaut
    Je me suis peut-être laissé emporté donc je te fais mes excuses.

    Toutefois si tu regardes la structure de ma page HTML5
    j'ai en gros ce qui suit:

    <div> qui englobe la page;
    <header>
    <section> pour les côtés et le centre

    Si je ne mets pas le <header> dans une section c'est parce que dans mon apprentissage ou sur le net je n'ai pas vu cette forme de structire.

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

Discussions similaires

  1. [Toutes versions] Utiliser un modele de liste dans un site d'une autre langue
    Par jff42 dans le forum SharePoint
    Réponses: 1
    Dernier message: 20/03/2014, 02h08
  2. Site MultiLangue : changement de langue impossible
    Par Exian4m dans le forum Langage
    Réponses: 7
    Dernier message: 06/03/2013, 10h45
  3. changement de menu dans un site
    Par genie007 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 03/10/2010, 22h49
  4. [WSS3] Changement de langue du site après création
    Par t-die dans le forum SharePoint
    Réponses: 4
    Dernier message: 10/04/2008, 11h38

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