如何通过 i18n 翻译 React 中的对象数组?
How can I translate object array in React through i18n?
我在通过 i18n 更改 React 中对象数组中的语言时遇到问题。
我无法对 useTranslation 的“t”功能做出反应。这就是我遇到问题的原因。
下面是我的对象数组。
import { useTranslation } from 'react-i18next';
export const CARD_DATA = [
{
'title': useTranslation.t('Card Data Title'), -> ERROR
'icon': faCircleUser,
'details': "I've studied Typography & Graphic Communication \
at possibly the best Institution to do so in the \
world - The University of Reading.",
'color': '#e75d5d'
},
{
'title': 'Responsive Web Design',
'icon': faHeadphonesAlt,
'details': 'I design future proof mobile first reponsive websites \
to the latest web standards. I also keep up with \
the most recent best practices.',
'color': '#e75d5d'
}
]
这是我的主页。
import { CARD_DATA } from '../data/CardData';
<div className={styles.cardGrid}>
<CardGridView data={ CARD_DATA } />
</div>
下面是我的 i18n 组件。
i18n.use(initReactI18next).init({
resources: {
en: {
translations: {
'Card Data Title' : 'English'
}
},
de: {
translations: {
'Card Data Title' : 'Deutsch'
}
}
},
fallbackLng: 'tr',
ns: ['translations'],
defaultNS: 'translations',
keySeparator: false,
interpolation: {
escapeValue: false,
formatSeparator: ','
},
react: {
wait: true
}
});
export default i18n;
我该如何解决我的问题?
https://react.i18next.com/guides/quick-start
如果您需要从 React 组件外部访问 t 函数或 i18next 实例,您只需导入 ./i18n.js
并使用导出的 i18next 实例:
import i18next from './i18n'
i18next.t('my.key')
我在通过 i18n 更改 React 中对象数组中的语言时遇到问题。
我无法对 useTranslation 的“t”功能做出反应。这就是我遇到问题的原因。
下面是我的对象数组。
import { useTranslation } from 'react-i18next';
export const CARD_DATA = [
{
'title': useTranslation.t('Card Data Title'), -> ERROR
'icon': faCircleUser,
'details': "I've studied Typography & Graphic Communication \
at possibly the best Institution to do so in the \
world - The University of Reading.",
'color': '#e75d5d'
},
{
'title': 'Responsive Web Design',
'icon': faHeadphonesAlt,
'details': 'I design future proof mobile first reponsive websites \
to the latest web standards. I also keep up with \
the most recent best practices.',
'color': '#e75d5d'
}
]
这是我的主页。
import { CARD_DATA } from '../data/CardData';
<div className={styles.cardGrid}>
<CardGridView data={ CARD_DATA } />
</div>
下面是我的 i18n 组件。
i18n.use(initReactI18next).init({
resources: {
en: {
translations: {
'Card Data Title' : 'English'
}
},
de: {
translations: {
'Card Data Title' : 'Deutsch'
}
}
},
fallbackLng: 'tr',
ns: ['translations'],
defaultNS: 'translations',
keySeparator: false,
interpolation: {
escapeValue: false,
formatSeparator: ','
},
react: {
wait: true
}
});
export default i18n;
我该如何解决我的问题?
https://react.i18next.com/guides/quick-start
如果您需要从 React 组件外部访问 t 函数或 i18next 实例,您只需导入 ./i18n.js
并使用导出的 i18next 实例:
import i18next from './i18n'
i18next.t('my.key')