Difference between #1 and #2 of Localized version of CFormatter

unchanged
Title
Localized version of CFormatter
unchanged
Category
How-tos
unchanged
Tags
cformatter localized locale
changed
Content
The default CFormatter (accessible through Yii::app()->format) is not locale
aware, unfortunately. Until it is, here is a quick and easy way to localize it,
by extending the default class.

Put this file in your protected/components.

~~~
[php]
class LocalizedFormatter extends CFormatter
{
	/**
	 * Initializes this class.
	 */
	public function init()
	{
		switch (Yii::app()->language) {
			case 'nl':
				$this->dateFormat = 'd-m-Y';
				$this->timeFormat = 'H:i:s';
				$this->datetimeFormat = 'd-m-Y H:i:s';
				$this->numberFormat = array(
					'decimals'=>null,
					'decimalSeparator'=>',',
					'thousandSeparator'=>'.'
				);array('decimals'=>null, 'decimalSeparator'=>',',
'thousandSeparator'=>'.');
				$this->booleanFormat = array('Nee', 'Ja');
				break;			break;
			// Add more language cases according to your needs        
		}
	}
}
~~~

And set the following in your config/main.php

~~~
[php]
'components' => array(
    (...)
    'format' => array(
        'class' => 'LocalizedFormatter',
    ),
    (...)
),
~~~




Write new article