mirror of
https://github.com/soulaklabs/bitoduc.fr.git
synced 2025-12-09 01:23:24 +00:00
Add a button to switch between EN-FR/FR-EN
This commit is contained in:
@@ -1,3 +1,29 @@
|
|||||||
|
function trouveElement(id)
|
||||||
|
{
|
||||||
|
return document.getElementById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
function obtenirLAttribut(element, attribut)
|
||||||
|
{
|
||||||
|
return element.getAttribute(attribut);
|
||||||
|
}
|
||||||
|
|
||||||
|
function definirLAttribut(element, attribut, valeur)
|
||||||
|
{
|
||||||
|
return element.setAttribute(attribut, valeur);
|
||||||
|
}
|
||||||
|
|
||||||
|
function changeDeSens(window)
|
||||||
|
{
|
||||||
|
var element = trouveElement('mots')
|
||||||
|
var langueDesClefsActuelle = obtenirLAttribut(element, 'data-langue');
|
||||||
|
var autre = {'anglais': 'francais',
|
||||||
|
'francais': 'anglais'};
|
||||||
|
var langueDesClefsNouvelle = autre[langueDesClefsActuelle];
|
||||||
|
definirLAttribut(element, 'data-langue', langueDesClefsNouvelle);
|
||||||
|
construitListe(window)
|
||||||
|
}
|
||||||
|
|
||||||
function construitListe(window)
|
function construitListe(window)
|
||||||
{
|
{
|
||||||
var document = window.document;
|
var document = window.document;
|
||||||
@@ -78,11 +104,6 @@ function construitListe(window)
|
|||||||
{anglais: 'tweet', francais: 'gazouilli'}
|
{anglais: 'tweet', francais: 'gazouilli'}
|
||||||
];
|
];
|
||||||
|
|
||||||
function trouveElement(id)
|
|
||||||
{
|
|
||||||
return document.getElementById(id);
|
|
||||||
}
|
|
||||||
|
|
||||||
function cache(e)
|
function cache(e)
|
||||||
{
|
{
|
||||||
e.style.visibility = 'hidden';
|
e.style.visibility = 'hidden';
|
||||||
@@ -96,10 +117,10 @@ function construitListe(window)
|
|||||||
var tous_les_mots = vrais_mots.concat(faux_mots);
|
var tous_les_mots = vrais_mots.concat(faux_mots);
|
||||||
|
|
||||||
var i;
|
var i;
|
||||||
var noeudFRversANG = trouveElement('francais_vers_anglais');
|
var lien = trouveElement('lienChange');
|
||||||
var noeudANGversFR = trouveElement('anglais_vers_francais');
|
var mots = trouveElement('mots');
|
||||||
var lettresFRversANG = new Array(26);
|
var langueDesClefs = obtenirLAttribut(mots, 'data-langue');
|
||||||
var lettresANGversFR = new Array(26);
|
var lettres = new Array(26);
|
||||||
var noeud;
|
var noeud;
|
||||||
|
|
||||||
function enleveLesAccents(s) {
|
function enleveLesAccents(s) {
|
||||||
@@ -107,24 +128,28 @@ function construitListe(window)
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var lienFR = '<span class="mot-francais">Français</span>';
|
||||||
|
var lienANG = '<span class="mot-anglais">Anglais</span>';
|
||||||
|
var lienSource = lienFR;
|
||||||
|
var lienDestination = lienANG;
|
||||||
|
if (langueDesClefs === 'anglais') {
|
||||||
|
lienSource = lienANG;
|
||||||
|
lienDestination = lienFR;
|
||||||
|
}
|
||||||
|
lien.innerHTML = lienSource + ' → ' + lienDestination;
|
||||||
|
|
||||||
|
mots.innerHTML = '';
|
||||||
|
|
||||||
|
|
||||||
for (i = 0; i < 26; ++i) {
|
for (i = 0; i < 26; ++i) {
|
||||||
|
|
||||||
var lettre = String.fromCharCode(65 + i);
|
var lettre = String.fromCharCode(65 + i);
|
||||||
lettresFRversANG[i] = noeud = document.creeElement('div');
|
|
||||||
|
lettres[i] = noeud = document.creeElement('div');
|
||||||
noeud.className = 'groupe-lettre';
|
noeud.className = 'groupe-lettre';
|
||||||
noeud.enfants = 0;
|
noeud.enfants = 0;
|
||||||
|
|
||||||
var titre = document.creeElement('h3');
|
var titre = document.creeElement('h3');
|
||||||
titre.innerHTML = lettre;
|
titre.innerHTML = lettre;
|
||||||
noeud.appendChild(titre);
|
|
||||||
|
|
||||||
|
|
||||||
lettresANGversFR[i] = noeud = document.creeElement('div');
|
|
||||||
noeud.className = 'groupe-lettre';
|
|
||||||
noeud.enfants = 0;
|
|
||||||
titre = document.creeElement('h3');
|
|
||||||
titre.innerHTML = lettre;
|
|
||||||
noeud.appendChild(titre);
|
noeud.appendChild(titre);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -144,31 +169,27 @@ function construitListe(window)
|
|||||||
noeud = document.createElement('div');
|
noeud = document.createElement('div');
|
||||||
noeud.className = 'definition';
|
noeud.className = 'definition';
|
||||||
|
|
||||||
noeud.innerHTML = '· <span class="mot-anglais"> ' + mot.anglais + ' </span> : '
|
var spanAnglais = '<span class="mot-anglais"> ' + mot.anglais + ' </span>';
|
||||||
+ '<span class="mot-francais">' + mot.francais + "</span>";
|
var spanFrancais = '<span class="mot-francais">' + mot.francais + '</span>';
|
||||||
var indice = indiceDeLaPremiereLettre(mot.anglais);
|
|
||||||
|
|
||||||
lettresANGversFR[indice].appendChild(noeud);
|
var spanClef = spanFrancais;
|
||||||
lettresANGversFR[indice].enfants++;
|
var spanValeur = spanAnglais;
|
||||||
|
var indice = indiceDeLaPremiereLettre(mot.francais);
|
||||||
|
if (langueDesClefs === 'anglais') {
|
||||||
|
spanClef = spanAnglais;
|
||||||
|
spanValeur = spanFrancais;
|
||||||
|
indice = indiceDeLaPremiereLettre(mot.anglais);
|
||||||
|
}
|
||||||
|
|
||||||
noeud = document.createElement('div');
|
noeud.innerHTML = '· ' + spanClef + ' : ' + spanValeur;
|
||||||
noeud.className = 'definition';
|
|
||||||
noeud.innerHTML = mot.francais + ' → ' + mot.anglais;
|
|
||||||
noeud.innerHTML = '· <span class="mot-francais"> ' + mot.francais + '</span> : '
|
|
||||||
+ '<span class="mot-anglais">' + mot.anglais + ' </span>';
|
|
||||||
|
|
||||||
indice = indiceDeLaPremiereLettre(mot.francais);
|
lettres[indice].appendChild(noeud);
|
||||||
lettresFRversANG[indice].appendChild(noeud);
|
lettres[indice].enfants++;
|
||||||
lettresFRversANG[indice].enfants++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < 26; ++i) {
|
for (i = 0; i < 26; ++i) {
|
||||||
noeud = lettresFRversANG[i];
|
noeud = lettres[i];
|
||||||
if (noeud.enfants > 1)
|
if (noeud.enfants > 1)
|
||||||
noeudFRversANG.appendChild(noeud);
|
mots.appendChild(noeud);
|
||||||
|
|
||||||
noeud = lettresANGversFR[i];
|
|
||||||
if (noeud.enfants > 1)
|
|
||||||
noeudANGversFR.appendChild(noeud);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,16 +16,16 @@
|
|||||||
|
|
||||||
<div id="intro">
|
<div id="intro">
|
||||||
De nos jours on rencontre de nombreux termes techniques en anglais : « megabyte », « URL » ou encore « plugin ».<br/><br/> Pourtant, ces nouveaux mots ont souvent un équivalent francais qu'il conviendrait d'utiliser. En voici une liste bien pratique. Bonne lecture !
|
De nos jours on rencontre de nombreux termes techniques en anglais : « megabyte », « URL » ou encore « plugin ».<br/><br/> Pourtant, ces nouveaux mots ont souvent un équivalent francais qu'il conviendrait d'utiliser. En voici une liste bien pratique. Bonne lecture !
|
||||||
|
|
||||||
|
<br/><br/>
|
||||||
|
<div>
|
||||||
|
<a id="lienChange" href="#" onclick="changeDeSens(window)"></a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="anglais_vers_francais">
|
<div id="mots" data-langue="anglais">
|
||||||
<h2>Lexique anglais-français</h2>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="francais_vers_anglais">
|
|
||||||
<h2>Lexique français-anglais</h2>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
construitListe(window);
|
construitListe(window);
|
||||||
|
|||||||
Reference in New Issue
Block a user