Reactjs 如何更改react-i18next中的语言
首先,我初始化I18下一个实例Reactjs 如何更改react-i18next中的语言,reactjs,internationalization,Reactjs,Internationalization,首先,我初始化I18下一个实例 import i18n from 'i18next'; import { initReactI18next } from 'react-i18next'; const resources = { en: { translation: { 'Welcome to React': 'Welcome to React and react' } }, de: { translation: { 'Welcome
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
const resources = {
en: {
translation: {
'Welcome to React': 'Welcome to React and react'
}
},
de: {
translation: {
'Welcome to React': 'Bienvenue à React et react-i18next'
}
}
};
i18n.use(initReactI18next).init({
resources,
lng: 'de',
interpolation: {
escapeValue: false
}
});
export default i18n;
然后在我的组件中使用带有UseTransation钩子的实例
import React from 'react'
import { useTranslation } from 'react-i18next'
import classes from './intro.module.scss'
export default function Intro() {
const { t, i18n } = useTranslation()
return (
<div className={classes.container}>
<div className={classes.innerContainer}>
<h1>{t('Welcome to React')}</h1>
</div>
</div>
)
}
从“React”导入React
从“react-i18next”导入{UseTransation}
从“./intro.module.scss”导入类
导出默认函数简介(){
const{t,i18n}=usetransation()
返回(
{t('WelcometoReact')}
)
}
那么现在如何将我在i18n实例中初始化的默认语言更改为de
我的导航栏上有一个按钮,我希望当我点击该按钮时,语言应该切换。您可以在react-i18n的文档中找到您需要的所有信息:
您需要使用函数i18n.changeLanguage()并将所需的语言作为道具传递。尝试此操作,在函数中传递语言以调用不同的语言
import React from 'react'
import { useTranslation } from 'react-i18next'
import classes from './intro.module.scss'
export default function Intro() {
const { t, i18n } = useTranslation()
const changeLanguageHandler = (lang) =>
{
i18n.changeLanguage("de")
}
return (
<div className={classes.container}>
<div className={classes.innerContainer}>
<h1>{t('Welcome to React')}</h1>
</div>
</div>
)
}
从“React”导入React
从“react-i18next”导入{UseTransation}
从“./intro.module.scss”导入类
导出默认函数简介(){
const{t,i18n}=usetransation()
常量changeLanguageHandler=(lang)=>
{
i18n.变更语言(“de”)
}
返回(
{t('WelcometoReact')}
)
}