gpt4 book ai didi

node.js - 如何在 Node 中创建语言选择器

转载 作者:太空宇宙 更新时间:2023-11-04 03:10:44 25 4
gpt4 key购买 nike

我对 Node.js 比较陌生,正在使用 Node、Express 和 mongoose。我已经实现了 i18n 模块并配置现在我需要一个带有标志图标的受支持语言的下拉菜单,单击后想要调用 setLocale() 但不知道如何执行此操作欢迎所有想法。

此外,并非所有的 Jade 模板都会选择 __('hello') 翻译,例如

.dropdown
button.btn.dropdown-toggle(type='button', id='dropdown1',data-toggle='dropdown')
img(src='/img/navbar-list.png', alt='Cloud iBeacon')
ul.dropdown-menu(role='menu',aria-labelledby="dropdownMenu1")
li(role='presentation')
a(role='menuitem',href="/") __('home')

不起作用

最佳答案

这取决于您如何配置 i18n,如果您使用名为“locale”的 cookie 来存储区域设置:

// minimal config
i18n.configure({
locales: ['en', 'fr'],
cookie: 'locale',
directory: __dirname + '/locales'
});

//express.cookieParser 然后 i18n.init

  app.use(express.cookieParser());
app.use(i18n.init);

然后你可以通过cookie设置区域设置,将此路由设置到你的应用程序:

// set a cookie to requested locale
app.get('setlocale/:locale', function (req, res) {
res.cookie('locale', req.params.locale);
res.redirect('back');
});

然后创建包含 2 个项目 en、fr 的菜单。 (作为你的例子, Bootstrap ?)

.dropdown
button.btn.dropdown-toggle(type="button" data-toggle="dropdown") Dropdown
ul.dropdown-menu
li: a(href="/setlocale/en") en
li: a(href="/setlocale/fr") fr

示例如下:

https://github.com/mashpie/i18n-node/blob/master/examples/express-jade/express-jade.js

关于node.js - 如何在 Node 中创建语言选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20723600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com