我目前正在尝试将我的所有项目都转移到node.js,以提高我的Javascript技能,我正在将Node.js与Express模块一起使用。我的客户网站之一是翻译公司,他们希望我向其网站添加2种不同的语言(英语和荷兰语),我的第一个想法基本上是编写和读取cookie,但他们不想使用任何cookie(因为cookie他们希望通过以下方式确定网址中的语言:site.com/en/routing和site.com/nl/routing对我来说,很容易设置如下两种不同的路由:
app.use('/en', require('./routes/en'));
app.use('/nl', require('./routes/nl'));
我有不同的mongodb表:
content_en和content_nl
一是英语,一是荷兰语。
我不想使用表content_en从/ en复制所有功能,并在/ nl中将其重命名为content_nl,我正在寻找更好的解决方案,
但我什么都不知道你能帮助我吗?我当然有超过1页,我有不同的页面,并且我需要构建cms,以添加数据和编辑数据。
我想使用数据库。
最佳答案
而不是使用:
app.use('/en', require('./routes/en'));
app.use('/nl', require('./routes/nl'));
然后,例如,两种语言都具有相同的路线:
.get('/info', ...)
您可以选择一种路线:
app.get('/:lang/info', ...)
并访问内部的
req.params.lang
。所以例如表名将是:
var table = 'content_' + req.params.lang;
如果以
"content_en"
访问路由,则等于/en/info
;如果以"content_nl"
访问路由,则等于/nl/info
。关于javascript - 我应该如何在没有cookie和外部模块的情况下在 Node js中创建多语言,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40790422/