在PHP intl extension中,特别是Locale class,它说:
使用RFC 4646语言标记识别语言环境
我提到这一点的原因是RFC 4646已被弃用,而不是RFC 5646。
我打算使用intl extension将ISO 639代码翻译为各自的语言名称(例如 en 到英语)。虽然这不是必不可少的,但它是一种有用的能力。
639种语言代码由各自的注册机构积极维护和更改。这也不是假设的问题,只需看change-log for ISO 639-3。
使用现已弃用的语言标签让我有点担心intl extension的维护活跃程度; RFC 5656于2009年发布,这不是一个前沿的标准。
答案 0 :(得分:2)
intl 扩展依赖于ICU提供语言代码等。 ICU版本存储在常量PHP_ICU_VERSION
中。 ICU本身依赖于您在Locale类中引用的相同文档中指定的Unicode公共区域设置数据存储库(CLDR):“CLDR在[Unicode标准附件]#35中使用的扩展(并由ICU继承)是有效和使用的他们通常在ICU的任何地方。“