问题描述
我正在使用React i18next库在我的React应用程序中进行语言翻译。
我需要从API中获取语言首选项(说用户设置api),然后我需要使用从API中获得的语言来初始化i18n。
但是我的i18n.js文件首先(显然)在提供API调用之前初始化。不确定如何处理。我正在使用react挂钩和所有功能组件。
// 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)