node.js - How can get a non-trivial i18n translation to work using Sails.js? -
using sails.js version 0.10.x , trying i18n stuff work.
i have next in 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" } } } } my config/i18n.js file looks like
module.exports.i18n = { // locales supported? locales: ['en', 'es', 'fr', 'de'], objectnotation: true }; in controller trying retrieve right subnationaldivision name via
res.i18n("countries." + country + ".subnationaldivisions." + state) but gives me "countries.au.subnationaldivisions.act", not "australian capital territory"
i've check trivial example:
given en.json file containing { "bingo" : "sparky" }, res.i18n("bingo") outputs "sparky"
but examples using objectnotation don't work despite instructions in the i18n-node documentation.
how should work?
the problem tuned out bug in sails - using older version of i18n package. found , fixed error , sent pr sails team , incorporated v 0.10.3 of sails. (at current writing sails on 0.10.5)
node.js internationalization sails.js i18n-node
No comments:
Post a Comment