javascript - 如何使用 i18next 作为我的组件库的对等依赖项?
问题描述
我正在构建一个包含一些翻译的 React 组件库,但我希望这些翻译由我的包的用户提供。
这样做的原因是这些翻译应该是可定制的,我不想在这个包中包含所有可能的语言。
所以我想要实现的是useTranslations
在我的组件库中使用这样的:
import React from 'react';
import { useTranslation } from 'react-i18next';
const MyComponent = () => {
const { t } = useTranslation();
return <div>{t('helloWorld')}</div>;
};
不知何故'helloWorld'
,图书馆的用户应该可以配置翻译。
有什么办法可以做到这一点?
解决方案
显然这是由于yarn link
使用了两个版本的react-i18next
.
为了解决这个问题,我将我的应用程序配置为使用react-i18next
我的包的版本:
cd my-package/node_modules/react-i18next
yarn link
cd my-app
yarn link react-i18next
现在我的包使用i18next
在我的应用程序中配置的实例。