在数据文件中使用 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 (将#修改为@)