【问题标题】:node.js : Getting browser languagenode.js:获取浏览器语言
【发布时间】:2012-09-02 17:47:37
【问题描述】:

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

我说的是 node.js =)

谢谢

【问题讨论】:

    标签: javascript node.js internationalization


    【解决方案1】:

    与任何其他 HTTP 服务器一样,这里的关键是浏览器随每个请求发送的 Accept-Language header。请参阅 HTTP 1.1 specAccept-Language used for locale setting W3C 常见问题页面。

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

    【讨论】:

      【解决方案2】:

      如果您碰巧使用著名的快递服务器,那么存在可以完成这项工作的中间件。 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'
      });
      

      【讨论】:

        猜你喜欢
        • 2012-08-04
        • 2018-03-29
        • 1970-01-01
        • 2018-08-29
        • 2023-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多