我正在尝试使用 PHP 将 2 个字符的国家/地区代码 (ISO 3166-1) 转换为国家/地区名称或国际国家/地区代码,以便我可以翻译国家/地区名称。
使用 Locale::getDisplayRegion
需要语言的区域设置代码 (nl_NL
),而我只有 2 个字符的国家/地区代码。我不想依赖 Web 服务,但我可以考虑 geoip 扩展(无论如何我找不到使用它的解决方案)。
有没有办法在不使用网络服务或外部资源的情况下获取 2 个字符的国家代码并将其转换为本地化国家名称?
(我之前用过zend_locale,但是zf2没有那个功能)
最佳答案
您不必为第一个参数提供完整的语言环境。这使得该函数对于从任何语言环境获取国家/地区名称非常有用:
<?php
var_dump(Locale::getDisplayRegion('-US', 'fr'));
//Returns
string 'États-Unis' (length=11)
关于PHP 国际国家代码 2 个字符到国家名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17842003/