PHP 国际国家代码 2 个字符到国家名称

标签 php locale country intl

我正在尝试使用 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)

http://php.net/manual/en/locale.getdisplayregion.php#115523

关于PHP 国际国家代码 2 个字符到国家名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17842003/

相关文章:

iphone - 如何从 ABAddressBookRef 中提取国家/地区字段?

android - 如何在没有GPS的情况下在android中获取用户的城市和国家?

PHP/MySQL 根据推荐计数对用户进行排名并选择一条记录

php - 根据内容调整 div 的高度

php - 通过 Jquery/Javascript 在 iPad 和 iPad2 之间检测?

php - 在 PHP 中检索日期名称

c#-4.0 - 如何获得国家名称

PHP:遍历多维数组并建立数组项之间的父子关系

javascript - 如何在 JavaScript 中设置语言环境,例如 toLocaleUpperCase()?

java - 有什么方法可以知道 Locale 上的国家/地区默认使用的语言吗?