我正在使用REACTION编写顶部导航栏,并尝试使用REACT-I18NEXT实现翻译。在您尝试动态设置{t('HOW DO I GET THIS DYNAMIC??'}
的密钥之前,一切都会正常工作。
我循环遍历导航栏的项的数组,并为每个项获取动态值,并将其设置为Translation.json中的变量的值,但我无法将键设置为动态的,我尝试了使用{Item},但不起作用。
代码:
const { t } = useTranslation();
const menuItem = ['Pool', 'Mining', 'Leveraged', 'Lock up', 'Docs', 'Profile'];
{menuItem.map((item, idx) => (
<Link key={item} to="/">
<Button className={classes.item}>{t('HOW DO I GET THIS DYNAMIC??')}</Button>
</Link>
))}
这是EN翻译文件:
{
"Pool": "Pool",
"Mining": "Mining",
"Leveraged": "Leveraged",
"Lock up": "Lock Up",
"Docs": "Docs",
"Profile": "Profile"
}
Ant这是我的zh翻译文件:
{
"Pool": "存款池",
"Mining": "存款挖矿",
"Leveraged": "杠杆挖矿",
"Lock up": "锁仓",
"Docs": "文档",
"Profile": "我的"
}
2条答案
按热度按时间7eumitmz1#
在
t
函数中,您可以使用${item}
或[item]
动态调用该值,因为{item}
将不起作用。希望这能对你有所帮助。mgdq6dx12#
根据i18Next文档:您可以像这样访问翻译:
Https://www.i18next.com/translation-function/essentials#multiple-fallback-keys