Localized version of CFormatter

  1. Update!
  2. Original article


Since Yii 1.1.14, a CLocalizedFormatter is available.

To replace the application component 'format', which is registered by CApplication by default, you can put this in your application 'components' config:

'format' => array('class' => 'CLocalizedFormatter'),

Original article

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(
				$this->booleanFormat = array('Nee', 'Ja');
			// 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
Viewed: 7 574 times
Version: 1.1
Category: How-tos
Written by: marcovtwout
Last updated by: marcovtwout
Created on: Oct 26, 2012
Last updated: 6 years ago
Update Article


View all history