2

有没有办法让浏览器语言或类似的东西知道客户端使用哪种语言?

我说的是node.js =)

谢谢

4

2 回答 2

5

与任何其他 HTTP 服务器一样,这里的关键是浏览器随每个请求发送的Accept-Language标头。请参阅HTTP 1.1 规范用于区域设置W3C 常见问题页面的接受语言。

读取 HTTP 值的实际代码取决于您使用的框架(“vanilla”Node、Express 等)。

于 2012-09-02T17:49:29.620 回答
1

如果您碰巧使用著名的快速服务器,那么存在可以完成这项工作的中间件。request-language解析Accept-Language标头并为您返回最喜欢的语言:

var requestLanguage = require('express-request-language');
var cookieParser = require('cookie-parser');
var express = require('express');
var app = express();

app.use(cookieParser());
app.use(requestLanguage({
  languages: ['en-US', 'zh-CN'],
  cookie: {
    name: 'language',
    options: { maxAge: 24*3600*1000 },
    url: '/languages/{language}'
  }
}));

app.get('/', function(req, res, next) {
  console.log(req.language); // 'en-US'
});
于 2015-02-16T15:25:26.347 回答