Skip to content

Commit

Permalink
Listen for init and not loaded before using i18next
Browse files Browse the repository at this point in the history
Fixes #418.
  • Loading branch information
ivmartel committed Oct 29, 2017
1 parent 3b0c11f commit 0966363
Show file tree
Hide file tree
Showing 9 changed files with 41 additions and 41 deletions.
8 changes: 4 additions & 4 deletions resources/conquest/dwv-mobile.lua
Original file line number Diff line number Diff line change
Expand Up @@ -194,10 +194,10 @@ dwv.i18nInitialise("en","/dwv");
print([[
// status flags
var domContentLoaded = false;
var i18nLoaded = false;
var i18nInitialised = false;
// launch when both DOM and i18n are ready
function launchApp() {
if ( domContentLoaded && i18nLoaded ) {
if ( domContentLoaded && i18nInitialised ) {
startApp();
}
}
Expand All @@ -207,11 +207,11 @@ $(document).ready( function() {
launchApp();
});
// i18n ready?
dwv.i18nOnLoaded( function () {
dwv.i18nOnInitialised( function () {
// call next once the overlays are loaded
var onLoaded = function (data) {
dwv.gui.info.overlayMaps = data;
i18nLoaded = true;
i18nInitialised = true;
launchApp();
};
// load overlay map info
Expand Down
8 changes: 4 additions & 4 deletions resources/conquest/dwv-simple.lua
Original file line number Diff line number Diff line change
Expand Up @@ -157,10 +157,10 @@ dwv.i18nInitialise("en","/dwv");
print([[
// status flags
var domContentLoaded = false;
var i18nLoaded = false;
var i18nInitialised = false;
// launch when both DOM and i18n are ready
function launchApp() {
if ( domContentLoaded && i18nLoaded ) {
if ( domContentLoaded && i18nInitialised ) {
startApp();
}
}
Expand All @@ -170,8 +170,8 @@ $(document).ready( function() {
launchApp();
});
// i18n ready?
dwv.i18nOnLoaded( function () {
i18nLoaded = true;
dwv.i18nOnInitialised( function () {
i18nInitialised = true;
launchApp();
});
]])
Expand Down
8 changes: 4 additions & 4 deletions resources/conquest/dwv-static.lua
Original file line number Diff line number Diff line change
Expand Up @@ -195,10 +195,10 @@ dwv.i18nInitialise("en","/dwv");
print([[
// status flags
var domContentLoaded = false;
var i18nLoaded = false;
var i18nInitialised = false;
// launch when both DOM and i18n are ready
function launchApp() {
if ( domContentLoaded && i18nLoaded ) {
if ( domContentLoaded && i18nInitialised ) {
startApp();
}
}
Expand All @@ -208,11 +208,11 @@ $(document).ready( function() {
launchApp();
});
// i18n ready?
dwv.i18nOnLoaded( function () {
dwv.i18nOnInitialised( function () {
// call next once the overlays are loaded
var onLoaded = function (data) {
dwv.gui.info.overlayMaps = data;
i18nLoaded = true;
i18nInitialised = true;
launchApp();
};
// load overlay map info
Expand Down
14 changes: 7 additions & 7 deletions src/utils/i18n.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,21 +47,21 @@ dwv.i18nInitialise = function (language, localesPath)
};

/**
* Handle i18n load event.
* @param {Object} callback The callback function to call when i18n is loaded.
* It can take one argument that will be replaced with the loaded languages.
* Handle i18n 'initialized' event.
* @param {Object} callback The callback function to call when i18n is initialised.
* It can take one argument that will be replaced with the i18n options.
* @external i18next
*/
dwv.i18nOnLoaded = function (callback) {
i18next.on('loaded', callback);
dwv.i18nOnInitialised = function (callback) {
i18next.on('initialized', callback);
};

/**
* Stop handling i18n load event.
* @external i18next
*/
dwv.i18nOffLoaded = function () {
i18next.off('loaded');
dwv.i18nOffInitialised = function () {
i18next.off('initialized');
};

/**
Expand Down
12 changes: 6 additions & 6 deletions tests/utils/i18n.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ QUnit.module("i18n");
*/
function checkLanguage(language, keys, assert) {
var done = assert.async();
// initialise with auto language
dwv.i18nInitialise(language, "..");
// fail test if load fails
dwv.i18nOnFailedLoad( function (lng /*, ns, msg*/) {
assert.ok(false, "Failed loading '" + lng + "' language.");
Expand All @@ -21,18 +19,20 @@ function checkLanguage(language, keys, assert) {
// finish async test
done();
});
// test once loaded
dwv.i18nOnLoaded( function (/*loaded*/) {
// test once initialised
dwv.i18nOnInitialised( function (/*options*/) {
// stop linstening
dwv.i18nOffInitialised();
// check some values
for (var i = 0; i < keys.length; ++i ) {
assert.equal(dwv.i18nExists(keys[i][0]), true, "i18n "+language+" translation exists");
assert.equal(dwv.i18n(keys[i][0]), keys[i][1], "i18n "+language+" translation is ok");
}
// stop linstening
dwv.i18nOffLoaded();
// finish async test
done();
});
// initialise with input language
dwv.i18nInitialise(language, "..");
}

/**
Expand Down
8 changes: 4 additions & 4 deletions viewers/mobile/applauncher.js
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,10 @@ dwv.i18nInitialise();

// status flags
var domContentLoaded = false;
var i18nLoaded = false;
var i18nInitialised = false;
// launch when both DOM and i18n are ready
function launchApp() {
if ( domContentLoaded && i18nLoaded ) {
if ( domContentLoaded && i18nInitialised ) {
startApp();
}
}
Expand All @@ -85,11 +85,11 @@ $(document).ready( function() {
launchApp();
});
// i18n ready?
dwv.i18nOnLoaded( function () {
dwv.i18nOnInitialised( function () {
// call next once the overlays are loaded
var onLoaded = function (data) {
dwv.gui.info.overlayMaps = data;
i18nLoaded = true;
i18nInitialised = true;
launchApp();
};
// load overlay map info
Expand Down
8 changes: 4 additions & 4 deletions viewers/simple/applauncher.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ dwv.i18nInitialise();

// status flags
var domContentLoaded = false;
var i18nLoaded = false;
var i18nInitialised = false;
// launch when both DOM and i18n are ready
function launchApp() {
if ( domContentLoaded && i18nLoaded ) {
if ( domContentLoaded && i18nInitialised ) {
startApp();
}
}
Expand All @@ -44,7 +44,7 @@ $(document).ready( function() {
launchApp();
});
// i18n ready?
dwv.i18nOnLoaded( function () {
i18nLoaded = true;
dwv.i18nOnInitialised( function () {
i18nInitialised = true;
launchApp();
});
8 changes: 4 additions & 4 deletions viewers/simplistic/applauncher.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ dwv.i18nInitialise();

// status flags
var domContentLoaded = false;
var i18nLoaded = false;
var i18nInitialised = false;
// launch when both DOM and i18n are ready
function launchApp() {
if ( domContentLoaded && i18nLoaded ) {
if ( domContentLoaded && i18nInitialised ) {
startApp();
}
}
Expand All @@ -44,7 +44,7 @@ document.addEventListener("DOMContentLoaded", function (/*event*/) {
launchApp();
});
// i18n ready?
dwv.i18nOnLoaded( function () {
i18nLoaded = true;
dwv.i18nOnInitialised( function () {
i18nInitialised = true;
launchApp();
});
8 changes: 4 additions & 4 deletions viewers/static/applauncher.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,10 @@ dwv.i18nInitialise();

// status flags
var domContentLoaded = false;
var i18nLoaded = false;
var i18nInitialised = false;
// launch when both DOM and i18n are ready
function launchApp() {
if ( domContentLoaded && i18nLoaded ) {
if ( domContentLoaded && i18nInitialised ) {
startApp();
}
}
Expand All @@ -53,11 +53,11 @@ $(document).ready( function() {
launchApp();
});
// i18n ready?
dwv.i18nOnLoaded( function () {
dwv.i18nOnInitialised( function () {
// call next once the overlays are loaded
var onLoaded = function (data) {
dwv.gui.info.overlayMaps = data;
i18nLoaded = true;
i18nInitialised = true;
launchApp();
};
// load overlay map info
Expand Down

0 comments on commit 0966363

Please sign in to comment.