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

时间:2015-09-22 18:22:05

标签: aurelia i18next

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

locale
  |-en
     |- translation.json

但我想以这种方式改变它。

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

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

1 个答案:

答案 0 :(得分:7)

您可以拥有多个资源文件,这些文件在i18next library中被称为名称空间(默认情况下,您只有一个名为translation的名称空间), aurelia i18N

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

.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以及此相关的github问题:Using namespaces