php - 带有 zend 语言环境的国家名称

标签 php zend-framework internationalization zend-locale

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

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

最佳答案

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

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']);

关于php - 带有 zend 语言环境的国家名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4419524/

相关文章:

php - 通过选择复选框来提交表单,并将结果显示在指定的 div 中

php - 将 BLOB 从 MySql 读取到 PHP 中的二进制文件?

JSF 2.0 中的国际化

Grails i18n : Setting Accept-Language header

php - 在 Laravel 中通过查询选择计算属性

php - 显示带有异常消息的变量值

php - 加权 MySql 查询搜索

zend-framework - Zend Framework 根据上下文加载样式表

php - 使用 Zend_Mail 时如何验证邮件是否已发送?

html - 关于国际化字符串中 HTML 标签的最佳实践是什么?