React i18n,检查是否存在翻译?



是否有一种方法来检查一个区域设置是否存在于react应用程序?就像布尔值true/false

是的,您可以使用i18n.exists()方法检查语言变量是否存在:

可以从useTranslation钩子中提取i18n

const { t, i18n } = useTranslation();

则调用i18n.exists('my.key'),例如:

i18n.exists("common.values.active")

https://www.i18next.com/overview/api存在

你可以使用onLoaded

i18next.on('loaded', function(loaded) {})

在加载资源时触发。

和onFailedLoading

i18next.on('failedLoading', function(lng, ns, msg) {})

如果加载资源失败(在内置重试算法之后)将被触发。

在react应用中,你可以使用useTranslation钩子让就绪布尔值

// additional ready will state if translations are loaded or not

const { t, i18n, ready } = useTranslation('ns1', { useSuspense: false });

我个人使用ready在我的根文件可以是index.jsApp.js或任何你有,我检查是否翻译准备好了,然后我显示我的App

最新更新