In Next Js application, I am using next-i18next
module for multi language support. It is working fine.
Code of NabBar component:
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;
on click of Arabic, it is applying /ar
after the domain. e.g. http://localhost:3000/ar
But now I want to show the selected radio button in all the pages. Can anyone suggest that how can I display checked radio button corresponding to the selected language.
You can get current active locale from router. It is available at router.locale
And then you would simply check if checkbox id is matching active locale