如何在 BASIC 函数(不是组件)中使用 react-i18next?
How to use react-i18next inside BASIC function (not component)?
我知道 react-i18next 在每个组件中工作:功能(使用 useTranslation)和 class 组件(使用 withTranslation())但是我不能在这样的基本函数中使用翻译:
const not_a_component = () => {
const { t } = useTranslation();
return t('translation')
};
const translate = not_a_component();
错误挂钩!
谢谢!
您可以只使用 i18next
库来使用 javascript 进行翻译。
react-i18next
只是 i18next
.
之上的包装库
下面是一个示例,如果您已经在使用 react-i18next
并且它已配置。
import i18next from "i18next";
const not_a_component = () => {
const result = i18next.t("key");
console.log(result);
return result;
};
export default not_a_component;
如果您选择只使用 i18next
,那么您可以简单地获得 t
功能。
这完全取决于您的要求。
import i18next from 'i18next';
i18next.init({
lng: 'en',
debug: true,
resources: {
en: {
translation: {
"key": "hello world"
}
}
}
}, function(err, t) {
// You get the `t` function here.
document.getElementById('output').innerHTML = i18next.t('key');
});
希望对您有所帮助!!!
或者,您可以将 t
作为附加参数传递:
const not_a_component = (t) => {
return t('translation')
};
// Within a component
const { t } = useTranslation()
not_a_component(t)
我知道 react-i18next 在每个组件中工作:功能(使用 useTranslation)和 class 组件(使用 withTranslation())但是我不能在这样的基本函数中使用翻译:
const not_a_component = () => {
const { t } = useTranslation();
return t('translation')
};
const translate = not_a_component();
错误挂钩!
谢谢!
您可以只使用 i18next
库来使用 javascript 进行翻译。
react-i18next
只是 i18next
.
下面是一个示例,如果您已经在使用 react-i18next
并且它已配置。
import i18next from "i18next";
const not_a_component = () => {
const result = i18next.t("key");
console.log(result);
return result;
};
export default not_a_component;
如果您选择只使用 i18next
,那么您可以简单地获得 t
功能。
这完全取决于您的要求。
import i18next from 'i18next';
i18next.init({
lng: 'en',
debug: true,
resources: {
en: {
translation: {
"key": "hello world"
}
}
}
}, function(err, t) {
// You get the `t` function here.
document.getElementById('output').innerHTML = i18next.t('key');
});
希望对您有所帮助!!!
或者,您可以将 t
作为附加参数传递:
const not_a_component = (t) => {
return t('translation')
};
// Within a component
const { t } = useTranslation()
not_a_component(t)