クライアントが使用している言語を知るためにブラウザ言語などを取得する方法はありますか?
私はnode.jsについて話している=)
ありがとう
クライアントが使用している言語を知るためにブラウザ言語などを取得する方法はありますか?
私はnode.jsについて話している=)
ありがとう
他のHTTPサーバーと同様に、ここで重要なのは、ブラウザーが各リクエストで送信するAccept-Language
ヘッダーです。HTTP 1.1仕様と、ロケール設定に使用されるAccept-LanguageW3CFAQページを参照してください。
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'
});