Reputation: 56467
I'm using Node.js together with Express framework and i18n module. So I use
var i18n = require('i18n');
app.configure(function() {
[...]
app.use(i18n.init);
app.use(app.router);
});
in my app settings. Everything works fine, but what I really need is to force i18n to use the langauage I want. The scenario is as follows: when user is not logged in, then i18n searches for the langauage in accept-language
header and it is ok. But when user is logged in, then I want to hold chosen langauage somewhere in user settings, retrieve it and force i18n module to use this langauage. How to do this (assuming I already know how to save/retrieve the langauge into/from db)?
Upvotes: 8
Views: 12455
Reputation: 12412
This was just released yesterday, but it sounds like it will hit the issue you are running into: locale
Upvotes: 1
Reputation: 56467
Ach, sorry. I should wait a bit and inspect the i18n module. It seems that module provides to functions
i18n.getLocale();
which retrieves current language and
i18n.setLocale('en');
which sets locale as we want. The documentation really should mention this. It is important, I hope the answer helps someone. :)
Upvotes: 12