2014-01-19 4 views
0

Я хочу сделать что-то вроде этого:Получить текущий валютный символ

<?php echo $currency_symbol.$value ?>

Я хочу, чтобы Yii автоматически изменить $currency_symbol от к $. Например, в функции текущего идентификатора языка (язык). Итак, если у текущего пользователя есть идентификатор локали, такой как it_it, код валюты будет EUR и символ . В случае идентификатора локали, такого как en_us, код валюты будет USD и символ $.

Возможно ли это?

Я пытался это сделать, но единственным способом являются:

Yii::app()->getNumberFormatter()->formatCurrency('100','EUR'); CLocale::getInstance($language)->getCurrencySymbol('EUR');

В каждой ситуации я вынужден установить EUR вручную. Я не хочу этого делать, потому что, если я изменю язык, Yii не будет автоматически «переводить» символ.

ответ

0

Функция localeconv возвращает массив значений, включая символ валюты текущего локального значения.

Так что вы могли бы сделать что-то вроде

$locale = localeconv(); 
$currency_symbol = $locale['currency_symbol'] 

Вам нужно будет использовать setLocale() вручную всякий раз, когда вы хотите изменить языковые настройки/валюту, но это должно работать для перевода на основе локали пользователя.

Смежные вопросы