Lorsque je sauvegarde des pays dans ma base de données, j'utilise l'abréviation internationale. Comment convertir cette abréviation avec zend_locale
en nom complet du pays?Nom du pays avec zend locale
4
A
Répondre
5
Voici la méthode. Il essaie d'utiliser les paramètres régionaux du navigateur et par défaut l'anglais américain si cela échoue.
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']);
1
Utilisez Zend_Locale::getTranslationList()
ou Zend_Locale::getTranslation()
. Voir example #7 in the manual.
3
Vous pouvez utiliser la fonctionnalité de l'extension intl
qui est fourni à partir de PHP 5.3.0, ou comme une extension PECL PHP 5.2.0.
Pour afficher une région en utilisant un lieu:
<?php
print \Locale::getDisplayRegion('da_DK') . "\n";
print \Locale::getDisplayRegion('en_US') . "\n";
print \Locale::getDisplayRegion('ru_RU', 'ru_RU') . "\n";
?>
Affichera:
Denmark
United States
Россия
vous pouvez le faire bu en utilisant le tableau supplémentaire que la carte entre les deux: http: // 27.org/isocountrylist/iso_country_list.sql – tawfekov