Localized version of CFormatter

You are viewing revision #1 of this wiki article.
This version may not be up to date with the latest version.
You may want to view the differences to the latest version.

next (#2) »

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.

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'=>'.');
				$this->booleanFormat = array('Nee', 'Ja');
			break;
			// Add more language cases according to your needs        
		}
	}
}

And set the following in your config/main.php

'components' => array(
    (...)
    'format' => array(
        'class' => 'LocalizedFormatter',
    ),
    (...)
),
2 0
5 followers
Viewed: 6 007 times
Version: Unknown (update)
Category: How-tos
Written by: marcovtwout
Last updated by: marcovtwout
Created on: Oct 26, 2012
Last updated: 4 years ago
Update Article

Revisions

View all history