我有一个使用aurelia-i18n的工作应用程序。我想将translation.json文件分成多个文件,如nav.json,message.json等,但我不知道该怎么做。
这就是它现在的样子。
locale
|-en
|- translation.json
但我想以这种方式改变它。
locale
|-en
|- nav.json
|- message.json
有可能吗?如果是这样,我如何配置它并访问每个文件中的值?
答案 0 :(得分:7)
您可以拥有多个资源文件,这些文件在i18next library中被称为名称空间(默认情况下,您只有一个名为translation
的名称空间), aurelia i18N
在使用namespaces
选项中的defaultNs
和ns
属性配置插件时,您只需要列出命名空间:
.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