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

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

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

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

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

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

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

2218 次点击
所在节点    程序员
40 条回复
gransh
2023-10-12 21:15:10 +08:00
google map 里查酒店的货币显示还和地理位置绑定呢,怎么改自己的区域都没用。简直绝绝子
rccoder
2023-10-12 21:15:40 +08:00
Google 可以使用 https://zh.wikipedia.org/zh-hans/NCR 一下

你不要用人家 .jp 的域名,.jp 是专门给日本人用的
shinsekai
2023-10-12 21:18:16 +08:00
不能,因为各个地区的法律是不一样的,就像欧洲 google 会自动跳出 gdpr 而日本就不会。网站的隐私策略与 IP 挂钩可以减少很多成本,假设现在一种语言对应一种隐私策略,按楼主的方案一种语言要对应 N 种隐私策略,一种隐私策略也要对应 N 种语言。
zhouhuab
2023-10-12 21:20:18 +08:00
对你可能不合理
DIMOJANG
2023-10-12 21:21:55 +08:00
像中国这样只有用别的国家的 IP 才能访问网站的毕竟是少数
fancy2020
2023-10-12 21:25:41 +08:00
@zhouhuab

可能我上边举的例子对你来说理解有点难度,那么另一个例子:
一个美国人,从小说英语长大,来到日本定居或工作或旅游,他能不能要求所有网站显示英文,这个要求合不合理?
fancy2020
2023-10-12 21:29:41 +08:00
@DIMOJANG 用梯子只是举例,我觉得标题描述的已经很明白了,是“地区”和“语言”的绑定问题
DIMOJANG
2023-10-12 21:32:10 +08:00
@fancy2020 也是,和系统设置绑定大概会更好
guguexxx
2023-10-12 21:32:38 +08:00
@fancy2020 #6 那他需要的可能是 vpn
fancy2020
2023-10-12 21:34:06 +08:00
@guguexxx 服了诸位的思路。。
docx
2023-10-12 21:39:26 +08:00
确实有困扰到我,但从开发者的角度来说也算说的通。

关键在于,这种情况还是少数人,绝大多数就是 ip 所在地的本地人,所以这样就更加本地化……确实是缺乏对少数人需求的关注。
thinkershare
2023-10-12 21:49:30 +08:00
没有办法,很多网站会有其它手段,强制按照浏览器的各种综合信息+IP 一起确定你的语言,不接受用户手动设置的 Accept-Language ,也有很多网站的多语言就是用 Accept-Language 实现的(js 发起的请求,通过用户选择的语言,来发起请求,从而请求对应语言的资源)。各个国家的法律一一样,服务器后台会根据的区域和语言下菜。
mightybruce
2023-10-12 21:52:13 +08:00
你也提到了 Accept-Language, 除非你改变了浏览器和操作系统设置,浏览器发送的头发生了改变,才会显示成另外的语言,默认就是和浏览器设置以及操作系统语言有关的
icyalala
2023-10-12 21:53:22 +08:00
一个地区有一个官方或者主流语言,所以默认用这种语言显示,这不是很自然很合理吗。
对于地区和语言不同的人,只要提供选项切换语言就足够了。
fancy2020
2023-10-12 21:55:02 +08:00
@mightybruce

Chrome 里我已经设置了语言为英文+中文,也查看了网络请求 Accept-Language 确实也是按照规范发的:
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7

问题就是大部分网站都不遵守这个规范,而是强制按照 IP 地区来显示语言。
Maxwe11
2023-10-12 21:56:52 +08:00
这个其实和“合理”没有关系,商业世界归根结底是成本的关系;

虽然我们访问了一个企业提供的服务,但实际的访问过程是我们发出一个访问请求,dns 解析地址,返回一个服务实际地址,但是为了提供更好的服务,通常企业匹配了 cdn ,尤其是大型服务站点,cdn 地址显然是本地区域化的设计,也就是通过访问者的区域相关性更高;

当然如果在匹配一些缓存机制,显然从访问的机制上来看,默认最大规模来访的服务提供,成本最低、效率最高;

如果总比例过低,确实没有必要增加一层判断机制,反正也提供了基本的转换功能,确实有需求的小部分用户自己切换一下就好了。
fancy2020
2023-10-12 21:58:09 +08:00
@icyalala

按照用户自己在浏览器设置中设置的语言来显示,是否更加合理呢?
crysislinux
2023-10-12 21:59:16 +08:00
我觉得 16 楼说的对,主要还是成本问题。
fancy2020
2023-10-12 21:59:33 +08:00
@Maxwe11

没有觉得通过 IP 地区来判断,比按照标准的 Accept-Language 来判断,成本节省在哪里,反而更高?
icyalala
2023-10-12 22:17:40 +08:00
@fancy2020 https://caniuse.com/?search=Accept-Language
Accept-Language 提得早,但实现的浏览器比例低,比如 iOS 上直到 iOS 17 才支持。
IP 相比之下显然是更通用和准确的手段。

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

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

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

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

© 2021 V2EX