returns a list of countries and there codes
@return array
1958
public static function countriesList()
    {
        $path = dirname(realpath(__FILE__)).DIRECTORY_SEPARATOR.'data/countries.json';
        $countries = self::readJson($path, true);

        $listCountries = [];

        foreach ($countries['Names'] as $code => $value) {
            $listCountries[$code] = $value;
        }

        return $listCountries;
    }
664647
public function getData()
    {
        return [
            self::POSTCODE_ATTR => $this->postcode,
            self::COUNTRY_ATTR => $this->country->getCode(),
        ];
    }
1346126
public static function getInfoForCurrenciesWithoutCurrencyCode()
    {
        return array(
            self::WITHOUT_CURRENCY_CODE_GGP => array(
                'code' => self::WITHOUT_CURRENCY_CODE_GGP,
                'isoStatus' => self::ISO_STATUS_WITHOUT_CURRENCY_CODE,
                'decimalDigits' => 2,
                'name' => 'Guernsey pound',
            ),
            self::WITHOUT_CURRENCY_CODE_JEP => array(
                'code' => self::WITHOUT_CURRENCY_CODE_JEP,
                'isoStatus' => self::ISO_STATUS_WITHOUT_CURRENCY_CODE,
                'decimalDigits' => 2,
                'name' => 'Jersey pound',
            ),
            self::WITHOUT_CURRENCY_CODE_IMP => array(
                'code' => self::WITHOUT_CURRENCY_CODE_IMP,
                'isoStatus' => self::ISO_STATUS_WITHOUT_CURRENCY_CODE,
                'decimalDigits' => 2,
                'name' => 'Isle of Man pound also Manx pound',
            ),
            self::WITHOUT_CURRENCY_CODE_KRI => array(
                'code' => self::WITHOUT_CURRENCY_CODE_KRI,
                'isoStatus' => self::ISO_STATUS_WITHOUT_CURRENCY_CODE,
                'decimalDigits' => 2,
                'name' => 'Kiribati dollar',
            ),
            self::WITHOUT_CURRENCY_CODE_SLS => array(
                'code' => self::WITHOUT_CURRENCY_CODE_SLS,
                'isoStatus' => self::ISO_STATUS_WITHOUT_CURRENCY_CODE,
                'decimalDigits' => 2,
                'name' => 'Somaliland shilling',
            ),
            self::WITHOUT_CURRENCY_CODE_PRB => array(
                'code' => self::WITHOUT_CURRENCY_CODE_PRB,
                'isoStatus' => self::ISO_STATUS_WITHOUT_CURRENCY_CODE,
                'decimalDigits' => 2,
                'name' => 'Transnistrian ruble',
            ),
            self::WITHOUT_CURRENCY_CODE_TVD => array(
                'code' => self::WITHOUT_CURRENCY_CODE_TVD,
                'isoStatus' => self::ISO_STATUS_WITHOUT_CURRENCY_CODE,
                'decimalDigits' => 2,
                'name' => 'Tuvalu dollar',
            )
        );
    }
490154
public static function all()
    {
        $countries = array_values(static::$countries);

        array_walk($countries, function (&$value) {
            $value = new Country($value);
        });

        return $countries;
    }
787169
public function getMatchingCodes()
    {
        $codes = [$this->getCode()];
        foreach ($this->getChildren() as $child) {
            /** @noinspection SlowArrayOperationsInLoopInspection */
            $codes = array_merge($codes, $child->getMatchingCodes());
        }

        return $codes;
    }
1152510
public function getCountryCode()
    {
        $localeIso = $this->locale->getIso();

        if (isset($this->localeCountryAssociations[$localeIso])) {
            return Locale::create($this->localeCountryAssociations[$localeIso]);
        }

        $regionLocale = \Locale::getRegion($localeIso);

        return $regionLocale
            ? Locale::create($regionLocale)
            : $this->locale;
    }
566329
public function getAllowedAddressCountries()
    {
        $allowedShippingCountries    = $this->getAllowedShippingCountries();
        $allowedShippingCountriesMap = array_map(
            function ($country) {
                return $country['country'];
            },
            $allowedShippingCountries
        );

        $allowedAddressCountries = [];
        foreach ($this->mainShipHelper->getMageShippingCountries() as $addressCountry) {
            $state  = array_search($addressCountry, $allowedShippingCountriesMap, true);
            $states = $state !== false ? $allowedShippingCountries[$state]['state'] : ['All'];

            $allowedAddressCountries[] =
                [
                    'country' => $addressCountry,
                    'state'   => $states
                ];
        }

        return $allowedAddressCountries;
    }
1104243
public static function country2locale($code) {
    # http://wiki.openstreetmap.org/wiki/Nominatim/Country_Codes
    $arr = array(
      'ad' => 'ca',
      'ae' => 'ar',
      'af' => 'fa,ps',
      'ag' => 'en',
      'ai' => 'en',
      'al' => 'sq',
      'am' => 'hy',
      'an' => 'nl,en',
      'ao' => 'pt',
      'aq' => 'en',
      'ar' => 'es',
      'as' => 'en,sm',
      'at' => 'de',
      'au' => 'en',
      'aw' => 'nl,pap',
      'ax' => 'sv',
      'az' => 'az',
      'ba' => 'bs,hr,sr',
      'bb' => 'en',
      'bd' => 'bn',
      'be' => 'nl,fr,de',
      'bf' => 'fr',
      'bg' => 'bg',
      'bh' => 'ar',
      'bi' => 'fr',
      'bj' => 'fr',
      'bl' => 'fr',
      'bm' => 'en',
      'bn' => 'ms',
      'bo' => 'es,qu,ay',
      'br' => 'pt',
      'bq' => 'nl,en',
      'bs' => 'en',
      'bt' => 'dz',
      'bv' => 'no',
      'bw' => 'en,tn',
      'by' => 'be,ru',
      'bz' => 'en',
      'ca' => 'en,fr',
      'cc' => 'en',
      'cd' => 'fr',
      'cf' => 'fr',
      'cg' => 'fr',
      'ch' => 'de,fr,it,rm',
      'ci' => 'fr',
      'ck' => 'en,rar',
      'cl' => 'es',
      'cm' => 'fr,en',
      'cn' => 'zh',
      'co' => 'es',
      'cr' => 'es',
      'cu' => 'es',
      'cv' => 'pt',
      'cw' => 'nl',
      'cx' => 'en',
      'cy' => 'el,tr',
      'cz' => 'cs',
      'de' => 'de',
      'dj' => 'fr,ar,so',
      'dk' => 'da',
      'dm' => 'en',
      'do' => 'es',
      'dz' => 'ar',
      'ec' => 'es',
      'ee' => 'et',
      'eg' => 'ar',
      'eh' => 'ar,es,fr',
      'er' => 'ti,ar,en',
      'es' => 'es,ast,ca,eu,gl',
      'et' => 'am,om',
      'fi' => 'fi,sv,se',
      'fj' => 'en',
      'fk' => 'en',
      'fm' => 'en',
      'fo' => 'fo',
      'fr' => 'fr',
      'ga' => 'fr',
      'gb' => 'en,ga,cy,gd,kw',
      'gd' => 'en',
      'ge' => 'ka',
      'gf' => 'fr',
      'gg' => 'en',
      'gh' => 'en',
      'gi' => 'en',
      'gl' => 'kl,da',
      'gm' => 'en',
      'gn' => 'fr',
      'gp' => 'fr',
      'gq' => 'es,fr,pt',
      'gr' => 'el',
      'gs' => 'en',
      'gt' => 'es',
      'gu' => 'en,ch',
      'gw' => 'pt',
      'gy' => 'en',
      'hk' => 'zh,en',
      'hm' => 'en',
      'hn' => 'es',
      'hr' => 'hr',
      'ht' => 'fr,ht',
      'hu' => 'hu',
      'id' => 'id',
      'ie' => 'en,ga',
      'il' => 'he',
      'im' => 'en',
      'in' => 'hi,en',
      'io' => 'en',
      'iq' => 'ar,ku',
      'ir' => 'fa',
      'is' => 'is',
      'it' => 'it,de,fr',
      'je' => 'en',
      'jm' => 'en',
      'jo' => 'ar',
      'jp' => 'ja',
      'ke' => 'sw,en',
      'kg' => 'ky,ru',
      'kh' => 'km',
      'ki' => 'en',
      'km' => 'ar,fr',
      'kn' => 'en',
      'kp' => 'ko',
      'kr' => 'ko,en',
      'kw' => 'ar',
      'ky' => 'en',
      'kz' => 'kk,ru',
      'la' => 'lo',
      'lb' => 'ar,fr',
      'lc' => 'en',
      'li' => 'de',
      'lk' => 'si,ta',
      'lr' => 'en',
      'ls' => 'en,st',
      'lt' => 'lt',
      'lu' => 'lb,fr,de',
      'lv' => 'lv',
      'ly' => 'ar',
      'ma' => 'ar',
      'mc' => 'fr',
      'md' => 'ru,uk,ro',
      'me' => 'srp,sq,bs,hr,sr',
      'mf' => 'fr',
      'mg' => 'mg,fr',
      'mh' => 'en,mh',
      'mk' => 'mk',
      'ml' => 'fr',
      'mm' => 'my',
      'mn' => 'mn',
      'mo' => 'zh,en,pt',
      'mp' => 'ch',
      'mq' => 'fr',
      'mr' => 'ar,fr',
      'ms' => 'en',
      'mt' => 'mt,en',
      'mu' => 'mfe,fr,en',
      'mv' => 'dv',
      'mw' => 'en,ny',
      'mx' => 'es',
      'my' => 'ms,zh,en',
      'mz' => 'pt',
      'na' => 'en,sf,de',
      'nc' => 'fr',
      'ne' => 'fr',
      'nf' => 'en,pih',
      'ng' => 'en',
      'ni' => 'es',
      'nl' => 'nl',
      'no' => 'nb,nn,no,se',
      'np' => 'ne',
      'nr' => 'na,en',
      'nu' => 'niu,en',
      'nz' => 'en,mi',
      'om' => 'ar',
      'pa' => 'es',
      'pe' => 'es',
      'pf' => 'fr',
      'pg' => 'en,tpi,ho',
      'ph' => 'en,tl',
      'pk' => 'en,ur',
      'pl' => 'pl',
      'pm' => 'fr',
      'pn' => 'en,pih',
      'pr' => 'es,en',
      'ps' => 'ar,he',
      'pt' => 'pt',
      'pw' => 'en,pau,ja,sov,tox',
      'py' => 'es,gn',
      'qa' => 'ar',
      're' => 'fr',
      'ro' => 'ro',
      'rs' => 'sr',
      'ru' => 'ru',
      'rw' => 'rw,fr,en',
      'sa' => 'ar',
      'sb' => 'en',
      'sc' => 'fr,en,crs',
      'sd' => 'ar,en',
      'se' => 'sv',
      'sg' => 'en,ms,zh,ta',
      'sh' => 'en',
      'si' => 'sl',
      'sj' => 'no',
      'sk' => 'sk',
      'sl' => 'en',
      'sm' => 'it',
      'sn' => 'fr',
      'so' => 'so,ar',
      'sr' => 'nl',
      'st' => 'pt',
      'ss' => 'en',
      'sv' => 'es',
      'sx' => 'nl,en',
      'sy' => 'ar',
      'sz' => 'en,ss',
      'tc' => 'en',
      'td' => 'fr,ar',
      'tf' => 'fr',
      'tg' => 'fr',
      'th' => 'th',
      'tj' => 'tg,ru',
      'tk' => 'tkl,en,sm',
      'tl' => 'pt,tet',
      'tm' => 'tk',
      'tn' => 'ar',
      'to' => 'en',
      'tr' => 'tr',
      'tt' => 'en',
      'tv' => 'en',
      'tw' => 'zh',
      'tz' => 'sw,en',
      'ua' => 'uk',
      'ug' => 'en,sw',
      'um' => 'en',
      'us' => 'en,es',
      'uy' => 'es',
      'uz' => 'uz,kaa',
      'va' => 'it',
      'vc' => 'en',
      've' => 'es',
      'vg' => 'en',
      'vi' => 'en',
      'vn' => 'vi',
      'vu' => 'bi,en,fr',
      'wf' => 'fr',
      'ws' => 'sm,en',
      'ye' => 'ar',
      'yt' => 'fr',
      'za' => 'zu,xh,af,st,tn,en',
      'zm' => 'en',
      'zw' => 'en,sn,nd'
    );
    #----
    $code = strtolower($code);
    if ($code == 'eu') {
      return 'en_GB';
    }
    elseif ($code == 'ap') { # Asia Pacific
      return 'en_US';
    }
    elseif ($code == 'cs') {
       return 'sr_RS';
    }
    #----
    if ($code == 'uk') {
      $code = 'gb';
    }
    if (array_key_exists($code, $arr)) {
      if (strpos($arr[$code], ',') !== false) {
        $new = explode(',', $arr[$code]);
        $loc = array();
        foreach ($new as $key => $val) {
          $loc[] = $val.'_'.strtoupper($code);
        }
        return implode(',', $loc); # string; comma-separated values 'en_GB,ga_GB,cy_GB,gd_GB,kw_GB'
      }
      else {
        return $arr[$code].'_'.strtoupper($code); # string 'en_US'
      }
    }
    return 'en_US';
  }
878484
public function getCountries()
    {
        if (!array_key_exists(Localization::activeLocale(), $this->countries)) {
            $this->loadCountries();
        }

        return $this->countries[Localization::activeLocale()];
    }
652430
public static function getInfoForCurrencies()
    {
        return array(
            self::CODE_AED => array(
                'code' => self::CODE_AED,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'United Arab Emirates dirham',
            ),
            self::CODE_AFN => array(
                'code' => self::CODE_AFN,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Afghan afghani',
            ),
            self::CODE_ALL => array(
                'code' => self::CODE_ALL,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Albanian lek',
            ),
            self::CODE_AMD => array(
                'code' => self::CODE_AMD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Armenian dram',
            ),
            self::CODE_ANG => array(
                'code' => self::CODE_ANG,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Netherlands Antillean guilder',
            ),
            self::CODE_AOA => array(
                'code' => self::CODE_AOA,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Angolan kwanza',
            ),
            self::CODE_ARS => array(
                'code' => self::CODE_ARS,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Argentine peso',
            ),
            self::CODE_AUD => array(
                'code' => self::CODE_AUD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Australian dollar',
            ),
            self::CODE_AWG => array(
                'code' => self::CODE_AWG,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Aruban florin',
            ),
            self::CODE_AZN => array(
                'code' => self::CODE_AZN,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Azerbaijani manat',
            ),
            self::CODE_BAM => array(
                'code' => self::CODE_BAM,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Bosnia and Herzegovina convertible mark',
            ),
            self::CODE_BBD => array(
                'code' => self::CODE_BBD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Barbados dollar',
            ),
            self::CODE_BDT => array(
                'code' => self::CODE_BDT,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Bangladeshi taka',
            ),
            self::CODE_BGN => array(
                'code' => self::CODE_BGN,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Bulgarian lev',
            ),
            self::CODE_BHD => array(
                'code' => self::CODE_BHD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 3,
                'name' => 'Bahraini dinar',
            ),
            self::CODE_BIF => array(
                'code' => self::CODE_BIF,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Burundian franc',
            ),
            self::CODE_BMD => array(
                'code' => self::CODE_BMD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Bermudian dollar (customarily known as Bermuda dollar)',
            ),
            self::CODE_BND => array(
                'code' => self::CODE_BND,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Brunei dollar',
            ),
            self::CODE_BOB => array(
                'code' => self::CODE_BOB,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Boliviano',
            ),
            self::CODE_BOV => array(
                'code' => self::CODE_BOV,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Bolivian Mvdol (funds code)',
            ),
            self::CODE_BRL => array(
                'code' => self::CODE_BRL,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Brazilian real',
            ),
            self::CODE_BSD => array(
                'code' => self::CODE_BSD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Bahamian dollar',
            ),
            self::CODE_BTN => array(
                'code' => self::CODE_BTN,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Bhutanese ngultrum',
            ),
            self::CODE_BWP => array(
                'code' => self::CODE_BWP,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Botswana pula',
            ),
            self::CODE_BYR => array(
                'code' => self::CODE_BYR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Belarusian ruble',
            ),
            self::CODE_BZD => array(
                'code' => self::CODE_BZD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Belize dollar',
            ),
            self::CODE_CAD => array(
                'code' => self::CODE_CAD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Canadian dollar',
            ),
            self::CODE_CDF => array(
                'code' => self::CODE_CDF,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Congolese franc',
            ),
            self::CODE_CHE => array(
                'code' => self::CODE_CHE,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'WIR Euro (complementary currency)',
            ),
            self::CODE_CHF => array(
                'code' => self::CODE_CHF,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Swiss franc',
            ),
            self::CODE_CHW => array(
                'code' => self::CODE_CHW,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'WIR Franc (complementary currency)',
            ),
            self::CODE_CLF => array(
                'code' => self::CODE_CLF,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Unidad de Fomento (funds code)',
            ),
            self::CODE_CLP => array(
                'code' => self::CODE_CLP,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Chilean peso',
            ),
            self::CODE_CNY => array(
                'code' => self::CODE_CNY,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Chinese yuan',
            ),
            self::CODE_COP => array(
                'code' => self::CODE_COP,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Colombian peso',
            ),
            self::CODE_COU => array(
                'code' => self::CODE_COU,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Unidad de Valor Real',
            ),
            self::CODE_CRC => array(
                'code' => self::CODE_CRC,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Costa Rican colon',
            ),
            self::CODE_CUC => array(
                'code' => self::CODE_CUC,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Cuban convertible peso',
            ),
            self::CODE_CUP => array(
                'code' => self::CODE_CUP,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Cuban peso',
            ),
            self::CODE_CVE => array(
                'code' => self::CODE_CVE,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Cape Verde escudo',
            ),
            self::CODE_CZK => array(
                'code' => self::CODE_CZK,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Czech koruna',
            ),
            self::CODE_DJF => array(
                'code' => self::CODE_DJF,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Djiboutian franc',
            ),
            self::CODE_DKK => array(
                'code' => self::CODE_DKK,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Danish krone',
            ),
            self::CODE_DOP => array(
                'code' => self::CODE_DOP,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Dominican peso',
            ),
            self::CODE_DZD => array(
                'code' => self::CODE_DZD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Algerian dinar',
            ),
            self::CODE_EGP => array(
                'code' => self::CODE_EGP,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Egyptian pound',
            ),
            self::CODE_ERN => array(
                'code' => self::CODE_ERN,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Eritrean nakfa',
            ),
            self::CODE_ETB => array(
                'code' => self::CODE_ETB,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Ethiopian birr',
            ),
            self::CODE_EUR => array(
                'code' => self::CODE_EUR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Euro',
            ),
            self::CODE_FJD => array(
                'code' => self::CODE_FJD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Fiji dollar',
            ),
            self::CODE_FKP => array(
                'code' => self::CODE_FKP,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Falkland Islands pound',
            ),
            self::CODE_GBP => array(
                'code' => self::CODE_GBP,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Pound sterling',
            ),
            self::CODE_GEL => array(
                'code' => self::CODE_GEL,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Georgian lari',
            ),
            self::CODE_GHS => array(
                'code' => self::CODE_GHS,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Ghanaian cedi',
            ),
            self::CODE_GIP => array(
                'code' => self::CODE_GIP,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Gibraltar pound',
            ),
            self::CODE_GMD => array(
                'code' => self::CODE_GMD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Gambian dalasi',
            ),
            self::CODE_GNF => array(
                'code' => self::CODE_GNF,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Guinean franc',
            ),
            self::CODE_GTQ => array(
                'code' => self::CODE_GTQ,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Guatemalan quetzal',
            ),
            self::CODE_GYD => array(
                'code' => self::CODE_GYD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Guyanese dollar',
            ),
            self::CODE_HKD => array(
                'code' => self::CODE_HKD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Hong Kong dollar',
            ),
            self::CODE_HNL => array(
                'code' => self::CODE_HNL,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Honduran lempira',
            ),
            self::CODE_HRK => array(
                'code' => self::CODE_HRK,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Croatian kuna',
            ),
            self::CODE_HTG => array(
                'code' => self::CODE_HTG,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Haitian gourde',
            ),
            self::CODE_HUF => array(
                'code' => self::CODE_HUF,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Hungarian forint',
            ),
            self::CODE_IDR => array(
                'code' => self::CODE_IDR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Indonesian rupiah',
            ),
            self::CODE_ILS => array(
                'code' => self::CODE_ILS,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Israeli new sheqel',
            ),
            self::CODE_INR => array(
                'code' => self::CODE_INR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Indian rupee',
            ),
            self::CODE_IQD => array(
                'code' => self::CODE_IQD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 3,
                'name' => 'Iraqi dinar',
            ),
            self::CODE_IRR => array(
                'code' => self::CODE_IRR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Iranian rial',
            ),
            self::CODE_ISK => array(
                'code' => self::CODE_ISK,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Icelandic króna',
            ),
            self::CODE_JMD => array(
                'code' => self::CODE_JMD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Jamaican dollar',
            ),
            self::CODE_JOD => array(
                'code' => self::CODE_JOD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 3,
                'name' => 'Jordanian dinar',
            ),
            self::CODE_JPY => array(
                'code' => self::CODE_JPY,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Japanese yen',
            ),
            self::CODE_KES => array(
                'code' => self::CODE_KES,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Kenyan shilling',
            ),
            self::CODE_KGS => array(
                'code' => self::CODE_KGS,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Kyrgyzstani som',
            ),
            self::CODE_KHR => array(
                'code' => self::CODE_KHR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Cambodian riel',
            ),
            self::CODE_KMF => array(
                'code' => self::CODE_KMF,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Comoro franc',
            ),
            self::CODE_KPW => array(
                'code' => self::CODE_KPW,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'North Korean won',
            ),
            self::CODE_KRW => array(
                'code' => self::CODE_KRW,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'South Korean won',
            ),
            self::CODE_KWD => array(
                'code' => self::CODE_KWD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 3,
                'name' => 'Kuwaiti dinar',
            ),
            self::CODE_KYD => array(
                'code' => self::CODE_KYD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Cayman Islands dollar',
            ),
            self::CODE_KZT => array(
                'code' => self::CODE_KZT,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Kazakhstani tenge',
            ),
            self::CODE_LAK => array(
                'code' => self::CODE_LAK,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Lao kip',
            ),
            self::CODE_LBP => array(
                'code' => self::CODE_LBP,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Lebanese pound',
            ),
            self::CODE_LKR => array(
                'code' => self::CODE_LKR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Sri Lankan rupee',
            ),
            self::CODE_LRD => array(
                'code' => self::CODE_LRD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Liberian dollar',
            ),
            self::CODE_LSL => array(
                'code' => self::CODE_LSL,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Lesotho loti',
            ),
            self::CODE_LTL => array(
                'code' => self::CODE_LTL,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Lithuanian litas',
            ),
            self::CODE_LVL => array(
                'code' => self::CODE_LVL,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Latvian lats',
            ),
            self::CODE_LYD => array(
                'code' => self::CODE_LYD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 3,
                'name' => 'Libyan dinar',
            ),
            self::CODE_MAD => array(
                'code' => self::CODE_MAD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Moroccan dirham',
            ),
            self::CODE_MDL => array(
                'code' => self::CODE_MDL,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Moldovan leu',
            ),
            self::CODE_MGA => array(
                'code' => self::CODE_MGA,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Malagasy ariary',
            ),
            self::CODE_MKD => array(
                'code' => self::CODE_MKD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Macedonian denar',
            ),
            self::CODE_MMK => array(
                'code' => self::CODE_MMK,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Myanma kyat',
            ),
            self::CODE_MNT => array(
                'code' => self::CODE_MNT,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Mongolian tugrik',
            ),
            self::CODE_MOP => array(
                'code' => self::CODE_MOP,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Macanese pataca',
            ),
            self::CODE_MRO => array(
                'code' => self::CODE_MRO,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Mauritanian ouguiya',
            ),
            self::CODE_MUR => array(
                'code' => self::CODE_MUR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Mauritian rupee',
            ),
            self::CODE_MVR => array(
                'code' => self::CODE_MVR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Maldivian rufiyaa',
            ),
            self::CODE_MWK => array(
                'code' => self::CODE_MWK,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Malawian kwacha',
            ),
            self::CODE_MXN => array(
                'code' => self::CODE_MXN,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Mexican peso',
            ),
            self::CODE_MXV => array(
                'code' => self::CODE_MXV,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Mexican Unidad de Inversion (UDI) (funds code)',
            ),
            self::CODE_MYR => array(
                'code' => self::CODE_MYR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Malaysian ringgit',
            ),
            self::CODE_MZN => array(
                'code' => self::CODE_MZN,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Mozambican metical',
            ),
            self::CODE_NAD => array(
                'code' => self::CODE_NAD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Namibian dollar',
            ),
            self::CODE_NGN => array(
                'code' => self::CODE_NGN,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Nigerian naira',
            ),
            self::CODE_NIO => array(
                'code' => self::CODE_NIO,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Nicaraguan córdoba',
            ),
            self::CODE_NOK => array(
                'code' => self::CODE_NOK,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Norwegian krone',
            ),
            self::CODE_NPR => array(
                'code' => self::CODE_NPR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Nepalese rupee',
            ),
            self::CODE_NZD => array(
                'code' => self::CODE_NZD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'New Zealand dollar',
            ),
            self::CODE_OMR => array(
                'code' => self::CODE_OMR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 3,
                'name' => 'Omani rial',
            ),
            self::CODE_PAB => array(
                'code' => self::CODE_PAB,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Panamanian balboa',
            ),
            self::CODE_PEN => array(
                'code' => self::CODE_PEN,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Peruvian nuevo sol',
            ),
            self::CODE_PGK => array(
                'code' => self::CODE_PGK,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Papua New Guinean kina',
            ),
            self::CODE_PHP => array(
                'code' => self::CODE_PHP,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Philippine peso',
            ),
            self::CODE_PKR => array(
                'code' => self::CODE_PKR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Pakistani rupee',
            ),
            self::CODE_PLN => array(
                'code' => self::CODE_PLN,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Polish złoty',
            ),
            self::CODE_PYG => array(
                'code' => self::CODE_PYG,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Paraguayan guaraní',
            ),
            self::CODE_QAR => array(
                'code' => self::CODE_QAR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Qatari riyal',
            ),
            self::CODE_RON => array(
                'code' => self::CODE_RON,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Romanian new leu',
            ),
            self::CODE_RSD => array(
                'code' => self::CODE_RSD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Serbian dinar',
            ),
            self::CODE_RUB => array(
                'code' => self::CODE_RUB,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Russian rouble',
            ),
            self::CODE_RWF => array(
                'code' => self::CODE_RWF,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Rwandan franc',
            ),
            self::CODE_SAR => array(
                'code' => self::CODE_SAR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Saudi riyal',
            ),
            self::CODE_SBD => array(
                'code' => self::CODE_SBD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Solomon Islands dollar',
            ),
            self::CODE_SCR => array(
                'code' => self::CODE_SCR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Seychelles rupee',
            ),
            self::CODE_SDG => array(
                'code' => self::CODE_SDG,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Sudanese pound',
            ),
            self::CODE_SEK => array(
                'code' => self::CODE_SEK,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Swedish krona/kronor',
            ),
            self::CODE_SGD => array(
                'code' => self::CODE_SGD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Singapore dollar',
            ),
            self::CODE_SHP => array(
                'code' => self::CODE_SHP,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Saint Helena pound',
            ),
            self::CODE_SLL => array(
                'code' => self::CODE_SLL,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Sierra Leonean leone',
            ),
            self::CODE_SOS => array(
                'code' => self::CODE_SOS,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Somali shilling',
            ),
            self::CODE_SRD => array(
                'code' => self::CODE_SRD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Surinamese dollar',
            ),
            self::CODE_SSP => array(
                'code' => self::CODE_SSP,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'South Sudanese pound',
            ),
            self::CODE_STD => array(
                'code' => self::CODE_STD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'São Tomé and Príncipe dobra',
            ),
            self::CODE_SYP => array(
                'code' => self::CODE_SYP,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Syrian pound',
            ),
            self::CODE_SZL => array(
                'code' => self::CODE_SZL,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Swazi lilangeni',
            ),
            self::CODE_THB => array(
                'code' => self::CODE_THB,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Thai baht',
            ),
            self::CODE_TJS => array(
                'code' => self::CODE_TJS,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Tajikistani somoni',
            ),
            self::CODE_TMT => array(
                'code' => self::CODE_TMT,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Turkmenistani manat',
            ),
            self::CODE_TND => array(
                'code' => self::CODE_TND,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 3,
                'name' => 'Tunisian dinar',
            ),
            self::CODE_TOP => array(
                'code' => self::CODE_TOP,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Tongan paʻanga',
            ),
            self::CODE_TRY => array(
                'code' => self::CODE_TRY,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Turkish lira',
            ),
            self::CODE_TTD => array(
                'code' => self::CODE_TTD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Trinidad and Tobago dollar',
            ),
            self::CODE_TWD => array(
                'code' => self::CODE_TWD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'New Taiwan dollar',
            ),
            self::CODE_TZS => array(
                'code' => self::CODE_TZS,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Tanzanian shilling',
            ),
            self::CODE_UAH => array(
                'code' => self::CODE_UAH,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Ukrainian hryvnia',
            ),
            self::CODE_UGX => array(
                'code' => self::CODE_UGX,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Ugandan shilling',
            ),
            self::CODE_USD => array(
                'code' => self::CODE_USD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'United States dollar',
            ),
            self::CODE_USN => array(
                'code' => self::CODE_USN,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'United States dollar (next day) (funds code)',
            ),
            self::CODE_USS => array(
                'code' => self::CODE_USS,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'United States dollar (same day) (funds code) (one source[who?] claims it is no longer used, '
                          . 'but it is still on the ISO 4217-MA list)',
            ),
            self::CODE_UYI => array(
                'code' => self::CODE_UYI,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Uruguay Peso en Unidades Indexadas (URUIURUI) (funds code)',
            ),
            self::CODE_UYU => array(
                'code' => self::CODE_UYU,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Uruguayan peso',
            ),
            self::CODE_UZS => array(
                'code' => self::CODE_UZS,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Uzbekistan som',
            ),
            self::CODE_VEF => array(
                'code' => self::CODE_VEF,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Venezuelan bolívar fuerte',
            ),
            self::CODE_VND => array(
                'code' => self::CODE_VND,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Vietnamese đồng',
            ),
            self::CODE_VUV => array(
                'code' => self::CODE_VUV,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Vanuatu vatu',
            ),
            self::CODE_WST => array(
                'code' => self::CODE_WST,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Samoan tala',
            ),
            self::CODE_XAF => array(
                'code' => self::CODE_XAF,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'CFA franc BEAC',
            ),
            self::CODE_XAG => array(
                'code' => self::CODE_XAG,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Silver (one troy ounce)',
            ),
            self::CODE_XAU => array(
                'code' => self::CODE_XAU,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Gold (one troy ounce)',
            ),
            self::CODE_XBA => array(
                'code' => self::CODE_XBA,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'European Composite Unit (EURCO) (bond market unit)',
            ),
            self::CODE_XBB => array(
                'code' => self::CODE_XBB,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'European Monetary Unit (E.M.U.-6) (bond market unit)',
            ),
            self::CODE_XBC => array(
                'code' => self::CODE_XBC,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'European Unit of Account 9 (E.U.A.-9) (bond market unit)',
            ),
            self::CODE_XBD => array(
                'code' => self::CODE_XBD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'European Unit of Account 17 (E.U.A.-17) (bond market unit)',
            ),
            self::CODE_XCD => array(
                'code' => self::CODE_XCD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'East Caribbean dollar',
            ),
            self::CODE_XDR => array(
                'code' => self::CODE_XDR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Special drawing rights',
            ),
            self::CODE_XFU => array(
                'code' => self::CODE_XFU,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'UIC franc (special settlement currency)',
            ),
            self::CODE_XOF => array(
                'code' => self::CODE_XOF,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'CFA Franc BCEAO',
            ),
            self::CODE_XPD => array(
                'code' => self::CODE_XPD,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Palladium (one troy ounce)',
            ),
            self::CODE_XPF => array(
                'code' => self::CODE_XPF,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'CFP franc',
            ),
            self::CODE_XPT => array(
                'code' => self::CODE_XPT,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Platinum (one troy ounce)',
            ),
            self::CODE_XTS => array(
                'code' => self::CODE_XTS,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'Code reserved for testing purposes',
            ),
            self::CODE_XXX => array(
                'code' => self::CODE_XXX,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 0,
                'name' => 'No currency',
            ),
            self::CODE_YER => array(
                'code' => self::CODE_YER,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Yemeni rial',
            ),
            self::CODE_ZAR => array(
                'code' => self::CODE_ZAR,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'South African rand',
            ),
            self::CODE_ZMK => array(
                'code' => self::CODE_ZMK,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Zambian kwacha',
            ),
            self::CODE_ZWL => array(
                'code' => self::CODE_ZWL,
                'isoStatus' => self::ISO_STATUS_ACTIVE,
                'decimalDigits' => 2,
                'name' => 'Zimbabwe dollar',
            )
        );
    }
1235578
private function getIndivdualChartData(): array
    {
        // Count how many people have events in each country
        $surn_countries = [];
        $a_countries    = $this->placeRepository->statsPlaces('INDI');

        // webtrees uses 3 letter country codes and localised country names, but google uses 2 letter codes.
        foreach ($a_countries as $place) {
            // Consolidate places (Germany, DEU => DE)
            if (array_key_exists($place->country, $this->country_to_iso3166)) {
                $country_code = $this->country_to_iso3166[$place->country];

                if (array_key_exists($country_code, $surn_countries)) {
                    $surn_countries[$country_code] += $place->tot;
                } else {
                    $surn_countries[$country_code] = $place->tot;
                }
            }
        }

        return $this->createChartData($surn_countries);
    }
949933
function getLanguageCode() {
    global $order;
    $lang_code = '';
    $orderISO = zen_get_countries($order->customer['country']['id'], true);
    $storeISO = zen_get_countries(STORE_COUNTRY, true);
    if (in_array(strtoupper($orderISO['countries_iso_code_2']), array('US', 'AU', 'DE', 'FR', 'IT', 'GB', 'ES', 'AT', 'BE', 'CA', 'CH', 'CN', 'NL', 'PL'))) {
      $lang_code = strtoupper($orderISO['countries_iso_code_2']);
    } elseif (in_array(strtoupper($storeISO['countries_iso_code_2']), array('US', 'AU', 'DE', 'FR', 'IT', 'GB', 'ES', 'AT', 'BE', 'CA', 'CH', 'CN', 'NL', 'PL'))) {
      $lang_code = strtoupper($storeISO['countries_iso_code_2']);
    }
    else
    if (in_array(strtoupper($_SESSION['languages_code']), array('EN', 'US', 'AU', 'DE', 'FR', 'IT', 'GB', 'ES', 'AT', 'BE', 'CA', 'CH', 'CN', 'NL', 'PL'))) {
      $lang_code = $_SESSION['languages_code'];
    }
    if (strtoupper($lang_code) == 'EN') $lang_code = 'US';
    return strtoupper($lang_code);
  }
1291511
protected function getGeoCodeData()
    {
        $result = [];
        foreach ($this->userLocations as $data) {
            $result[] = [
                'country' => ArrayHelper::getValue($data['location'], 'country'),
                'address' => implode(',', ArrayHelper::getValue($data, 'location')),
                'htmlContent' => ArrayHelper::getValue($data, 'htmlContent'),
            ];
        }

        return $result;
    }
311924
public static function getNameMap(): array
    {
        if (self::$nameMap === null) {
            self::$nameMap = [];
            $countries     = self::getLoader()->all();

            foreach ($countries as $country) {
                self::$nameMap[$country['alpha2']] = $country['name'];
            }

            self::$alpha2CodeMap = array_flip(self::$nameMap);
        }

        return self::$nameMap;
    }
1087828
public function getCountriesArray()
    {
        $return = json_decode($this->Country);

        if (empty($return) && isset($this->Country)) {
            $return = [$this->Country];
        }

        return $return;
    }
205225
public function getCurrenciesForCountry(string $countryCode) : array
    {
        if ($this->countryToCurrency === null) {
            $this->countryToCurrency = require __DIR__ . '/../data/country-to-currency.php';
        }

        $result = [];

        if (isset($this->countryToCurrency[$countryCode])) {
            foreach ($this->countryToCurrency[$countryCode] as $currencyCode) {
                $result[] = $this->getCurrency($currencyCode);
            }
        }

        return $result;
    }
713619
public static function getCodesByNames($names=array())
	{
		if (!($gdb = self::getGeoDBO()))
		{
			return array();
		}

		$names = array_map('strtolower', $names);
		foreach ($names as $k => $name)
		{
			$names[$k] = $gdb->quote($name);
		}

		$gdb->setQuery("SELECT DISTINCT name, code FROM countries WHERE LOWER(name) IN (" . implode(",", $names) . ")");
		$values = $gdb->loadAssocList('name');
		if (!is_array($values))
		{
			$values = array();
		}
		return $values;
	}