/** * 2016-05-20 * Возвращает название страны для заданной локали (или системной локали по умолчанию) * по 2-буквенному коду по стандарту ISO 3166-1 alpha-2. * https://ru.wikipedia.org/wiki/ISO_3166-1 * @param string $iso2 * @param string|null $locale [optional] * @return string */ function df_country_ctn($iso2, $locale = null) { df_param_iso2($iso2, 0); /** @var string $result */ $result = dfa(df_countries_ctn($locale), $iso2); if (!$result) { df_error('Система не смогла узнать название страны с кодом «%s» для локали «%s».', $iso2, df_locale($locale)); } return $result; }
/** * 2016-05-19 * @used-by rm_countries_ntc_uc() * Возвращает массив, * в котором ключами являются * названия стран в верхнем регистре для заданной локали (или системной локали по умолчанию) * а значениями — 2-буквенные коды стран по стандарту ISO 3166-1 alpha-2. * https://ru.wikipedia.org/wiki/ISO_3166-1 * Например: array( 'АВСТРАЛИЯ' => 'AU' ,'АВСТРИЯ' => 'AT' ) * @param string|null $l [optional] * @return array(string => string) */ public function mapFromNameToCodeUc($l = null) { $l = $l ?: df_locale(); if (!isset($this->{__METHOD__}[$l])) { $this->{__METHOD__}[$l] = array_flip($this->mapFromCodeToNameUc($l)); } return $this->{__METHOD__}[$l]; }
/** * 2016-06-30 * «How to programmatically get a currency's name by its ISO code?» https://mage2.pro/t/1833 * @param string|Currency|string[]|Currency[]|null $currency [optional] * @return string|string[] */ function df_currency_name($currency = null) { /** @var string|string[] $result */ if (is_array($currency)) { $result = array_map(__FUNCTION__, $currency); } else { /** @var \ResourceBundle $rb */ static $rb; if (!isset($rb)) { $rb = (new CurrencyBundle())->get(df_locale())['Currencies']; } /** @var string $code */ $code = is_string($currency) ? $currency : df_currency_code($currency); $result = $rb[$code][1] ?: $code; } return $result; }