req.acceptsLanguages()
このリクエスト(req
)が指定された言語を理解できるかどうか、そして理解できる場合はどれを理解できるかを返します。
このメソッドに渡された複数の言語が許容されると判断された場合、最初の言語が返されます。どの言語も許容されると判断されない場合、
false
を返します。(言語とは、英語や日本語などの自然言語を指し、プログラミング言語ではありません。)
req.acceptsLanguages(language);
または
req.acceptsLanguages(language1, language2, …);
このメソッドは、リクエストに基づいて異なるロケールに異なるコンテンツを自動的に提供できる、組み込みの国際化とローカリゼーションの補完として役立ちます。
リクエストが"Accept-Language: da, en, en-gb, en-us;"
で送信された場合
req.acceptsLanguages('en');
// -> 'en'
req.acceptsLanguages('es');
// -> false
req.acceptsLanguages('en-us', 'en', 'en-gb');
// -> 'en-us'
req.acceptsLanguages('en-gb', 'en', 'en-us');
// -> 'en-gb'
req.acceptsLanguages('es', 'fr');
// -> false
- ほとんどのウェブブラウザから発信されるリクエストには、"Accept-Language" ヘッダーが存在すると予想されます(RFC-2616を参照)。
- ブラウザは、ユーザーの言語設定に基づいて"Accept-Language"ヘッダーを自動的に送信します。
- Sails/Expressで使用されているヘッダー解析アルゴリズムの詳細については、
accepts
パッケージを参照してください。