有没有一种方法在React应用程序上检查语言环境是否存在?像布尔值true/false一样
有没有一种方法在React应用程序上检查语言环境是否存在?像布尔值true/false一样
是的,您可以使用 i18n.exists()
方法检查您的语言变量是否存在:
您可以从 useTranslation
钩子中提取 i18n
。
const { t, i18n } = useTranslation();
例如,调用i18n.exists('my.key')
:
i18n.exists("common.values.active")
你可以使用onLoaded
i18next.on('loaded', function(loaded) {})
获取已加载资源时出错。
并且 在加载失败时
i18next.on('failedLoading', function(lng, ns, msg) {})
如果加载资源失败(在内置重试算法之后),则会触发错误。
对于React应用程序,您可以使用useTranslation钩子来获取ready布尔值。
// additional ready will state if translations are loaded or not
const { t, i18n, ready } = useTranslation('ns1', { useSuspense: false });
就我个人而言,我在我的根文件中使用ready,可以是index.js或App.js或任何你有的文件,并检查翻译是否准备好,然后显示我的应用程序。