Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.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 如何使用nextjs从url中删除/[lang标记]?_Javascript_Reactjs_Internationalization_Next.js_I18next - Fatal编程技术网

Javascript 如何使用nextjs从url中删除/[lang标记]?

Javascript 如何使用nextjs从url中删除/[lang标记]?,javascript,reactjs,internationalization,next.js,i18next,Javascript,Reactjs,Internationalization,Next.js,I18next,我想从url中删除/en或/it。我不想把它显式地放在url中。i18next默认情况下会执行此操作,但我不知道如何删除它。我只想把它放在背景里 我是否必须添加任何选项来删除该选项,或者对此我无能为力 我的代码如下: import i18n from 'i18next' import Backend from 'i18next-http-backend' import LanguageDetector from 'i18next-browser-languagedetector' import

我想从url中删除/en/it。我不想把它显式地放在url中。i18next默认情况下会执行此操作,但我不知道如何删除它。我只想把它放在背景里

我是否必须添加任何选项来删除该选项,或者对此我无能为力

我的代码如下:

import i18n from 'i18next'
import Backend from 'i18next-http-backend'
import LanguageDetector from 'i18next-browser-languagedetector'
import { initReactI18next } from 'react-i18next'

i18n
  .use(Backend)
  .use(LanguageDetector)
  .use(initReactI18next)
  .init({
    fallbackLng: 'en',
    debug: true,

    interpolation: {
      escapeValue: false,
    },
    react: {
      useSuspense: false,
    },
  })

export default i18n
我在我要翻译的页面中导入这个

import { useTranslation } from 'react-i18next';

function MyComponent: ReactElement {
    const [isEnglish, setIsEnglish] = useState(true);
    const { t, i18n } = useTranslation();
    const handleClick = () => {
        setIsEnglish(!isEnglish);
        i18n.changeLanguage(!isEnglish ? 'en' : 'it');
    }
    return <>My stuff</>
 }
从'react-i18next'导入{usetransation};
函数MyComponent:ReactElement{
const[isEnglish,setIsEnglish]=使用状态(true);
const{t,i18n}=useTranslation();
常量handleClick=()=>{
塞特英语(!塞特英语);
i18n.改变语言(!isEnglish?'en':'it');
}
还我的东西
}
正如我所说,它增加了我的路线/[语言代码]。有没有办法将其删除,然后在“背景”中设置


多谢各位

在您的
next.config.js

i18n: {
  localeDetection: false,
}
这为我解决了一个问题。

为什么要使用
使用(后端)
?我想这就是问题所在。为了正确地使用服务器端区域设置检测设置国际化,您可能希望看到类似的内容。