node.js+express+jade 国际化

用的是i18next,直接上文档https://www.i18next.com/supported-frameworks.html

image

第一步:先创建一个项目,命令:express i18next-test

第二步:安装国际化相关的组件

npm install i18next

npm install i18next-express-middleware

npm install i18next-node-fs-backend

第三步:准备国际化文件,为了简单我直接吧sample中的“locales”文件夹copy过来了,然后加了一个中文的

image

image


第四步:

app.js 头部添加

image

然后再合适的位置添加(默认语言:“de”)

image

其实到这里就已经可以在 router和jade中使用 多语言了,

imageimage


第五步:第四步中的,在router中 需要req对象,改变了单页的,要想整体网站都能改变成多语言,需要做拦截,然后统一改。

模板生成的默认有两个路由

var index = require('./routes/index');

var users = require('./routes/users');

我想在index中,放置3个按钮,中文、英文、德文,点击按钮就切换成对应的语言,按钮点击事件写在jquery中,发起改变语言的ajax请求。

image

第六步:“/changeLanguage”路由的处理,注释说明了,需要在拦截中处理。

image


第七步:在app.js中写拦截,

image


下面是效果图:

11

需要源代码请联系我:RFDeval@gmail.com

posted on 2017-09-01 16:30  大头头大  阅读(2214)  评论(1编辑  收藏  举报

导航