如何使用Sails.js获得一个不平凡的i18n翻译?

使用Sails.js版本0.10.x并试图让国际0.10.x工作。

我有我的config/locales/en.json的以下config/locales/en.json

 { "countries": { "au": { "name": "Australia", "fiatCurrency": "AUD", "subnationalDivisions": { "NSW": "New South Wales", "WA": "Western Australia", "VIC": "Victoria", "QLD": "Queensland", "TAS": "Tasmania", "SA": "South Australia", "NT": "Northern Territory", "ACT": "Australian Capital Territory" } } } } 

我的config/i18n.js文件看起来像

 module.exports.i18n = { // Which locales are supported? locales: ['en', 'es', 'fr', 'de'], objectNotation: true }; 

在我的控制器,我试图通过检索正确的subnationalDivision名称

 res.i18n("countries." + country + ".subnationalDivisions." + state) 

但这只是给了我"countries.au.subnationalDivisions.ACT" ,而不是"Australian Capital Territory"

我已经检查了一个简单的例子:

给定包含{ "bingo" : "sparky" } res.i18n("bingo") { "bingo" : "sparky" } en.json文件, res.i18n("bingo")输出"sparky"

但是使用objectNotation例子不pipe用i18n-node文档中的指令。

我应该如何得到这个工作?

       

网上收集的解决方案 "如何使用Sails.js获得一个不平凡的i18n翻译?"