如何在没有cookie和extern模块{node}的nodejs中创建多语言

时间:2016-11-24 15:50:25

标签: javascript node.js mongodb express

我目前正在尝试将所有项目转移到node.js以提高我的Javascript技能,我正在使用Node.js和Express模块​​。我的一个客户端网站是翻译公司,他们希望我在他们的网站上添加2种不同的语言,英语和荷兰语,我的第一个想法基本上是写和reade cookie,但他们不想使用任何cookie(因为cookie) popout),他们想要确定网址中的语言,如下所示: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

其中一个是英语,另一个是荷兰语。

我不想从/ en复制表content_en中的所有函数,而在/ nl中将它重命名为content_nl,我正在寻找更好的解决方案, 但我不知道。你能帮助我吗?我当然有超过1页,我有不同的页面,我需要构建cms,添加数据和编辑数据。 我想为它使用数据库。

1 个答案:

答案 0 :(得分:1)

而不是使用:

std::string foo(int x) {
  return "hello"; 
}

int foo(int x) {
  return x;
}

然后为两种语言提供相同的路径,例如:

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"