有没有办法让浏览器语言或类似的东西知道客户端使用哪种语言?
我说的是node.js =)
谢谢
与任何其他 HTTP 服务器一样,这里的关键是浏览器随每个请求发送的Accept-Language
标头。请参阅HTTP 1.1 规范和用于区域设置W3C 常见问题页面的接受语言。
读取 HTTP 值的实际代码取决于您使用的框架(“vanilla”Node、Express 等)。
如果您碰巧使用著名的快速服务器,那么存在可以完成这项工作的中间件。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'
});