5 javascript internationalization i18next reactjs next.js
我想从网址中删除/en或/it 。我不希望它明确地将其放入网址中。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
Run Code Online (Sandbox Code Playgroud)
我将其导入到我要翻译的页面中
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</>
}
Run Code Online (Sandbox Code Playgroud)
正如我所说,它添加到我的路线/[语言代码]。有没有办法将其删除并将其设置为“背景”?
非常感谢!
在你的next.config.js。
i18n: {
localeDetection: false,
}
Run Code Online (Sandbox Code Playgroud)
这为我解决了一个问题。
| 归档时间: |
|
| 查看次数: |
6744 次 |
| 最近记录: |