带有 zend 区域设置的国家/地区名称

发布于 2024-10-07 01:24:32 字数 90 浏览 3 评论 0原文

当我将国家/地区保存到数据库中时,我使用国际缩写。

如何将此带有 zend_locale 的缩写转换为完整的国家/地区名称?

When I save countries into my database I use the international abbreviation.

How do I convert this abbreviation with zend_locale to the full country name?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

抚你发端 2024-10-14 01:24:32

这是方法。它尝试使用浏览器的区域设置,如果失败则默认为美国英语。

try {
    $locale = new Zend_Locale(Zend_Locale::BROWSER);
    $countries = $locale->getTranslationList('Territory', Zend_Locale::BROWSER, 2);
} catch (exception $e) {
    $locale = new Zend_Locale('en_US');
    $countries = $locale->getTranslationList('Territory', 'en_US', 2);
}

asort($countries, SORT_LOCALE_STRING);

// Unset invalid countries
// SU = USSR
// ZZ = Unknown or Invalid Region
// VD = North Vietnam
// DD = East Germany
unset($countries['SU'], $countries['ZZ'], $countries['VD'], $countries['DD']);

Here is the method. It tries to use the browser's locale and defaults to US English if that fails.

try {
    $locale = new Zend_Locale(Zend_Locale::BROWSER);
    $countries = $locale->getTranslationList('Territory', Zend_Locale::BROWSER, 2);
} catch (exception $e) {
    $locale = new Zend_Locale('en_US');
    $countries = $locale->getTranslationList('Territory', 'en_US', 2);
}

asort($countries, SORT_LOCALE_STRING);

// Unset invalid countries
// SU = USSR
// ZZ = Unknown or Invalid Region
// VD = North Vietnam
// DD = East Germany
unset($countries['SU'], $countries['ZZ'], $countries['VD'], $countries['DD']);
如若梦似彩虹 2024-10-14 01:24:32

您可以使用自 PHP 5.3.0 起捆绑的 intl 扩展的功能,或自 PHP 5.2.0 起作为 PECL 扩展的功能。

要使用区域设置显示区域:

<?php
print \Locale::getDisplayRegion('da_DK') . "\n";
print \Locale::getDisplayRegion('en_US') . "\n";
print \Locale::getDisplayRegion('ru_RU', 'ru_RU') . "\n";
?>

将输出:

Denmark
United States
Россия

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

You can use functionality from the intl extension which is bundled as of PHP 5.3.0, or as a PECL extension as of PHP 5.2.0.

To display a region using a locale:

<?php
print \Locale::getDisplayRegion('da_DK') . "\n";
print \Locale::getDisplayRegion('en_US') . "\n";
print \Locale::getDisplayRegion('ru_RU', 'ru_RU') . "\n";
?>

Will output:

Denmark
United States
Россия

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

花桑 2024-10-14 01:24:32

使用 Zend_Locale::getTranslationList()Zend_Locale::getTranslation()。请参阅手册中的示例#7< /a>.

Use Zend_Locale::getTranslationList() or Zend_Locale::getTranslation(). See example #7 in the manual.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文