|
|
|
@ -2,7 +2,19 @@
|
|
|
|
|
|
|
|
|
|
(function (factory) {
|
|
|
|
|
function loadClient(language, namespace) {
|
|
|
|
|
return Promise.resolve(jQuery.getJSON([config.assetBaseUrl, 'language', language, namespace].join('/') + '.json?' + config['cache-buster']));
|
|
|
|
|
return new Promise(function (resolve, reject) {
|
|
|
|
|
jQuery.getJSON([config.assetBaseUrl, 'language', language, namespace].join('/') + '.json?' + config['cache-buster'], function (data) {
|
|
|
|
|
const payload = {
|
|
|
|
|
language: language,
|
|
|
|
|
namespace: namespace,
|
|
|
|
|
data: data,
|
|
|
|
|
};
|
|
|
|
|
$(window).trigger('action:translator.loadClient', payload);
|
|
|
|
|
resolve(payload.promise ? Promise.resolve(payload.promise) : data);
|
|
|
|
|
}).fail(function (jqxhr, textStatus, error) {
|
|
|
|
|
reject(new Error(textStatus + ', ' + error));
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
var warn = function () { console.warn.apply(console, arguments); };
|
|
|
|
|
if (typeof define === 'function' && define.amd) {
|
|
|
|
@ -549,6 +561,18 @@
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
flushNamespace: function (namespace) {
|
|
|
|
|
Object.keys(Translator.cache).forEach(function (code) {
|
|
|
|
|
if (Translator.cache[code] &&
|
|
|
|
|
Translator.cache[code].translations &&
|
|
|
|
|
Translator.cache[code].translations[namespace]
|
|
|
|
|
) {
|
|
|
|
|
Translator.cache[code].translations[namespace] = null;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Legacy translator function for backwards compatibility
|
|
|
|
|
*/
|
|
|
|
|