首页 > 解决方案 > 如何使用 nextjs 从 url 中删除 /[lang 标签]?

问题描述

我想从 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</>
 }

正如我所说,它增加了我的路线/[语言代码]。有没有办法删除它并在“背景”中设置它?

非常感谢你!

标签: javascriptreactjsinternationalizationnext.jsi18next

解决方案


在你的next.config.js.

i18n: {
  localeDetection: false,
}

这为我解决了一个问题。


推荐阅读