如何使用Reaction-I18Next动态设置{t(‘key’,{value})}的键

jc3wubiy  于 2022-09-21  发布在  React
关注(0)|答案(2)|浏览(137)

我正在使用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": "我的"
}
7eumitmz

7eumitmz1#

t函数中,您可以使用${item}[item]动态调用该值,因为{item}将不起作用。希望这能对你有所帮助。

mgdq6dx1

mgdq6dx12#

根据i18Next文档:您可以像这样访问翻译:

t([item])

Https://www.i18next.com/translation-function/essentials#multiple-fallback-keys

相关问题