gpt4 book ai didi

node.js - Sailsjs req.setLocale 外部 Controller

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

我想在 cronjob 调度程序中将语言环境设置为默认语言之外的其他语言。 https://github.com/ghaiklor/sails-hook-cron

cronjob 调度程序代码如下所示:

// ['seconds', 'minutes', 'hours', 'dayOfMonth', 'month', 'dayOfWeek']
module.exports.cron = {
job: {
schedule: '0 0 12 * * *',
onTick: function() {
SomeService.sendSms()
},
timezone: 'Asia/Jerusalem'
}
}

但我无法设置区域设置,因为它不是 Controller 而是服务,而且我无权全局访问 req.setLocale。

最佳答案

这取决于您使用的 Sails 版本。

对于 Sails v0.12.x,动态指定区域设置的唯一方法是使用字典作为 sails.__ 的参数:

sails.__({ phrase: 'Welcome', locale: 'fr' })

将为您提供带有默认 Sails 应用程序的 Bienvenue

此语法在 Sails 1.0 中不可用,但您可以使用 sails.hooks.i18n.setLocale() 更改当前区域设置:

var curLocale = sails.hooks.i18n.getLocale();
sails.hooks.i18n.setLocale('fr');
sails.__('Welcome');
sails.hooks.i18n.setLocale(curLocale);

将再次为您提供默认的 Sails 应用程序 Bienvenue,同时确保随后将语言环境设置回默认值。这样您就不会意外更改所有后续调用 __ 的区域设置。

关于node.js - Sailsjs req.setLocale 外部 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45532581/

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