Next Js中如何获取URL的locale值
How to get the locale value from URL in Next Js
在 Next Js 应用程序中,我使用 next-i18next
模块来支持多语言。它工作正常。
NabBar组件代码:
const NavBar = ({...props}) => {
const router = useRouter()
const { t } = useTranslation('navbar');
const onChangeLanguage = (lang) => (e)=> {
e.preventDefault()
if(lang === 'ar') {
router.push('ar')
} else {
router.push('/')
}
}
.....
<input type="radio" onClick={onChangeLanguage('en')} />
<label >English</label>
<Input type="radio" onClick={onChangeLanguage('ar')} />
<label >Arabic</label>
}
export default NavBar;
单击阿拉伯语时,它会在域后应用 /ar
。例如http://localhost:3000/ar
但现在我想在所有页面中显示选中的单选按钮。谁能建议我如何显示与所选语言对应的选中单选按钮。
您可以从路由器获取当前活动区域设置。可在 router.locale
购买
然后您只需检查复选框 ID 是否与活动语言环境匹配
在 Next Js 应用程序中,我使用 next-i18next
模块来支持多语言。它工作正常。
NabBar组件代码:
const NavBar = ({...props}) => {
const router = useRouter()
const { t } = useTranslation('navbar');
const onChangeLanguage = (lang) => (e)=> {
e.preventDefault()
if(lang === 'ar') {
router.push('ar')
} else {
router.push('/')
}
}
.....
<input type="radio" onClick={onChangeLanguage('en')} />
<label >English</label>
<Input type="radio" onClick={onChangeLanguage('ar')} />
<label >Arabic</label>
}
export default NavBar;
单击阿拉伯语时,它会在域后应用 /ar
。例如http://localhost:3000/ar
但现在我想在所有页面中显示选中的单选按钮。谁能建议我如何显示与所选语言对应的选中单选按钮。
您可以从路由器获取当前活动区域设置。可在 router.locale
然后您只需检查复选框 ID 是否与活动语言环境匹配