webapp에서 작업하고 있습니다. i18next를 사용하고 있으며 옵션에 "lng"를 지정하지 않으면 언어를 감지하지 못합니다. "navigator.language || navigator.userLanguage"를 사용하면 Chrome에서 문제가 없습니다. "en"과 같은 것을 반환합니다. 그러나 예를 들어 Firefox는 "en-GB"를 반환합니다. 나는 지역 번역을 사용하지 않으며 i18next는 "en-GB"를 "en"으로 리디렉션하지 않습니다. 따라서 시스템이 작동하지 않습니다.브라우저 언어를 감지하고 i18next와 함께 사용하는 데 문제가 있습니다.
$(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'으로 바뀝니다 ... 이것은 정말로 'lng'에 대해 i18next가 허용하는 값 목록에 따라 다릅니다. –
@ AurelBílý 그걸로 작동합니다. 감사. 그래서, 내 코드에 문제가 없지, 그렇지? – mutlucan96