微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在数据文件中使用 next-i18next 翻译

如何解决在数据文件中使用 next-i18next 翻译

我在 Next.js 应用中使用 next-i18next 库进行翻译。

它被设计为使用大量数据文件,这些文件导出原始数组和对象。现在,我不确定如何将我的翻译放在那里。

让我们考虑这个简化的例子:

export const fruits = [
    'Green apple','Yellow banana','Sour lemon','Red grape',];

我正在将此文件导入我的模板并显示它:

<ul>
    {fruits.map(fruit => <li>{fruit}</li>)}
</ul>

在现实生活中,这些数据文件要复杂得多,因此调整模板以使用来自那里的翻译将花费很长时间。此外,模板中的许多组件使用来自这些文件的数据作为动态属性。所以为了避免这种重构的噩梦,我想做这样的事情:

import { useTranslation } from 'next-i18next';

const { t } = useTranslation('fruits');

export const fruits = [
    t('greenApple'),t('yellowBanana'),t('sourLemon'),t('redGrape'),];

当然不能这样做,因为钩子不能在功能组件之外使用。有没有办法在像这样的原始 JavaScript 文件中使用翻译?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。