Monday, 15 June 2015

node.js - How can get a non-trivial i18n translation to work using Sails.js? -



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