React i18next-从API获取语言首选项,并根据获取的首选项初始化i18n

问题描述

我正在使用React i18next库在我的React应用程序中进行语言翻译。

我需要从API中获取语言首选项(说用户设置api),然后我需要使用从API中获得的语​​言来初始化i18n。

但是我的i18n.js文件首先(显然)在提供API调用之前初始化。不确定如何处理。我正在使用react挂钩和所有功能组件。

请在下面找到我的代码,并且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)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...