Tag: 语言环境

localeCompare选项在nodejs中意外的结果

这是来自节点cli会话: > var a = 'foo12'; undefined > var b = 'foo3'; undefined > var s = [a , b]; undefined > s.sort(function(a, b) { … return a.localeCompare(b, 'en', { numeric: true }); … }); [ 'foo12', 'foo3' ] 这是从Chrome控制台: var a = 'foo12'; undefined var b = 'foo3'; undefined var s = [a,b] undefined […]

Sailsjs req.setLocale外部控制器

我想在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' } } 但我不能设置区域设置,因为它不是一个控制器,而是一个服务,我没有全局访问req.setLocale。

Node.js,Socket.io:如何获取客户端浏览器的语言?

我正在尝试获取用户使用的语言,以便使用socket.io和node.js为播放video提供正确的声音文件。 我是一个总的初学者与node.js和socket.io。 我用“navigator.language”在客户端获得了语言,并且想要在连接/握手到socket.io时发送它。 var language = navigator.language; var socket = io.connect('http://localhost:1337', { query: language }); 而在服务器端: io.set('authorization', function(handshakeData, cb) { console.log(handshakeData.query); cb(null, true);}); 但是我得到的是: {'en-US': 'undefined', t: '1396002389530'} 我想第二个属性“t”是已添加的握手标识。 但是,如何访问“en-US”? 我的第二种方法是使用模块“locale”( https://github.com/jed/locale ),但是当我使用它时,我总是得到相同的语言,所以我觉得它总是findSERVER的语言。 我想我在请求/响应处理程序中使用它,当一个新的客户端请求该页面,并发送其http头。 var handler = function(req, res) { lang = new locale.Locales(req.headers["accept-language"]); lang=lang.best(supported); console.log(pf); } 我希望你得到我想要做的,也许知道一个更好的解决scheme。 先谢谢你。

Nodejs:使用i18n-2客户端或服务器端或两者

我正在开发一个nodejs的项目,我想添加一个语言翻译的function。 在互联网上检查,我看到2个选项,似乎确定(国际和国内18)。 我在服务器端添加了正确的代码来configuration它。 在express.js中 var i18n = require('i18n-2'); i18n.expressBind(app, { // setup some locales – other locales default to vi silently locales: ['es', 'en'], // set the default locale defaultLocale: 'en', // set the cookie name cookieName: 'locale', extension: ".json" }); app.use(function(req, res, next) { req.i18n.setLocaleFromQuery(); req.i18n.setLocaleFromCookie(); next(); }); 所以,如果在同一个文件中,我把这个代码放在下面,假设它是用defaultLocale打印的,但是用西class牙文打印 var i18n2 = new (require('i18n-2'))({ […]

根据节点js中的下拉select更改语言

我正在使用i18n,并根据从下拉列表中select我想改变应用程序的语言在这里是代码片断什么是缺less的? i18n.configure({ locales: ['eng', 'rus'], defaultLocale: 'rus', directory: __dirname + '/static/locales', cookiename: 'locale' }); app.use(function (req, res, next) { res.locals.__ = res.__ = function() { console.log(i18n.__.apply(req, arguments)); return i18n.__.apply(req, arguments); }; next(); }); app.get('/:locale', function (req, res) { res.cookie('locale', req.params.locale); i18n.setLocale(i18n, req.params.locale); res.redirect(req.headers.referer); });