i18n如何获取有关该语言的cookie信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了i18n如何获取有关该语言的cookie信息相关的知识,希望对你有一定的参考价值。

我使用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

没有任何成功。

很多thx

答案

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

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

你可以得到它:

req.cookies.lang

以上是关于i18n如何获取有关该语言的cookie信息的主要内容,如果未能解决你的问题,请参考以下文章

在 cookie 中存储 JWT 令牌后,如何在 ASP.NET Core 3.1 中破坏该 cookie 并获取信息

ExtJS - 带有 i18n 文本的多语言

火狐浏览器获取不到Cookie?

vue-cli之路由独立成JS文件之后,如何在路由中获取vuex属性或者设置国际化i18n的当前使用语言

django i18n - 获取不同语言的当前路径

如何使用嵌入在第三方页面的代码获取自己站点的cookie信息