用的是i18next,直接上文檔https://www.i18next.com/supported-frameworks.html
第一步:先創建一個項目,命令:express i18next-test
第二步:安裝國際化相關的組件
npm install i18next
npm install i18next-express-middleware
npm install i18next-node-fs-backend
第三步:准備國際化文件,為了簡單我直接吧sample中的“locales”文件夾copy過來了,然后加了一個中文的
第四步:
app.js 頭部添加
然后再合適的位置添加(默認語言:“de”)
其實到這里就已經可以在 router和jade中使用 多語言了,
第五步:第四步中的,在router中 需要req對象,改變了單頁的,要想整體網站都能改變成多語言,需要做攔截,然后統一改。
模板生成的默認有兩個路由
var index = require('./routes/index');
var users = require('./routes/users');
我想在index中,放置3個按鈕,中文、英文、德文,點擊按鈕就切換成對應的語言,按鈕點擊事件寫在jquery中,發起改變語言的ajax請求。
第六步:“/changeLanguage”路由的處理,注釋說明了,需要在攔截中處理。
第七步:在app.js中寫攔截,
下面是效果圖:
需要源代碼請聯系我:RFDeval@gmail.com