我在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语言文件?还有其他建议吗?
答案 0 :(得分:4)
在性能方面,每种语言的单个文件在初始加载时会稍微快一些,因为需要的请求更少。但是,这种微优化将是微不足道的,您应该为代码结构和可读性赋予更多价值,特别是对于您之后处理代码的其他人。
单个文件是否会变得如此之大,以至于人们很难找到正确的条目并更改JSON文件的内容?如果没有,并且您不希望它增长到如此大小,那么您最好使用单个文件。
人们会想知道你是否放了&#34; Gracias / Thank You&#34;用词(谢谢)或短语(谢谢)?我建议使用一种对于不熟悉代码的人来说很清楚的结构。
最后,我没有看到你提到的组织结构之一,但我自己使用的是根据你的观点订购i18n文件。这样可以很容易地找到需要更改的文件,因为您已经知道您正在使用哪种视图,因此您不必查找i18n。