根据当前路径预取i18next转换文件

时间:2019-12-19 06:52:15

标签: react-i18next

我将React-i18nextreact-router一起使用。我的应用程序的每条路由都具有唯一的i18n命名空间。

当用户处于特定路线时,如何预取翻译文件以优化用户页面的后续导航?

1 个答案:

答案 0 :(得分:0)

如果将翻译分为多个名称空间(每个名称空间== 1或更多路由),则可以使用i18next API如下预加载名称空间:

i18next
  .loadNamespaces(['myNamespace1', 'myNamespace2'])
  .then(() => {});

请参见https://www.i18next.com/overview/api#loadnamespaces

注意事项

  • loadNamespaces仅加载当前所选语言的翻译
  • 多次调用loadNamespaces将使用缓存的结果。

在哪里调用?

默认情况下,i18next是单例(除非您调用i18next.createInstance),因此您可以将其导入侦听路由更改的模块中,并相应地调用loadNamespaces