decide.nolog.cz/app/instance-initializers/i18n.js

52 lines
1 KiB
JavaScript
Raw Normal View History

2015-11-20 02:18:19 +01:00
export default {
name: 'i18n',
initialize: function({ container }) {
var i18n = container.lookup('service:i18n'),
availableLocales = i18n.get('locales'),
moment = container.lookup('service:moment'),
2015-11-20 02:18:19 +01:00
locale = getLocale(availableLocales);
i18n.set('locale', locale);
moment.changeLocale(locale);
2015-11-20 02:18:19 +01:00
}
};
function getLocale(availableLocales) {
var methods = [
getLocaleByBrowser,
getLocaleFromCookie
];
var locale;
methods.any((method) => {
var l = method();
if (l && availableLocales.indexOf(l) !== -1) {
locale = l;
return true;
}
});
if (locale) {
return locale;
} else {
return 'en';
}
}
function getLocaleByBrowser() {
return (window.navigator.userLanguage || window.navigator.language).split("-")[0];
}
function getLocaleFromCookie() {
var language;
var cookie = document.cookie.replace(" ", "").split(";");
cookie.forEach(function(t){
var x = t.split("=");
if (x[0] === "language") {
language = x[1];
}
});
return language;
}