为什么 PHP intl v.1.1.0 为“-SV”返回 "El Salvador"?

Why is PHP intl v.1.1.0 returning "El Salvador" for "-SV"?

我正在浏览文档,检查 iso 2 位国家/地区代码,但我无法解决这个问题。文档中的每个人都说瑞典的 2 位国家代码是 SV,但在使用此功能时它返回“El Salvador”

\Locale::getDisplayRegion('-SV', 'en')

根据 this 站点(以及其他站点),萨尔瓦多应为“es-SV”,瑞典应为“SV”或“sv-SE”。假设 SV 在 \Locale“db”中根本不存在,但为什么会 return 萨尔瓦多(即“es-SV”)而不是瑞典(即“sv-SE”) .

公平地说,它确实 return 瑞典的“es-SV”,但我认为它令人困惑。

有人知道为什么会这样吗?

我认为您混淆了瑞典语 (SV) 的 ISO 3166-1 alpha-2 country code of Sweden (SE) with the ISO 639-1 语言代码。

国家代码SV确实萨尔瓦多。

在国家语言环境sv-SE中,sv部分表示语言代码(瑞典语),SE部分表示国家代码(瑞典),主要区别于sv-FI,这是瑞典语 spoken/written 在芬兰的变体 (FI)。