![](/img/trans.png)
[英]i18next : Object [object Object] has no method 'i18n'
[英]React i18next - Get language preference from API and initialize i18n based on fetched preference
我正在使用 React i18next 库在我的 react 应用程序中进行语言翻译。
我需要从 API(说用户设置 api)获取语言首选项,然后我需要使用从 API 获得的语言初始化 i18n。
但是我的 i18n.js 文件首先(显然)在 API 调用被服务之前初始化。 不知道如何处理。 我正在使用反应钩子和所有功能组件。
请在我的代码下面找到,我的 index.js 已导入以下文件
// i18n.js
import i18n from "i18next";
import { initReactI18next } from "react-i18next";
import translationEN from "./locale/en/translation.json";
import translationES from "./locale/es/translation.json";
const resources = {
es: {
translation: translationES,
},
en: {
translation: translationEN,
},
};
i18n.use(initReactI18next).init({
resources,
fallbackLng: "es",
keySeparator: false,
interpolation: {
escapeValue: false,
},
});
export default i18n;
提前致谢
获得用户的语言设置后,您可以通过以下方式更新语言
i18n.changeLanguage(lang)
您可以在初始化应用程序时从服务器获取 API,然后使用 i18n 的 API addResourceBundle
将语言环境文件添加到 i18init
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.