我应该使用 ISO 639-1(2 字母缩写)还是 ISO 639-2(3 字母缩写)来存储用户的语言代码?两者都是官方标准,但哪个是开发社区的事实标准?我认为 ISO 639-1 会更容易记住,并且可能因此更受欢迎,但这只是一个猜测。
我正在构建的站点将为美国、巴西、俄罗斯、中国和英国提供一个单独的站点。
我应该使用 ISO 639-1(2 字母缩写)还是 ISO 639-2(3 字母缩写)来存储用户的语言代码?两者都是官方标准,但哪个是开发社区的事实标准?我认为 ISO 639-1 会更容易记住,并且可能因此更受欢迎,但这只是一个猜测。
我正在构建的站点将为美国、巴西、俄罗斯、中国和英国提供一个单独的站点。
您应该使用IETF语言标签,因为它们已经用于 HTTP/HTML/XML 和许多其他技术。它们基于包括 ISO-639 集合在内的多个标准(是的,语言、地区和文化的选择并不那么容易定义)。
我写了一篇关于正确的语言代码选择和使用的更详细的文章。这个想法是使用最简单/更短的 ISO-639-1 代码,并仅针对特殊情况指定更多代码。在文章中,有大约 30 种最常用语言的代码,以及为什么我认为一种替代方案比另一种更好的原因。
如果您想跳过阅读整篇文章,这里有一个语言代码的简短列表(不要与国家代码混淆):ar, cs, da, de, el, en, en-gb, es, fr, fi, he, hu, it, ja, ko, nb, nl, pl, pt, pt-pt, ro, ru, sv, tr, uk, zh, zh-hant
以下几点可能并不明显,但应牢记:
en
用于en-us
- 美式英语,用于英式英语en-gb
pt
用于pt-br
, 而不是pt-pt
女巫的扬声器少得多zh
用于代替zh-hans
, zh-CN
,...zh-hant
(繁体中文)用于代替更具体的代码,如zh-hant-TW
或zh-TW
您可以在文章中找到更多解释。
我会选择 ISO 639 的衍生版本。具体来说,我喜欢使用这个:http ://en.wikipedia.org/wiki/IETF_language_tag
我不是专家,但我见过的每个站点都使用ISO 639-1,包括我正在处理的当前站点。
它对我们有用!
我只见过使用 2 个字符的语言代码 - 所以我建议您使用它们,除非您的工作涉及以某种方式深入研究语言学。如果您所做的只是为整个世界定制浏览体验,那么您将不需要 3 字符代码提供的额外曲目。
ISO 639-1 Alpha-2 几乎被普遍使用。
例如,它们用于 HTTP 内容协商。如果您想知道一个国际网站如何以您的母语自动向您显示他们的主页,那就是它的工作原理。(虽然有时有点烦人。例如,我经常看到德语的默认 Apache 主页,因为网站管理员打开了内容协商,但只输入了英文内容。)
大多数网络浏览器直接在其设置对话框中使用它们。
大多数操作系统在其设置对话框或配置文件中使用它们。
维基百科将它们用于不同语言版本的服务器名称中。
换句话说:如果您的用户不是以英语为母语的人,他们在配置软件时可能已经遇到过他们,否则他们将无法使用他们的计算机。
ISO 639 系列的其他成员主要是语言学家感兴趣的。除非您希望耶稣基督本人(ISO 639-2 Alpha-3 代码arc
)访问您的网站,或者可能是克林贡语 ( tlh
),否则 ISO 639-1 的语言比您希望支持的多。