Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript reactJS i18n重新加载页面_Javascript_Reactjs_I18next_React I18next - Fatal编程技术网

Javascript reactJS i18n重新加载页面

Javascript reactJS i18n重新加载页面,javascript,reactjs,i18next,react-i18next,Javascript,Reactjs,I18next,React I18next,我正在我的reactjs应用程序中使用react-i18next 问题是,当我更改应用程序重新加载的语言时,它总是从主路径开始 有没有办法在不重新加载页面的情况下在同一页面上重定向或更改语言 谢谢 更新 I18n.js import i18n from 'i18next'; import LanguageDetector from 'i18next-browser-languagedetector'; import {de} from "../../locales/de"; import {e

我正在我的reactjs应用程序中使用react-i18next

问题是,当我更改应用程序重新加载的语言时,它总是从主路径开始

有没有办法在不重新加载页面的情况下在同一页面上重定向或更改语言

谢谢

更新

I18n.js

import i18n from 'i18next';
import LanguageDetector from 'i18next-browser-languagedetector';

import {de} from "../../locales/de";
import {en} from "../../locales/en";

i18n
    .use(LanguageDetector)
    .init({
        resources: {
            en: en,
            de: de
        },
        fallbackLng: 'de',

        // have a common namespace used around the full app
        ns: ['translations'],
        defaultNS: 'translations',

        keySeparator: '.',

        interpolation: {
            escapeValue: false, // not needed for react!!
            formatSeparator: ','
        },

        react: {
            wait: true
        }
    });

export default i18n;
更改语言:

    const { t, i18n } = this.props;
    const changeLanguage = (lng) => {
        i18n.changeLanguage(lng);
    };

你如何改变语言?使用查询字符串

如果调用
i18next.changeLanguage(lng)不会有任何更改,只需使用新语言重新加载即可


作为示例,请参见:

如何更改语言?使用查询字符串

如果调用
i18next.changeLanguage(lng)不会有任何更改,只需使用新语言重新加载即可


作为示例,请参见:

有相同的问题。我使用的是i18njs和react导航,用于清单堆栈和选项卡。这是我在网上唯一能找到的线索。然而,这并没有使我找到解决办法。无论如何,我还是设法解决了这个问题,并将分享我的解决方案


检查是否也翻译了堆栈和选项卡的名称,很可能是选项卡名称。翻译后的名称将使react导航丢失,因为它不再识别路由中记录的页面,因为选项卡名称在另一种语言中是全新的。这就是为什么它会跳转到页面,无论它在哪里发现它是所有导航器的顶部。本演练旨在为要翻译和显示的文本使用标签,同时为页面保留静态名称。

也有同样的问题。我使用的是i18njs和react导航,用于清单堆栈和选项卡。这是我在网上唯一能找到的线索。然而,这并没有使我找到解决办法。无论如何,我还是设法解决了这个问题,并将分享我的解决方案


检查是否也翻译了堆栈和选项卡的名称,很可能是选项卡名称。翻译后的名称将使react导航丢失,因为它不再识别路由中记录的页面,因为选项卡名称在另一种语言中是全新的。这就是为什么它会跳转到页面,无论它在哪里发现它是所有导航器的顶部。本演练旨在为要翻译和显示的文本使用标签,同时为页面保留静态名称。

是的,我就是这样做的。我在上面添加了i18next.js+语言更改,每次我更改语言时,我都会被重定向到/与i18next无关-它甚至根本不知道路由。你们是否有一些监听器添加到语言更改和重定向那里…一定是你们添加了一些代码。看一看这个示例-它在不重新加载页面或路由的情况下更改了语言…是的,我就是这样做的。我在上面添加了i18next.js+语言更改,每次我更改语言时,我都会被重定向到/与i18next无关-它甚至根本不知道路由。你们是否有一些监听器添加到语言更改和重定向那里…一定是你们添加了一些代码。看看这个示例-它在不重新加载页面或路由的情况下更改了语言。。。