2014-04-23 61 views
0

我想在我的項目上設置國際化(使用express.js),現在試圖使工作i18next包,以便myproject.com/en/other/path/顯示爲英文和我的項目.com/ee/other/path顯示拉脫維亞文字。 但模塊似乎沒有從路徑中檢測語言。起初我認爲它可能在路徑中找到語言,但不會自動設置它,但調試req,i18n返回語言中的'en',我做錯了什麼?i18next detectLngFromPath不能正常工作

下面是有關國際化的代碼:

的建立i18next app.js:

var i18n = require('i18next'); 
i18n.init({ 
    ignoreRoutes: ['images/', 'public/', 'css/', 'js/'], 
    supportedLngs: ['en', 'ee'], 
    fallbackLng: 'en', 
    //detectLngQS: 'lang', // ?lang=ee 
    detectLngFromPath: 1, 
    forceDetectLngFromPath: true, 
    detectLngFromHeaders: false, 
    useCookie: false, 
    //cookieName: 'interspace-lang-cookie', // default 'i18next' 
    debug: true, 
}); 

在app.js日後參考路線文件:

i18n.registerAppHelper(app); 
app.use(i18n.handle); 

var routes = require('./routes/index'); 
app.use('/', routes); 

/routes/index.js文件:

var express = require('express'); 
var router = express.Router(); 

router.get('/:lang', function(req, res) { 
    res.render('index', { title: 'Hello' }); 
}); 

module.exports = router; 

回答