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

问题描述 投票:0回答:2

我正在 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) { 内,但我正处于一个重要的设计十字路口。

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语言文件? 还有其他建议吗?

internationalization aurelia
2个回答
7
投票

在性能方面,每种语言的单个文件在初始加载时会稍快一些,因为需要的请求较少。但是,这种微观优化可以忽略不计,您应该更加重视代码结构和可读性,特别是对于在您之后处理代码的其他人来说。

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

人们会想知道你是否将“Gracias/Thank You”放在单词(谢谢)或短语(谢谢)中?我建议使用对于不熟悉代码的人来说清晰的结构。

最后,我没有看到你提到过但我自己使用过的组织结构之一,就是根据你的观点来订购 i18n 文件。这使得您可以轻松找到需要更改的文件,因为您已经知道您正在使用哪个视图,因此您不必寻找 i18n。


0
投票

如果我更改 en 中的 json 值,它也会反映在 es 中吗?

© www.soinside.com 2019 - 2024. All rights reserved.