我目前正在尝试将我的所有项目都转移到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/

10-17 02:56