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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
| <!DOCTYPE html>
<html lang="fr" dir="ltr">
<head>
<meta http-equiv="cache-control" content="public, max-age=60">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<meta name="author" content="Daniel Hagnoul">
<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.0.1.css">
<title>Test</title>
<style>
footer {
margin-top: 2.4rem;
}
</style>
<script src="https://code.jquery.com/qunit/qunit-2.0.1.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/i18next/3.4.1/i18next.min.js"></script>
<script src="http://danielhagnoul.developpez.com/lib/dvjh/dvjhUtilities-1.3.1.js"></script>
<script>
'use strict';
let
domLoadedHandler = ev => {
klog( `DOM ready : ${ new kDvjhDate() }` );
const
kSalut = k$( "[name='salut']" ),
kAction = k$( "[name='action']" );
{ // bloc i18next
i18next.init(
{
"lng" : navigator.language, // on applique la langue du navigateur par défaut
"resources" : {
"en" : {
"translation" : {
"hello" : "Hello world",
"button" : "Go"
}
},
"fr" : {
"translation" : {
"hello" : "Bonjour",
"button" : "Action"
}
},
"ar" : {
"translation" : {
"hello" : "صباح الخير",
"button" : "عمل"
}
}
}
},
( er, t ) => {
if ( er ){
kerror( er );
} else {
kSalut.textContent = i18next.t( "hello" );
kAction.textContent = i18next.t( "button" );
}
}
);
/*
* On peut changer de langue de différentes manières,
* voir la documentation de i18next : "http://i18next.com/".
*
* Ici, on prend la valeur de l'attribut lang de l'élément du DOM
*/
setTimeout( () => {
kSalut.textContent = i18next.t( "hello", { "lng" : kSalut.getAttribute( "lang" ) } );
kAction.textContent = i18next.t( "button", { "lng" : kAction.getAttribute( "lang" ) } );
}, 5000 ); // 5s avant la modification
}
},
windowLoadHandler = ev => {
klog( `Window load : ${ new kDvjhDate() }` );
kIDUnique();
};
kAddListener( [
[ document, "DOMContentLoaded", domLoadedHandler ],
[ window, "load", windowLoadHandler ]
] );
</script>
</head>
<body>
<main>
<output name="salut" lang="en"></output>
<button name="action" lang="ar" dir="rtl"></button>
</main>
<footer>
<section class="qunit">
<div id="qunit"></div>
<div id="qunit-fixture"></div>
</section>
</footer>
</body>
</html> |
Partager