node.js - i18n 如何获取有关该语言的 cookie 信息

标签 node.js express cookies internationalization ejs

我使用 i18n 进行 Express 翻译。

要选择语言,我使用这个

    <select class="selectpicker" data-width="fit" onchange="javascript:langSelect(this)">
                <option value="de" data-content='<span class="flag-icon flag-icon-de"></span> Deutsch'>Deutsch</option>
                <option value="en" data-content='<span class="flag-icon flag-icon-us"></span> English'>English</option>
                <option value="es" data-content='<span class="flag-icon flag-icon-es"></span> Español'>Español</option>
                <option value="fr" data-content='<span class="flag-icon flag-icon-fr"></span> Français'>Français</option>
                <option value="it" data-content='<span class="flag-icon flag-icon-it"></span> Italiano'>Italiano</option>
                <option value="nl" data-content='<span class="flag-icon flag-icon-nl"></span> Nederlands'>Nederlands</option>
     </select>

有了这个

<script type="text/javascript">
function langSelect(lgu)
{
    window.location = "/setlocale/"+lgu.value;

}
</script>

i18n 的设置如下

i18n.configure({
    locales: ['de', 'en', 'es', 'fr', 'it', 'nl'],
    directory: path.join(__dirname, '..', '/locales'),
    defaultLocale: 'en',
    cookie: 'lang',
    objectNotation: true,
});

module.exports = function(req, res, next) {
    i18n.init(req, res);
    var current_local = i18n.getLocale();
    return next();
};

即使重新加载页面,我也会尝试在选择器上显示所选的语言。

我该怎么做?

如何获取 cookie 中的值?

我尝试了 req.query.current_local 但没有成功。

非常感谢

最佳答案

当您调用“setlocale”网址时,您可以使用:

 res.cookie("lang", req.params.lang);

你可以得到它:

req.cookies.lang

关于node.js - i18n 如何获取有关该语言的 cookie 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47924597/

相关文章:

用于异步消息传递的 Node.js REST API 包装器

forms - 使用 Express node.js 接收带有 post 表单的 req.body 为空

node.js - HapiJS 代理问题

python - 如何使用Scrapy下载需要cookie的图片

mysql - Node.js mysql db 在查询后连接

node.js - 有条件地从 package.json 中排除安装 Node 依赖项

node.js - Nodejs "SyntaxError: Unexpected token ."

node.js - 在服务器之间发送 cookie 与发送 header

javascript - 为什么 for 循环很早就结束了?

javascript - 删除 httpOnly cookies - Express