2

クライアントが使用している言語を知るためにブラウザ言語などを取得する方法はありますか?

私はnode.jsについて話している=)

ありがとう

4

2 に答える 2

5

他のHTTPサーバーと同様に、ここで重要なのは、ブラウザーが各リクエストで送信するAccept-Languageヘッダーです。HTTP 1.1仕様と、ロケール設定に使用されるAccept-LanguageW3CFAQページを参照してください。

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 に答える