i18n的单个或多个translation.json文件?

时间:2016-10-13 12:49:16

标签: internationalization aurelia-i18n

我在Aurelia工作并使用aurelia-i18n插件。到目前为止它看起来很棒,翻译工作正常,当我改变语言环境时,它会立即更新界面语言。

问题:使用多个翻译文件与单个翻译文件有逻辑,组织或性能优势吗?例如:

我应该把所有内容都放在一个文件中吗?

my-aurelia/locales/en/translation.json
my-aurelia/locales/es/translation.json

或者我应该分成多个翻译文件?

my-aurelia/locales/en/nav.json
my-aurelia/locales/en/words.json
my-aurelia/locales/en/phrases.json

my-aurelia/locales/es/nav.json
my-aurelia/locales/es/words.json
my-aurelia/locales/es/phrases.json

以下是我为此示例实例化插件的方法(在 my-aurelia / src / main.js export function configure(aurelia) {内,但我处于一个重要的设计十字路口。< / p>

aurelia.use.plugin('aurelia-i18n', (instance) => {
    // register backend plugin
    instance.i18next.use(XHR);

    // adapt options to your needs (see http://i18next.com/docs/options/)
    instance.setup({
      backend: {                                  
        loadPath: '/locales/{{lng}}/{{ns}}.json',
      },
      lng : 'es',
      ns: ['words','phrases','nav'],
      defaultNS: 'words',
      attributes : ['t','i18n'],
      fallbackLng : 'en',
      debug : false
    });
  });

一个json语言文件或多个json语言文件?还有其他建议吗?

1 个答案:

答案 0 :(得分:4)

在性能方面,每种语言的单个文件在初始加载时会稍微快一些,因为需要的请求更少。但是,这种微优化将是微不足道的,您应该为代码结构和可读性赋予更多价值,特别是对于您之后处理代码的其他人。

单个文件是否会变得如此之大,以至于人们很难找到正确的条目并更改JSON文件的内容?如果没有,并且您不希望它增长到如此大小,那么您最好使用单个文件。

人们会想知道你是否放了&#34; Gracias / Thank You&#34;用词(谢谢)或短语(谢谢)?我建议使用一种对于不熟悉代码的人来说很清楚的结构。

最后,我没有看到你提到的组织结构之一,但我自己使用的是根据你的观点订购i18n文件。这样可以很容易地找到需要更改的文件,因为您已经知道您正在使用哪种视图,因此您不必查找i18n。