49 lines
1.2 KiB
JavaScript
49 lines
1.2 KiB
JavaScript
|
define([
|
||
|
'./locales/ca.js',
|
||
|
'./locales/de.js',
|
||
|
'./locales/es.js',
|
||
|
'./locales/fr.js',
|
||
|
'./locales/it.js',
|
||
|
'./locales/nl.js',
|
||
|
'./locales/pl.js',
|
||
|
'./locales/pt_br.js',
|
||
|
'./locales/ro.js',
|
||
|
'./locales/ru.js',
|
||
|
'./locales/zh.js',
|
||
|
'./locales/zh_cn.js'
|
||
|
], function() {
|
||
|
var langId = (navigator.language || navigator.userLanguage).toLowerCase().replace('-', '_');
|
||
|
var language = langId.substr(0, 2);
|
||
|
var locales = {};
|
||
|
|
||
|
for (index in arguments) {
|
||
|
for (property in arguments[index])
|
||
|
locales[property] = arguments[index][property];
|
||
|
}
|
||
|
if ( ! locales['en'])
|
||
|
locales['en'] = {};
|
||
|
|
||
|
if ( ! locales[langId] && ! locales[language])
|
||
|
language = 'en';
|
||
|
|
||
|
var locale = (locales[langId] ? locales[langId] : locales[language]);
|
||
|
|
||
|
function __(text) {
|
||
|
var index = locale[text];
|
||
|
if (index === undefined)
|
||
|
return text;
|
||
|
return index;
|
||
|
};
|
||
|
|
||
|
function setLanguage(language) {
|
||
|
locale = locales[language];
|
||
|
}
|
||
|
|
||
|
return {
|
||
|
__ : __,
|
||
|
locales : locales,
|
||
|
locale : locale,
|
||
|
setLanguage: setLanguage
|
||
|
};
|
||
|
});
|