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 中使用的標頭解析演算法的更詳細資訊。