Я работаю над веб-приложением. Я использую i18next, и он не определяет язык, пока я не укажу "lng" в параметрах. Если я использую "navigator.language || navigator.userLanguage" и все в порядке с Chrome. Возвращает что-то вроде "en". Но, например, Firefox возвращает «en-GB». Я не использую региональный перевод, и i18next не перенаправляет "en-GB" на "en". Итак, система не работает.
Вот мой код:
$(document).ready(function(){
i18next.use(i18nextXHRBackend);
i18next.init({
'debug': true,
'lng': navigator.language || navigator.userLanguage,
'fallbackLng': 'en',
'load': 'currentOnly',
'backend': {
loadPath: 'locales/{{lng}}/{{ns}}.json'
}
}, function() {
jqueryI18next.init(i18next, $);
$('body').localize();
});
});
navigator.language.substr(0, 2)
? Таким образом, en-GB превращается в en… Это действительно зависит от списка значений, которые i18next принимает для lng. - person Aurel Bílý   schedule 22.07.2016