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”标头。
- 查看
accepts
包,了解在 Sails/Express 中使用的标头解析算法的更详细内容。