Internationalization 使用i18n语言代码识别语言和地区的最佳实践?

Internationalization 使用i18n语言代码识别语言和地区的最佳实践?,internationalization,seo,Internationalization,Seo,我计划在我当前的网络项目中使用语言/地区代码来识别语言和地区,即“en-US”或“de-CH”。 使用类似“en-IN”的代码用英文文本标识印度地区的内容是否有效?以下是关于在实际HTML文档中指定语言的内容。服务器端编码可能有不同的最佳实践,这取决于实际使用的编程技术 根据W3C[]如何在(X)HTML文档中声明语言的方法,应根据当前最佳实践47“标识语言的标记”(RFC5646)[]选择语言代码 建议的格式如下 langtag = language ["-" scr

我计划在我当前的网络项目中使用语言/地区代码来识别语言和地区,即“en-US”或“de-CH”。
使用类似“en-IN”的代码用英文文本标识印度地区的内容是否有效?

以下是关于在实际HTML文档中指定语言的内容。服务器端编码可能有不同的最佳实践,这取决于实际使用的编程技术

根据W3C[]如何在(X)HTML文档中声明语言的方法,应根据当前最佳实践47“标识语言的标记”(RFC5646)[]选择语言代码

建议的格式如下

langtag   = language
           ["-" script]
           ["-" region]
           *("-" variant)
           *("-" extension)
           ["-" privateuse]
其中,零件的定义如下:

language      = 2*3ALPHA            ; shortest ISO 639 code
region        = 2ALPHA              ; ISO 3166-1 code
关于区域部分的使用,报告称

区域子标签用于表示相关的语言变体 与特定的国家、领土或地区有关或适合于特定的国家、领土或地区。 通常,区域子标记用于指示变化,例如 区域方言或用法,或特定于区域的拼写惯例。 它也可以用来表示内容是以某种方式表达的 适用于整个区域的,例如, 西班牙语内容适合在整个拉丁美洲使用

以下规则适用于区域子标记:

  • 区域子标记必须遵循任何主语言(扩展) 语言或脚本子标记,并且必须位于任何其他类型的 子标签
  • [……]

  • 语言标记中最多必须有一个区域子标记,并且 区域子标记可以省略,因为它不添加区分标记 标记的值
  • 没有人说一种语言是该国的官方语言,也没有人说它实际上是一种通用语言。只有在区分不会增加太多价值的情况下,才可以省略区域,但不必这样做

    请注意,语言标记正式全部为小写,而区域代码为大写

    tl;dr只要您使用有效的iso代码来表示语言和地区,您就符合最佳实践和标准,例如在


    ISO 639-2中的语言代码列表可以在中找到,而地区代码列表可以在中找到,或者您可以使用上的搜索。

    为什么它应该是“无效”使用?您的问题
    en在
    中就是一个例子。只要您使用通用/有效的iso代码来表示国家和语言,就不会有任何问题,但即使没有这些问题,也完全取决于您的项目和使用语言代码的人员。感谢您的快速回复。这是一个很好的观点。但也许我的例子不好,因为英语是印度政府的官方语言。德CN(德语在中国)怎么样?我想这不会出现在iso列表中?!我从调查结果中得出了一个答案,应该可以澄清这一点。据我所知,没有正式的iso语言区域组合列表。谢谢您的详细回答。我会在web项目中测试它,如果出现问题,我会给出反馈。太好了。如果有帮助,请记住接受并投票;)