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

bas*_*bas 1 php translation icu intl

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

nl_NL
nl -> Nederland
uk -> Verenigd Koninkrijk

en_UK
nl -> The Netherlands
uk -> United Kindom
Run Code Online (Sandbox Code Playgroud)

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

mar*_*hez 7

究竟.intl方法可以帮助您.

您需要使用Locale :: getDisplayRegion

面向对象的风格:

static string Locale::getDisplayRegion ( string $locale [, string $in_locale ] )
Run Code Online (Sandbox Code Playgroud)

程序风格:

string locale_get_display_region ( string $locale [, string $in_locale ] )
Run Code Online (Sandbox Code Playgroud)

返回输入语言环境区域的适当本地化显示名称.如果为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
Run Code Online (Sandbox Code Playgroud)

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