我如何使用php-intl将国家/地区代码转换为本地化的国家/地区名称

时间:2012-09-20 15:06:51

标签: php translation icu intl

您好我需要根据PHP中的国家/地区代码和区域设置检索完整的国家/地区名称。由于php-intl现在应该能够做到这一点,我想使用它。

nl_NL
nl -> Nederland
uk -> Verenigd Koninkrijk

en_UK
nl -> The Netherlands
uk -> United Kindom

我认为我需要以某种方式使用php-intl资源包,但我找不到任何有用的例子。

1 个答案:

答案 0 :(得分:7)

完全。 intl方法可以帮助你。

您需要使用Locale::getDisplayRegion

面向对象的风格:

static string Locale::getDisplayRegion ( string $locale [, string $in_locale ] )

程序风格:

string locale_get_display_region ( string $locale [, string $in_locale ] )

返回输入区域设置区域的适当本地化显示名称。如果为NULL,则使用默认语言环境。

所以,在你的情况下:

php > echo Locale::getDisplayRegion('nl_NL', 'nl_NL');
Nederland
php > echo Locale::getDisplayRegion('en_GB', 'nl_NL');
Verenigd Koninkrijk
php > echo Locale::getDisplayRegion('nl_NL', 'en_GB');
Netherlands
php > echo Locale::getDisplayRegion('en_GB', 'en_GB');
United Kingdom

请记住,'GB'用于英国而非'UK'