Javascript 如何使用nextjs从url中删除/[lang标记]?
我想从url中删除/en或/it。我不想把它显式地放在url中。i18next默认情况下会执行此操作,但我不知道如何删除它。我只想把它放在背景里 我是否必须添加任何选项来删除该选项,或者对此我无能为力 我的代码如下: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
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,
}
这为我解决了一个问题。为什么要使用使用(后端)
?我想这就是问题所在。为了正确地使用服务器端区域设置检测设置国际化,您可能希望看到类似的内容。