我应该假设^ [a-z] {2}会匹配任何区域设置吗?

时间:2010-10-19 16:12:06

标签: language-agnostic internationalization

我正在实现我的框架的路由和i18n部分。我想知道我是否应该假设

^[a-z]{2} 

将是一个区域设置,如果是这样,请使用它。或者我应该让用户使用语言填充列表?例如:

supported = [ 'en', 'es', 'it', 'ru', ]

因此开发人员必须手动定义语言。此外,此处90%的网站仅使用en

2 个答案:

答案 0 :(得分:3)

请记住,某些语言需要指定两个以上的字符。简体中文通常是“zh-CN”或“zh-HANS”,繁体中文是“zh-TW”或“zh-HANT”。巴西葡萄牙语是“pt-BR”,依此类推。

答案 1 :(得分:3)

ISO 639是语言代码规范 - 但它定义了多种方式

  • ISO 639-1:双字母代码
  • ISO 639-2 / T:三字母代码
  • ISO 639-2 / B:三字母代码
  • ISO 639-3:三个字母代码,其中共同根的方言(例如阿拉伯语通用,阿拉伯语标准)是分开的。

然而,语言实际上是一个语言环境? EN例如肯定不是。作为英国人我首先想要EN-UK内容,但我在美国。这意味着谷歌将我重定向到google.co.uk,这当然不是我想要的。