我需要根据用户位置和/或浏览器语言设置更改应用程序的语言。我将如何在i18next中做到这一点?它必须是i18Next,因为该项目已经设置为可以使用它,并且使用另一个库将使我花很多时间来重构才能正常工作。
到目前为止,这是我的代码。我知道我需要在后端部分做一些事情,只是不知道要做什么。
import i18n from "i18next";
import { initReactI18next } from "react-i18next";
import Backend from "i18next-xhr-backend";
i18n
.init({
backend: {
loadPath: "/locales/{{lng}}/{{ns}}.json"
},
fallbackLng: "en",
debug: false,
keySeparator: false,
});
export default i18n;
我使用了i18next-browser-languagedetector。文档和示例在此处https://github.com/i18next/i18next-browser-languageDetector。琴弦
const options = {
order: ['querystring', 'navigator'],
lookupQuerystring: 'lng'
}
并在初始化
.use(LanguageDetector)
.use(initReactI18next)
将添加到您的i18n.js文件中。