是否有一种方法来检查一个区域设置是否存在于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.js或App.js或任何你有,我检查是否翻译准备好了,然后我显示我的App