Example #1
0
/**        
 * 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;
}
Example #2
0
 /**
 * 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];
 }
Example #3
0
/**
 * 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;
}