/** * @param Currency $currency * @param string|null $locale * @return string */ public static function getCurrencySymbol(Currency $currency, $locale = null) { $locale = null === $locale ? \Yii::$app->language : $locale; $result = ''; try { $fake = $locale . '@currency=' . $currency->iso_code; $fmt = new \NumberFormatter($fake, \NumberFormatter::CURRENCY); $result = $fmt->getSymbol(\NumberFormatter::CURRENCY_SYMBOL); } catch (\Exception $e) { $result = preg_replace('%[\\d\\s,]%i', '', $currency->format(0)); } return $result; }