2015-03-17 2 views
0

У меня проблема с модулем i18next для node.js (с помощью экспресс). Я инициализировать (на app.js файл) модуль таким образом:u18следующий узел setLng кажется, что не работает

i18n.init({ 
    ns: { namespaces: ['text'], defaultNs: 'text'}, 
    resSetPath: 'locales/__lng__/new.__ns__.json', 
    preload: ['es', 'uk', 'fr', 'ge', 'ru', 'it'], 
    saveMissing: true, 
    debug: true, 
    lng:"es", 
    sendMissingTo: 'fallback', 
    useCookie: false, 
    detectLngFromHeaders: false, 
    detectLngFromPath: false 
}); 

и файлы маршрутов я сделать что-то вроде этого:

router.get('/not_registered', function(req, res) { 
    console.log("users.js-> user.get-> init lang: " + req.session.lang); 
    req.i18n.setLng(req.session.lang, function(t) 
    { 
     console.log("users.js-> user.get-> inside function"); 
     res.render('users/user'); 
    }); 
}); 

Первый console.log работает, но не второй ... Что я делаю неправильно? Любая помощь??

спасибо.

+0

Попробуйте ввести 'req.i18n'. –

ответ

1

РЕШЕНИЕ Я НАШЕЛ

Наконец, я увидел, что функция i18n.setLng использовать это не распространяется обратный вызов ... только мне нужно сделать, это:

req.i18n.setLng(req.session.lang); 
res.render('users/user'); 

Благодаря @Alexandr

Смежные вопросы