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