在 aurelia i18N 中使用多个翻译文件

using multiple translation files in aurelia i18N

我有一个使用 aurelia-i18n 的应用程序。我想将 translation.json 文件拆分成多个文件,例如 nav.json、message.json 等,但我不确定该怎么做。
这就是它现在的样子。

locale
  |-en
     |- translation.json

但是我想改成这样。

locale
  |-en
     |- nav.json
     |- message.json

可以吗?如果是这样,我该如何配置它并访问每个文件中的值?

您可以有多个资源文件,这些在 i18next library (by default you only have one namespace which is called: translation) which is used by aurelia i18N.

中称为 namespaces

在使用 ns 选项中的 namespacesdefaultNs 属性配置插件时,您只需要列出您的命名空间:

.plugin('aurelia-i18n', (instance) => {
        // adapt options to your needs (see http://i18next.com/pages/doc_init.html)
        instance.setup({
          resGetPath : 'locale/__lng__/__ns__.json',
          lng : 'de',
          attributes : ['t','i18n'],
          ns: { 
             namespaces: ['nav', 'message'], 
             defaultNs: 'message'
          },
          getAsync : true,
          sendMissing : false,
          fallbackLng : 'en',
          debug : false
        });
      });

另见 documentation of i18next and this related github issue: Using namespaces