现在大部分的网站,语言都是和地区绑定的,这合理吗?

2023-10-12 21:01:24 +08:00
 fancy2020

比如我用的日本梯子,Google 出来的内容很多都是日语,设置里改成英文和中文,也会莫名其妙的失效。 还有其他各类网站,都会提醒甚至强制跳转到网站的日语版本。

我就在想,地区和语言之间的关系。比如操作系统里的地区和语言设置都是分开的,如果我是一个 English native speaker ,生活在日本,在操作系统层面我可以设置地区为日本,语言是英文。

但是在 Web 领域,大家好像默认一个地区就代表了一种语言,我觉得这有点不合理。

不知道有没有一种方式,可以一劳永逸的设置我想要的显示语言是 English ,和我所在的地区无关。

HTTP 标准里是有Accept-Language这个 header 的,Chrome 里也有设置语言的选项,不知道有没有办法在浏览器里设置然后让所有网站都遵守这个规则..

2214 次点击
所在节点    程序员
40 条回复
thinkershare
2023-10-12 22:22:46 +08:00
很多网站的设计目的就是不允许你跨区域访问,根据 IP 来限制用户,这是网站后端服务器的功能设计要求。
fancy2020
2023-10-12 22:25:05 +08:00
@icyalala

感谢,移动端确实实现的比较晚,不过也基本会 fallback 到操作系统的语言设置。

https://www.w3.org/International/questions/qa-lang-priorities
teenight
2023-10-12 22:25:32 +08:00
肯定不合理啊, 但是需求较少
yaoyao1128
2023-10-12 22:38:35 +08:00
google 搜索可以設置裡面調整啊⋯⋯

剩下的⋯⋯很多網站重點在於地域劃分而不是語言劃分,在日本生活的美國人也 1. 需要了解的更即時的東西一般應該根據屬地 2. 各種網站需要遵守在日本的規定和定價

很多網站的策略如果照顧一下外國人,可能是當地語言加英語,比如 netflix 。所以如果你是 English native speaker 一些國際化的網站可能真的直接給妳跳轉英語⋯⋯steam 也會根據情況用相應的語言⋯⋯
gam2046
2023-10-12 22:42:38 +08:00
不合理,但是省事。

人性一点的网站允许用户自己选择语言,不人性的就直接按 IP 归属显示语言。
mikewang
2023-10-12 22:58:16 +08:00
真难弄啊。
Google 有适配过,当他有足够数据确信你在中国,即使是日本 IP 也会跳转到中文 Google 的。
然后又会有人来抱怨了,很多功能都用不了。
fancy2020
2023-10-12 23:01:22 +08:00
@mikewang

我不需要他通过"足够数据确信"我在哪个国家,只需要 RESPECT 我在浏览器和系统中的设置,仅此而已。
deef
2023-10-12 23:04:44 +08:00
因为很多功能都是根据所在地来适配的呀,我不可能做一套符合某地法律但是显示另一套 i18n 的网站,因为可能显示的 UI 样式都是不一样的。
比如国航官网,中文官网就是国企喜闻乐见的那个老样子,其他语言地区的官网就是很正常,很像欧美网站的那个板式。
hefish
2023-10-12 23:07:49 +08:00
google 里面不是可以登录了自己设置位置和语言嘛。
不登录,也得允许人家猜测嘛。 猜错了也不能全怪人家。
mikewang
2023-10-12 23:15:43 +08:00
@fancy2020 Google 遵守 Accept-Language ,您可以无痕浏览试试,至少在我这里 Google 的 UI 语言会随之变化。
但是这只是 Accept-Language ,并不是 Accept-Region 。搜索结果很多是基于地区信息提供的,然后是在地区的结果里优先显示指定语言。
总之,Accept-Language 决定了默认的 UI 语言,搜索结果多数基于 IP 地址。
agagega
2023-10-12 23:18:35 +08:00
这里有一个问题,就是当我们说起 i18n 时有个假设:翻译的内容属于程序,而不是数据。也就是说可以被翻译的那些内容会保存在网站代码里。如果一个网站是以文字内容为主(不论是站长编辑写的内容还是用户写的内容),那网站程序的一些翻译占比很小,还不如都不翻译。

另外就是如果站长本来就不想一些区域的用户去另一些区域的分站访问,那可能就会主动将语言作为障碍,减少跨区使用(比如价格不同或者数据存放地区等原因)。

而且网站要做 i18n 其实没有想的那么简单,以前总结过要想体验不错得有四层:如果 URL 里有 lang=xxx ,就根据这个来;如果用户已登录且在设置里保存过语言,则读取用户设置的语言;如果请求头有 Accept-Language ,那按照这个来;最后如果什么都没有,就根据用户 IP 默认来。

i18n 显示的不管是不是用户想要的语言,起码内容是没错的。时区可能是一个更多人注意不到的坑。
mikewang
2023-10-12 23:24:07 +08:00
另外也不用说英文世界的讨论氛围,因为您的提问是「这合理吗?」,自然有人觉得合理,有人觉得不合理。

如果您是想要解决方案,您可以直接提问。

---

解决这个问题的方法是:

将您的 Google 收藏地址保存为:
https://www.google.com/?hl=en&gl=US

将您的 Chrome 搜索地址设置为:
https://www.google.com/search?q=%s&hl=en&gl=US
fancy2020
2023-10-12 23:25:26 +08:00
@mikewang

不讨论 Google 搜索结果内容的语言,就说 Google 首页的 UI 展示,刚试了下无痕浏览,依然显示的是日语。
Header 为:

Accept-Language: en-US,en;q=0.9


比较讽刺的是,Chrome 还在右上角提示我翻译为英文..
fancy2020
2023-10-12 23:26:47 +08:00
@mikewang
你可能没认真阅读,我提到的是“大部分网站”,干嘛老拿 Google 来说事呢?
fancy2020
2023-10-12 23:29:58 +08:00
@mikewang

对,我是想讨论是否合理,我也非常希望听到那些认为合理的看法,但前提是,通过正常的逻辑和信息来源来讨论,而不是阴阳怪气的乱评价。

比如,上边有人提到 Accept-Language 的浏览器支持率的问题,就非常好啊,这样的讨论才能让人拓宽认知。

像上边#4 #9 那种回复,你听了啥感受?
mikewang
2023-10-12 23:33:17 +08:00
@fancy2020 同样是用 Google 举个例子回应而已。

另外补充一点,大概可以解决您的疑问:因为 en 是“默认”语言,被忽略了,从而采用了可信度更高的 IP 位置。如果 Accept-Language 是 en 以外的,网站会遵守,你可以试试。
不过这确实是一个问题。
fancy2020
2023-10-12 23:37:48 +08:00
@mikewang

Google 我知道它网站有“区域”设置和“语言”设置,但那个区域设置总会莫名其妙的被重置成“Current Region”。

不想讨论 Google ,是因为它和大多数网站的行为是不一样的,大部分网站是没有语言设置选项的。

所以讨论这种特例,不太具备普遍性,离我真正想讨论的东西偏离有点远。
mikewang
2023-10-13 00:05:46 +08:00
@fancy2020 嗯...确实挺不合理的。不过 Web 的破事不止这些,比如 Content-Type 是带字符集的,<meta charset="utf-8"> 也是带字符集的,配置不统一的网站很多。

V 站自身也不遵守 Accept-Language ,您看右下角有一个 Select Language ,但是始终默认中文。
最有趣的是,就算设置成英文,回的还是 <html lang="zh-CN"> 。
真正遵守标准的人太少,导致服务端、浏览器都在互相猜。服务端觉得浏览器发送的不一定准,浏览器也在怀疑服务端回复的数据是否正确。就导致了这么一种局面。
Exp
2023-10-13 07:44:23 +08:00
我个人觉得不合理,并且不理解网站不提供或者不愿意让用户自定义设定的原因。

另外一个问题就是网站自动跳转地区域名的问题,我同样觉得不理解和无法接受。
YassoWithSpeaker
2023-10-13 16:09:57 +08:00
网站还支持国际化呢,有的网站就一种语言,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/981465

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX