主要观点:停止使用 IP 地理位置来决定显示何种语言,这是错误假设伪装成的功能。IP 仅告知请求来源,不能反映用户语言需求等,存在诸多失败情况,如 VPN、旅行等。比利时等国有多种官方语言,不能仅依据 IP 所在国家强制使用一种语言。应使用浏览器发送的Accept-Language
头来确定用户偏好语言,它准确、免费且已存在,无需猜测和维护。若不遵循,会让用户不满。合理做法是读取并尊重Accept-Language
,必要时让用户更改,若使用 GeoIP 应仅用于货币等非语言相关事宜。
关键信息:
- IP 不能决定用户语言需求,存在多种例外情况。
Accept-Language
头能准确反映用户语言偏好。- 不遵循会导致用户不满和混乱。
- 合理做法是尊重
Accept-Language
。
重要细节:
- 比利时有三种官方语言,瑞士有四种,印度有 22 种等。
Accept-Language
头示例为Accept-Language: en-US,en;q=0.9,de;q=0.8
。- 不恰当使用 GeoIP 会给用户带来不良体验,如在德国给法国用户提供英语等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。