首页 > 解决方案 > BCP 47 - 区域子标签的定义不是很清楚

问题描述

以下是 BCP 47 官方文档https://tools.ietf.org/html/bcp47中区域子标签的定义:

地区子标签用于指示与特定国家、领土或地区相关或适用的语言变化。通常,区域子标签用于指示变体,例如区域方言或用法,或特定于区域的拼写约定。

这部分很清楚,但随后定义继续:

它还可以用于表示内容以适合在整个地区使用的方式表达,例如,为在整个拉丁美洲使用而量身定制的西班牙语内容。

内容以适合在整个地区使用的方式表达的句子可以用许多不同的方式来解释。

它仍然与语言本身密切相关,还是与内容而不是语言有关?

例如,如果我的网站有一个希腊 gr.mywebsite.com 的专用子域,其内容适合希腊用户,但使用的语言是美式英语,我应该使用 en-GR 语言标签吗?或者内容无关紧要,语言标签应该只是 en-US?

标签: internationalizationstandardslang

解决方案


让我们以英语为例,有英国/英国版和美国版(以及其他)。它们不是关于内容,而是语法和拼写如何工作。

因此,en-GR您应该使用希腊使用的英语语法和拼写。我希望你应该更类似于英式英语。

如果您写美式英语,则根据定义,该语言是美式英语。

没有人会检查语言标签来查看内容目标。内容本身和阅读它的人会定义它。

警告:不要创建随机组合。语言环境应该存在,否则你会得到奇怪的结果,结果取决于浏览器。考虑浏览器并没有实现所有可能的组合。

顺便说一句,您正在寻找错误的地方。IETF 解释了语法。您应该了解如何在网页上应用,以及浏览器应该如何解释它,因此您应该检查: 选择语言标签 (W3C)和相关文档: 语言标签创作 HTML 和 CSS


推荐阅读