首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ISO 3166-1 alpha-2国家代码的区域名称

ISO 3166-1 alpha-2国家代码的区域名称
EN

Stack Overflow用户
提问于 2014-01-20 16:24:15
回答 1查看 1.9K关注 0票数 2

在数据库中,我们有ISO 3166-1 alpha-2国家代码,例如英国的GB和阿根廷的AR。今天,我们保存了一个数据库表,其中一个列用于这些国家代码,另一个列用于相应的英文国家名称。

我们在PHP (5.4.x)中工作,它有intl延伸 (用于ICU库的包装器),因此我想从这个源代码中获取国家名称,这使得应用程序更易于维护和国际化,因为我可以轻松地用德语、法语或我们将来想要的任何东西获取国家名称。

Locale::getDisplayRegion ( string $locale [, string $in_locale ] )从区域设置中提供区域名称。例如。

代码语言:javascript
复制
php > echo Locale::getDisplayRegion('en-US', 'de') . PHP_EOL;
Vereinigte Staaten
php > echo Locale::getDisplayRegion('en-US', 'en') . PHP_EOL;
United States

问题是我没有语言代码,只有国家代码,所以我不知道如何建立一个合适的地区。

似乎我可以用'en_‘作为英语的前缀来获得区域名称,例如

代码语言:javascript
复制
php > echo Locale::getDisplayRegion('en-CH', 'en') . PHP_EOL;
Switzerland
php > echo Locale::getDisplayRegion('en-CN', 'en') . PHP_EOL;
China
php > echo Locale::getDisplayRegion('en-AR', 'en') . PHP_EOL;
Argentina

然而,这感觉更像是一次黑客攻击,我不确定我是否真的能相信这一点?

我在想,如果我能以某种方式使用国家代码(地区/地区,视术语而定)和任何一种有效的国家语言组成一个地区,但至少在我所发现的范围内,它不起作用:

代码语言:javascript
复制
php > echo Locale::composeLocale( array('region' => 'CN') ) . PHP_EOL;

php >

关于如何解决这个问题,有什么建议吗?我不想维护我自己的国家名称数据库,或者只是在有一个内置扩展时使用外部PHP库,这似乎已经是一个很好的源(ICU)。

提前谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-22 15:48:42

使用und (未知语言)。所以'und_' . 'AR'等等。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21239095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档