'د.إ', 'AFN' => '؋', 'ALL' => 'L', 'AMD' => 'AMD', 'ANG' => 'ƒ', 'AOA' => 'Kz', 'ARS' => '$', 'AUD' => '$', 'AWG' => 'Afl.', 'AZN' => '₼', 'BAM' => 'KM', 'BBD' => '$', 'BDT' => '৳ ', 'BGN' => 'лв.', 'BHD' => '.د.ب', 'BIF' => 'Fr', 'BMD' => '$', 'BND' => '$', 'BOB' => 'Bs.', 'BRL' => 'R$', 'BSD' => '$', 'BTC' => '฿', 'BTN' => 'Nu.', 'BWP' => 'P', 'BYR' => 'Br', 'BYN' => 'Br', 'BZD' => '$', 'CAD' => '$', 'CDF' => 'Fr', 'CHF' => 'CHF', 'CLP' => '$', 'CNY' => '¥', 'COP' => '$', 'CRC' => '₡', 'CUC' => '$', 'CUP' => '$', 'CVE' => '$', 'CZK' => 'Kč', 'DJF' => 'Fr', 'DKK' => 'kr.', 'DOP' => 'RD$', 'DZD' => 'د.ج', 'EGP' => 'EGP', 'ERN' => 'Nfk', 'ETB' => 'Br', 'EUR' => '€', 'FJD' => '$', 'FKP' => '£', 'GBP' => '£', 'GEL' => '₾', 'GGP' => '£', 'GHS' => '₵', 'GIP' => '£', 'GMD' => 'D', 'GNF' => 'Fr', 'GTQ' => 'Q', 'GYD' => '$', 'HKD' => '$', 'HNL' => 'L', 'HRK' => 'kn', 'HTG' => 'G', 'HUF' => 'Ft', 'IDR' => 'Rp', 'ILS' => '₪', 'IMP' => '£', 'INR' => '₹', 'IQD' => 'د.ع', 'IRR' => '﷼', 'IRT' => 'تومان', 'ISK' => 'kr.', 'JEP' => '£', 'JMD' => '$', 'JOD' => 'د.ا', 'JPY' => '¥', 'KES' => 'KSh', 'KGS' => 'сом', 'KHR' => '៛', 'KMF' => 'Fr', 'KPW' => '₩', 'KRW' => '₩', 'KWD' => 'د.ك', 'KYD' => '$', 'KZT' => '₸', 'LAK' => '₭', 'LBP' => 'ل.ل', 'LKR' => 'රු', 'LRD' => '$', 'LSL' => 'L', 'LYD' => 'د.ل', 'MAD' => 'د.م.', 'MDL' => 'MDL', 'MGA' => 'Ar', 'MKD' => 'ден', 'MMK' => 'Ks', 'MNT' => '₮', 'MOP' => 'P', 'MRU' => 'UM', 'MUR' => '₨', 'MVR' => '.ރ', 'MWK' => 'MK', 'MXN' => '$', 'MYR' => 'RM', 'MZN' => 'MT', 'NAD' => 'N$', 'NGN' => '₦', 'NIO' => 'C$', 'NOK' => 'kr', 'NPR' => '₨', 'NZD' => '$', 'OMR' => 'ر.ع.', 'PAB' => 'B/.', 'PEN' => 'S/', 'PGK' => 'K', 'PHP' => '₱', 'PKR' => '₨', 'PLN' => 'zł', 'PRB' => 'р.', 'PYG' => '₲', 'QAR' => 'ر.ق', 'RMB' => '¥', 'RON' => 'lei', 'RSD' => 'рсд', 'RUB' => '₽', 'RWF' => 'Fr', 'SAR' => 'ر.س', 'SBD' => '$', 'SCR' => '₨', 'SDG' => 'ج.س.', 'SEK' => 'kr', 'SGD' => '$', 'SHP' => '£', 'SLL' => 'Le', 'SOS' => 'Sh', 'SRD' => '$', 'SSP' => '£', 'STN' => 'Db', 'SYP' => 'ل.س', 'SZL' => 'E', 'THB' => '฿', 'TJS' => 'ЅМ', 'TMT' => 'm', 'TND' => 'د.ت', 'TOP' => 'T$', 'TRY' => '₺', 'TTD' => '$', 'TWD' => 'NT$', 'TZS' => 'Sh', 'UAH' => '₴', 'UGX' => 'UGX', 'USD' => '$', 'UYU' => '$', 'UZS' => 'UZS', 'VEF' => 'Bs F', 'VES' => 'Bs.', 'VND' => '₫', 'VUV' => 'Vt', 'WST' => 'T', 'XAF' => 'CFA', 'XCD' => '$', 'XOF' => 'CFA', 'XPF' => 'XPF', 'YER' => '﷼', 'ZAR' => 'R', 'ZMW' => 'ZK', ]; public static function get_currency_symbols(): array { return apply_filters( 'storeengine/currency_symbols', self::$currency_symbols ); } /** * Get Currency symbol. * * Currency symbols and names should follow the Unicode CLDR recommendation (https://cldr.unicode.org/translation/currency-names-and-symbols) * * @param string $currency Currency. (default: ''). * * @return string */ public static function get_currency_symbol( string $currency = '' ): string { if ( ! $currency ) { $currency = Formatting::get_currency(); } $symbols = self::get_currency_symbols(); $symbol = $currency ? ( $symbols[ $currency ] ?? '' ) : ''; return apply_filters( 'storeengine/currency_symbol', $symbol, $currency ); } /** * Get full list of currency codes. * * Currency symbols and names should follow the Unicode CLDR recommendation (https://cldr.unicode.org/translation/currency-names-and-symbols) * * @return array */ public static function get_currencies(): array { static $currencies; if ( ! isset( $currencies ) ) { $currencies = array_unique( apply_filters( 'storeengine/currencies', [ 'AED' => __( 'United Arab Emirates dirham', 'storeengine' ), 'AFN' => __( 'Afghan afghani', 'storeengine' ), 'ALL' => __( 'Albanian lek', 'storeengine' ), 'AMD' => __( 'Armenian dram', 'storeengine' ), 'ANG' => __( 'Netherlands Antillean guilder', 'storeengine' ), 'AOA' => __( 'Angolan kwanza', 'storeengine' ), 'ARS' => __( 'Argentine peso', 'storeengine' ), 'AUD' => __( 'Australian dollar', 'storeengine' ), 'AWG' => __( 'Aruban florin', 'storeengine' ), 'AZN' => __( 'Azerbaijani manat', 'storeengine' ), 'BAM' => __( 'Bosnia and Herzegovina convertible mark', 'storeengine' ), 'BBD' => __( 'Barbadian dollar', 'storeengine' ), 'BDT' => __( 'Bangladeshi taka', 'storeengine' ), 'BGN' => __( 'Bulgarian lev', 'storeengine' ), 'BHD' => __( 'Bahraini dinar', 'storeengine' ), 'BIF' => __( 'Burundian franc', 'storeengine' ), 'BMD' => __( 'Bermudian dollar', 'storeengine' ), 'BND' => __( 'Brunei dollar', 'storeengine' ), 'BOB' => __( 'Bolivian boliviano', 'storeengine' ), 'BRL' => __( 'Brazilian real', 'storeengine' ), 'BSD' => __( 'Bahamian dollar', 'storeengine' ), 'BTC' => __( 'Bitcoin', 'storeengine' ), 'BTN' => __( 'Bhutanese ngultrum', 'storeengine' ), 'BWP' => __( 'Botswana pula', 'storeengine' ), 'BYR' => __( 'Belarusian ruble (old)', 'storeengine' ), 'BYN' => __( 'Belarusian ruble', 'storeengine' ), 'BZD' => __( 'Belize dollar', 'storeengine' ), 'CAD' => __( 'Canadian dollar', 'storeengine' ), 'CDF' => __( 'Congolese franc', 'storeengine' ), 'CHF' => __( 'Swiss franc', 'storeengine' ), 'CLP' => __( 'Chilean peso', 'storeengine' ), 'CNY' => __( 'Chinese yuan', 'storeengine' ), 'COP' => __( 'Colombian peso', 'storeengine' ), 'CRC' => __( 'Costa Rican colón', 'storeengine' ), 'CUC' => __( 'Cuban convertible peso', 'storeengine' ), 'CUP' => __( 'Cuban peso', 'storeengine' ), 'CVE' => __( 'Cape Verdean escudo', 'storeengine' ), 'CZK' => __( 'Czech koruna', 'storeengine' ), 'DJF' => __( 'Djiboutian franc', 'storeengine' ), 'DKK' => __( 'Danish krone', 'storeengine' ), 'DOP' => __( 'Dominican peso', 'storeengine' ), 'DZD' => __( 'Algerian dinar', 'storeengine' ), 'EGP' => __( 'Egyptian pound', 'storeengine' ), 'ERN' => __( 'Eritrean nakfa', 'storeengine' ), 'ETB' => __( 'Ethiopian birr', 'storeengine' ), 'EUR' => __( 'Euro', 'storeengine' ), 'FJD' => __( 'Fijian dollar', 'storeengine' ), 'FKP' => __( 'Falkland Islands pound', 'storeengine' ), 'GBP' => __( 'Pound sterling', 'storeengine' ), 'GEL' => __( 'Georgian lari', 'storeengine' ), 'GGP' => __( 'Guernsey pound', 'storeengine' ), 'GHS' => __( 'Ghana cedi', 'storeengine' ), 'GIP' => __( 'Gibraltar pound', 'storeengine' ), 'GMD' => __( 'Gambian dalasi', 'storeengine' ), 'GNF' => __( 'Guinean franc', 'storeengine' ), 'GTQ' => __( 'Guatemalan quetzal', 'storeengine' ), 'GYD' => __( 'Guyanese dollar', 'storeengine' ), 'HKD' => __( 'Hong Kong dollar', 'storeengine' ), 'HNL' => __( 'Honduran lempira', 'storeengine' ), 'HRK' => __( 'Croatian kuna', 'storeengine' ), 'HTG' => __( 'Haitian gourde', 'storeengine' ), 'HUF' => __( 'Hungarian forint', 'storeengine' ), 'IDR' => __( 'Indonesian rupiah', 'storeengine' ), 'ILS' => __( 'Israeli new shekel', 'storeengine' ), 'IMP' => __( 'Manx pound', 'storeengine' ), 'INR' => __( 'Indian rupee', 'storeengine' ), 'IQD' => __( 'Iraqi dinar', 'storeengine' ), 'IRR' => __( 'Iranian rial', 'storeengine' ), 'IRT' => __( 'Iranian toman', 'storeengine' ), 'ISK' => __( 'Icelandic króna', 'storeengine' ), 'JEP' => __( 'Jersey pound', 'storeengine' ), 'JMD' => __( 'Jamaican dollar', 'storeengine' ), 'JOD' => __( 'Jordanian dinar', 'storeengine' ), 'JPY' => __( 'Japanese yen', 'storeengine' ), 'KES' => __( 'Kenyan shilling', 'storeengine' ), 'KGS' => __( 'Kyrgyzstani som', 'storeengine' ), 'KHR' => __( 'Cambodian riel', 'storeengine' ), 'KMF' => __( 'Comorian franc', 'storeengine' ), 'KPW' => __( 'North Korean won', 'storeengine' ), 'KRW' => __( 'South Korean won', 'storeengine' ), 'KWD' => __( 'Kuwaiti dinar', 'storeengine' ), 'KYD' => __( 'Cayman Islands dollar', 'storeengine' ), 'KZT' => __( 'Kazakhstani tenge', 'storeengine' ), 'LAK' => __( 'Lao kip', 'storeengine' ), 'LBP' => __( 'Lebanese pound', 'storeengine' ), 'LKR' => __( 'Sri Lankan rupee', 'storeengine' ), 'LRD' => __( 'Liberian dollar', 'storeengine' ), 'LSL' => __( 'Lesotho loti', 'storeengine' ), 'LYD' => __( 'Libyan dinar', 'storeengine' ), 'MAD' => __( 'Moroccan dirham', 'storeengine' ), 'MDL' => __( 'Moldovan leu', 'storeengine' ), 'MGA' => __( 'Malagasy ariary', 'storeengine' ), 'MKD' => __( 'Macedonian denar', 'storeengine' ), 'MMK' => __( 'Burmese kyat', 'storeengine' ), 'MNT' => __( 'Mongolian tögrög', 'storeengine' ), 'MOP' => __( 'Macanese pataca', 'storeengine' ), 'MRU' => __( 'Mauritanian ouguiya', 'storeengine' ), 'MUR' => __( 'Mauritian rupee', 'storeengine' ), 'MVR' => __( 'Maldivian rufiyaa', 'storeengine' ), 'MWK' => __( 'Malawian kwacha', 'storeengine' ), 'MXN' => __( 'Mexican peso', 'storeengine' ), 'MYR' => __( 'Malaysian ringgit', 'storeengine' ), 'MZN' => __( 'Mozambican metical', 'storeengine' ), 'NAD' => __( 'Namibian dollar', 'storeengine' ), 'NGN' => __( 'Nigerian naira', 'storeengine' ), 'NIO' => __( 'Nicaraguan córdoba', 'storeengine' ), 'NOK' => __( 'Norwegian krone', 'storeengine' ), 'NPR' => __( 'Nepalese rupee', 'storeengine' ), 'NZD' => __( 'New Zealand dollar', 'storeengine' ), 'OMR' => __( 'Omani rial', 'storeengine' ), 'PAB' => __( 'Panamanian balboa', 'storeengine' ), 'PEN' => __( 'Sol', 'storeengine' ), 'PGK' => __( 'Papua New Guinean kina', 'storeengine' ), 'PHP' => __( 'Philippine peso', 'storeengine' ), 'PKR' => __( 'Pakistani rupee', 'storeengine' ), 'PLN' => __( 'Polish złoty', 'storeengine' ), 'PRB' => __( 'Transnistrian ruble', 'storeengine' ), 'PYG' => __( 'Paraguayan guaraní', 'storeengine' ), 'QAR' => __( 'Qatari riyal', 'storeengine' ), 'RON' => __( 'Romanian leu', 'storeengine' ), 'RSD' => __( 'Serbian dinar', 'storeengine' ), 'RUB' => __( 'Russian ruble', 'storeengine' ), 'RWF' => __( 'Rwandan franc', 'storeengine' ), 'SAR' => __( 'Saudi riyal', 'storeengine' ), 'SBD' => __( 'Solomon Islands dollar', 'storeengine' ), 'SCR' => __( 'Seychellois rupee', 'storeengine' ), 'SDG' => __( 'Sudanese pound', 'storeengine' ), 'SEK' => __( 'Swedish krona', 'storeengine' ), 'SGD' => __( 'Singapore dollar', 'storeengine' ), 'SHP' => __( 'Saint Helena pound', 'storeengine' ), 'SLL' => __( 'Sierra Leonean leone', 'storeengine' ), 'SOS' => __( 'Somali shilling', 'storeengine' ), 'SRD' => __( 'Surinamese dollar', 'storeengine' ), 'SSP' => __( 'South Sudanese pound', 'storeengine' ), 'STN' => __( 'São Tomé and Príncipe dobra', 'storeengine' ), 'SYP' => __( 'Syrian pound', 'storeengine' ), 'SZL' => __( 'Swazi lilangeni', 'storeengine' ), 'THB' => __( 'Thai baht', 'storeengine' ), 'TJS' => __( 'Tajikistani somoni', 'storeengine' ), 'TMT' => __( 'Turkmenistan manat', 'storeengine' ), 'TND' => __( 'Tunisian dinar', 'storeengine' ), 'TOP' => __( 'Tongan paʻanga', 'storeengine' ), 'TRY' => __( 'Turkish lira', 'storeengine' ), 'TTD' => __( 'Trinidad and Tobago dollar', 'storeengine' ), 'TWD' => __( 'New Taiwan dollar', 'storeengine' ), 'TZS' => __( 'Tanzanian shilling', 'storeengine' ), 'UAH' => __( 'Ukrainian hryvnia', 'storeengine' ), 'UGX' => __( 'Ugandan shilling', 'storeengine' ), 'USD' => __( 'United States (US) dollar', 'storeengine' ), 'UYU' => __( 'Uruguayan peso', 'storeengine' ), 'UZS' => __( 'Uzbekistani som', 'storeengine' ), 'VEF' => __( 'Venezuelan bolívar (2008–2018)', 'storeengine' ), 'VES' => __( 'Venezuelan bolívar', 'storeengine' ), 'VND' => __( 'Vietnamese đồng', 'storeengine' ), 'VUV' => __( 'Vanuatu vatu', 'storeengine' ), 'WST' => __( 'Samoan tālā', 'storeengine' ), 'XAF' => __( 'Central African CFA franc', 'storeengine' ), 'XCD' => __( 'East Caribbean dollar', 'storeengine' ), 'XOF' => __( 'West African CFA franc', 'storeengine' ), 'XPF' => __( 'CFP franc', 'storeengine' ), 'YER' => __( 'Yemeni rial', 'storeengine' ), 'ZAR' => __( 'South African rand', 'storeengine' ), 'ZMW' => __( 'Zambian kwacha', 'storeengine' ), ] ) ); } return $currencies; } /** * @return array * @deprecated Use individual utility methods. */ public static function get_currency_options(): array { return apply_filters( 'storeengine/currency_options', [ 'currency' => Formatting::get_currency(), 'currency_position' => Formatting::get_currency_position(), 'currency_thousand_separator' => Formatting::get_price_thousand_separator(), 'currency_decimal_separator' => Formatting::get_price_decimal_separator(), 'currency_decimal_limit' => Formatting::get_price_decimals(), 'rounding_precision' => Formatting::get_rounding_precision(), 'currency_symbol' => self::get_currency_symbol( Formatting::get_currency() ), ] ); } /** * Get Base Currency Code. * * @return string * * @deprecated */ public static function get_currency(): string { return Formatting::get_currency(); } /** * @param string|float|int $price * @param array $args * * @return string * @deprecated * @use \StoreEngine\Utils\Formatting::price() * */ public static function currency_format( $price, array $args = [] ): string { if ( ! isset( $price ) ) { return ''; } $currency_options = self::get_currency_options(); $currency_symbol = $currency_options['currency_symbol']; $currency_position = $currency_options['currency_position']; $price = number_format( (float) $price, $currency_options['currency_decimal_limit'], $currency_options['currency_decimal_separator'], $currency_options['currency_thousand_separator'] ); return 'left' === $currency_position ? $currency_symbol . $price : $price . $currency_symbol; } }