有没有办法让浏览器语言或类似内容知道客户端使用哪种语言?
我说的是node.js =)
感谢
答案 0 :(得分:5)
与任何其他HTTP服务器一样,此处的密钥是浏览器随每个请求发送的Accept-Language
header。请参阅HTTP 1.1 spec和Accept-Language used for locale setting W3C常见问题页面。
用于读取HTTP值的实际代码取决于您正在使用的确切框架(“vanilla”Node,Express等)。
答案 1 :(得分: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'
});