code:
<?php
/**
 * CLinkColumn class file.
 *
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

Yii::import('zii.widgets.grid.CGridColumn');

/**
 * CLinkColumn represents a grid view column that renders a hyperlink in each of its data cells.
 *
 * The {@link label} and {@link url} properties determine how each hyperlink will be rendered.
 * The {@link labelExpression}, {@link urlExpression} properties may be used instead if they are available.
 * In addition, if {@link imageUrl} is set, an image link will be rendered.
 *
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @version $Id$
 * @package zii.widgets.grid
 * @since 1.1
 */
class CLinkColumn extends CGridColumn
{
	/**
	 * @var string the label to the hyperlinks in the data cells. Note that the label will not
	 * be HTML-encoded when rendering. This property is ignored if {@link labelExpression} is set.
	 * @see labelExpression
	 */
	public $label='Link';
	/**
	 * @var string a PHP expression that will be evaluated for every data cell and whose result will be rendered
	 * as the label of the hyperlink of the data cells. In this expression, the variable
	 * $row the row number (zero-based); $data the data model for the row;
	 * and $this the column object.
	 */
	public $labelExpression;
	/**
	 * @var string the URL to the image. If this is set, an image link will be rendered.
	 */
	public $imageUrl;
	/**
	 * @var string the URL of the hyperlinks in the data cells.
	 * This property is ignored if {@link urlExpression} is set.
	 * @see urlExpression
	 */
	public $url='javascript:void(0)';
	/**
	 * @var string a PHP expression that will be evaluated for every data cell and whose result will be rendered
	 * as the URL of the hyperlink of the data cells. In this expression, the variable
	 * $row the row number (zero-based); $data the data model for the row;
	 * and $this the column object.
	 */
	public $urlExpression;
	/**
	 * @var array the HTML options for the data cell tags.
	 */
	public $htmlOptions=array('class'=>'link-column');
	/**
	 * @var array the HTML options for the header cell tag.
	 */
	public $headerHtmlOptions=array('class'=>'link-column');
	/**
	 * @var array the HTML options for the footer cell tag.
	 */
	public $footerHtmlOptions=array('class'=>'link-column');
	/**
	 * @var array the HTML options for the hyperlinks
	 */
	public $linkHtmlOptions=array();

	/**
	 * Renders the data cell content.
	 * This method renders a hyperlink in the data cell.
	 * @param integer $row the row number (zero-based)
	 * @param mixed $data the data associated with the row
	 */
	protected function renderDataCellContent($row,$data)
	{
		if($this->urlExpression!==null)
			$url=$this->evaluateExpression($this->urlExpression,array('data'=>$data,'row'=>$row));
		else
			$url=$this->url;
		if($this->labelExpression!==null)
			$label=$this->evaluateExpression($this->labelExpression,array('data'=>$data,'row'=>$row));
		else
			$label=$this->label;
		$options=$this->linkHtmlOptions;
		if(is_string($this->imageUrl))
			echo CHtml::link(CHtml::image($this->imageUrl,$label),$url,$options);
		else
			echo CHtml::link($label,$url,$options);
	}
}

repo_name: DaSourcerer/yii

license: mit


code:
<?php
/**
 * CJuiAccordion class file.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @author Qiang XUe <qiang.xue@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

Yii::import('zii.widgets.jui.CJuiWidget');

/**
 * CJuiAccordion displays an accordion widget.
 *
 * CJuiAccordion encapsulates the {@link http://jqueryui.com/demos/accordion/ JUI Accordion}
 * plugin.
 *
 * To use this widget, you may insert the following code in a view:
 *

 * $this->widget('zii.widgets.jui.CJuiAccordion', array(
 *     'panels'=>array(
 *         'panel 1'=>'content for panel 1',
 *         'panel 2'=>'content for panel 2',
 *         // panel 3 contains the content rendered by a partial view
 *         'panel 3'=>$this->renderPartial('_partial',null,true),
 *     ),
 *     // additional javascript options for the accordion plugin
 *     'options'=>array(
 *         'animated'=>'bounceslide',
 *     ),
 * ));
 *

 *
 * By configuring the {@link options} property, you may specify the options
 * that need to be passed to the JUI accordion plugin. Please refer to
 * the {@link http://jqueryui.com/demos/accordion/ JUI Accordion} documentation
 * for possible options (name-value pairs).
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @author Qiang XUe <qiang.xue@gmail.com>
 * @version $Id$
 * @package zii.widgets.jui
 * @since 1.1
 */
class CJuiAccordion extends CJuiWidget
{
	/**
	 * @var array list of panels (panel title=>panel content).
	 * Note that neither panel title nor panel content will be HTML-encoded.
	 */
	public $panels=array();
	/**
	 * @var string the name of the container element that contains all panels. Defaults to 'div'.
	 */
	public $tagName='div';
	/**
	 * @var string the template that is used to generated every panel header.
	 * The token "{title}" in the template will be replaced with the panel title.
	 * Note that if you make change to this template, you may also need to adjust
	 * the 'header' setting in {@link options}.
	 */
	public $headerTemplate='
{title}
';
	/**
	 * @var string the template that is used to generated every panel content.
	 * The token "{content}" in the template will be replaced with the panel content.
	 */
	public $contentTemplate='
{content}
';

	/**
	 * Run this widget.
	 * This method registers necessary javascript and renders the needed HTML code.
	 */
	public function run()
	{
		$id=$this->getId();
		if (isset($this->htmlOptions['id']))
			$id = $this->htmlOptions['id'];
		else
			$this->htmlOptions['id']=$id;

		echo CHtml::openTag($this->tagName,$this->htmlOptions)."\n";
		foreach($this->panels as $title=>$content)
		{
			echo strtr($this->headerTemplate,array('{title}'=>$title))."\n";
			echo strtr($this->contentTemplate,array('{content}'=>$content))."\n";
		}
		echo CHtml::closeTag($this->tagName);

		$options=empty($this->options) ? '' : CJavaScript::encode($this->options);
		Yii::app()->getClientScript()->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').accordion($options);");
	}
}


code:
<?php
/**
 * CJuiAutoComplete class file.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

Yii::import('zii.widgets.jui.CJuiInputWidget');

/**
 * CJuiAutoComplete displays an autocomplete field.
 *
 * CJuiAutoComplete encapsulates the {@link http://jqueryui.com/demos/autocomplete/ JUI
 * autocomplete} plugin.
 *
 * To use this widget, you may insert the following code in a view:
 *

 * $this->widget('zii.widgets.jui.CJuiAutoComplete', array(
 *     'name'=>'city',
 *     'source'=>array('ac1', 'ac2', 'ac3'),
 *     // additional javascript options for the autocomplete plugin
 *     'options'=>array(
 *         'minLength'=>'2',
 *     ),
 *     'htmlOptions'=>array(
 *         'style'=>'height:20px;'
 *     ),
 * ));
 *

 *
 * By configuring the {@link options} property, you may specify the options
 * that need to be passed to the JUI autocomplete plugin. Please refer to
 * the {@link http://jqueryui.com/demos/autocomplete/ JUI
 * autocomplete} documentation for possible options (name-value pairs).
 *
 * By configuring the {@link source} property, you may specify where to search
 * the autocomplete options for each item. If source is an array, the list is
 * used for autocomplete. You may also configure {@link sourceUrl} to retrieve
 * autocomplete items from an ajax response.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @version $Id$
 * @package zii.widgets.jui
 * @since 1.1.2
 */
class CJuiAutoComplete extends CJuiInputWidget
{
	/**
	 * @var mixed the entries that the autocomplete should choose from. This can be
	 *

	 *
an Array with local data

     *
a String, specifying a URL that returns JSON data as the entries.

     *
a javascript callback. Please make sure you prefix the callback name with "js:" in this case.

     *

	 */
	public $source = array();
	/**
	 * @var mixed the URL that will return JSON data as the autocomplete items.
	 * CHtml::normalizeUrl() will be applied to this property to convert the property
	 * into a proper URL. When this property is set, the {@link source} property will be ignored.
	 */
	public $sourceUrl;

	/**
	 * Run this widget.
	 * This method registers necessary javascript and renders the needed HTML code.
	 */
	public function run()
	{
		list($name,$id)=$this->resolveNameID();

		if(isset($this->htmlOptions['id']))
			$id=$this->htmlOptions['id'];
		else
			$this->htmlOptions['id']=$id;

		if(isset($this->htmlOptions['name']))
			$name=$this->htmlOptions['name'];

		if($this->hasModel())
			echo CHtml::activeTextField($this->model,$this->attribute,$this->htmlOptions);
		else
			echo CHtml::textField($name,$this->value,$this->htmlOptions);

		if($this->sourceUrl!==null)
			$this->options['source']=CHtml::normalizeUrl($this->sourceUrl);
		else
			$this->options['source']=$this->source;

		$options=CJavaScript::encode($this->options);

		$js = "jQuery('#{$id}').autocomplete($options);";

		$cs = Yii::app()->getClientScript();
		$cs->registerScript(__CLASS__.'#'.$id, $js);
	}
}


code:
<?php
/**
 * CJuiButton class file.
 *
 * @author Sebastian Thierer <sebas@artfos.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

Yii::import('zii.widgets.jui.CJuiInputWidget');

/**
 * CJuiButton displays a button widget.
 *
 * CJuiButton encapsulates the {@link http://jqueryui.com/demos/button/ JUI Button}
 * plugin.
 *
 * To use this widget as a submit button, you may insert the following code in a view:
 *

 * $this->widget('zii.widgets.jui.CJuiButton', array(
 * 		'name'=>'submit',
 * 		'caption'=>'Save',
 * 		'options'=>array(
 *         'onclick'=>'js:function(){alert("Yes");}',
 *     ),
 * ));
 *

 *
 * To use this widget as a button, you may insert the following code in a view:
 *

 * $this->widget('zii.widgets.jui.CJuiButton',
 *		array(
 *			'name'=>'button',
 * 			'caption'=>'Save',
 *			'value'=>'asd',
 *			'onclick'=>'js:function(){alert("Save button clicked"); this.blur(); return false;}',
 * 		)
 * );
 *

 *
 * By configuring the {@link options} property, you may specify the options
 * that need to be passed to the JUI button plugin. Please refer to
 * the {@link http://jqueryui.com/demos/button/ JUI Button} documentation
 * for possible options (name-value pairs).
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @version $Id$
 * @package zii.widgets.jui
 * @since 1.1.3
 */
class CJuiButton extends CJuiInputWidget
{
	/**
	 * @var string The button type (possible types: submit, button, link, radio, checkbox, buttonset).
	 * "submit" is used as default.
	 */
	public $buttonType = 'submit';

	/**
	 * @var string The default html tag for the buttonset
	 */
	public $htmlTag = 'div';
	/**
	 * @var string The url used when a buttonType "link" is selected.
	 */
	public $url = null;

	/**
	 * @var mixed The value of the current item. Used only for "radio" and "checkbox"
	 */
	public $value;

	/**
	 * @var string The button text
	 */
	public $caption="";
	/**
	 * @var string The javascript function to be raised when this item is clicked (client event).
	 */
	public $onclick;

	/**
	 * (non-PHPdoc)
	 * @see framework/zii/widgets/jui/CJuiWidget::init()
	 */
	public function init(){
		parent::init();
		if ($this->buttonType=='buttonset')
		{
			list($name,$id)=$this->resolveNameID();

			if(isset($this->htmlOptions['id']))
				$id=$this->htmlOptions['id'];
			else
				$this->htmlOptions['id']=$id;
			if(isset($this->htmlOptions['name']))
				$name=$this->htmlOptions['name'];
			else
				$this->htmlOptions['name']=$name;

			echo CHtml::openTag($this->htmlTag, $this->htmlOptions);
		}
	}

	/**
	 * (non-PHPdoc)
	 * @see framework/CWidget::run()
	 */
	public function run()
	{
		$cs = Yii::app()->getClientScript();
		list($name,$id)=$this->resolveNameID();

		if(isset($this->htmlOptions['id']))
			$id=$this->htmlOptions['id'];
		else
			$this->htmlOptions['id']=$id;
		if(isset($this->htmlOptions['name']))
			$name=$this->htmlOptions['name'];
		else
			$this->htmlOptions['name']=$name;

		if ($this->buttonType=='buttonset')
		{
			echo CHtml::closeTag($this->htmlTag);
			$cs->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').buttonset();");
		}
		else
		{
			switch($this->buttonType)
			{
				case 'submit':
					echo CHtml::submitButton($this->caption, $this->htmlOptions) . "\n";
					break;
				case 'button':
					echo CHtml::htmlButton($this->caption, $this->htmlOptions) . "\n";
					break;
				case 'link':
					echo CHtml::link($this->caption, $this->url, $this->htmlOptions) . "\n";
					break;
				case 'radio':
					if ($this->hasModel())
					{
						echo CHtml::activeRadioButton($this->model, $this->attribute, $this->htmlOptions);
						echo CHtml::label($this->caption, CHtml::activeId($this->model, $this->attribute)) . "\n";
					}
					else
					{
						echo CHtml::radioButton($name, $this->value, $this->htmlOptions);
						echo CHtml::label($this->caption, $id) . "\n";
					}
					break;
				case 'checkbox':
					if ($this->hasModel())
					{
						echo CHtml::activeCheckbox($this->model, $this->attribute, $this->htmlOptions);
						echo CHtml::label($this->caption, CHtml::activeId($this->model, $this->attribute)) . "\n";
					}
					else
					{
						echo CHtml::checkbox($name, $this->value, $this->htmlOptions);
						echo CHtml::label($this->caption, $id) . "\n";
					}
					break;
				default:
					throw new CException(Yii::t('zii','The button type "{type}" is not supported.',array('{type}'=>$this->buttonType)));
			}

			$options=empty($this->options) ? '' : CJavaScript::encode($this->options);
			if (isset($this->onclick))
			{
				if(strpos($this->onclick,'js:')!==0)
				$this->onclick='js:'.$this->onclick;
				$click = CJavaScript::encode($this->onclick);
				$cs->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').button($options).click($click);");
			}
			else
			{
				$cs->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').button($options);");
			}
		}
	}
}


code:
<?php
/**
 * CJuiDatePicker class file.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

Yii::import('zii.widgets.jui.CJuiInputWidget');

/**
 * CJuiDatePicker displays a datepicker.
 *
 * CJuiDatePicker encapsulates the {@link http://jqueryui.com/demos/datepicker/ JUI
 * datepicker} plugin.
 *
 * To use this widget, you may insert the following code in a view:
 * <pre>
 * $this->widget('zii.widgets.jui.CJuiDatePicker', array(
 *     'name'=>'publishDate',
 *     // additional javascript options for the date picker plugin
 *     'options'=>array(
 *         'showAnim'=>'fold',
 *     ),
 *     'htmlOptions'=>array(
 *         'style'=>'height:20px;'
 *     ),
 * ));
 * </pre>
 *
 * By configuring the {@link options} property, you may specify the options
 * that need to be passed to the JUI datepicker plugin. Please refer to
 * the {@link http://jqueryui.com/demos/datepicker/ JUI datepicker} documentation
 * for possible options (name-value pairs).
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @version $Id$
 * @package zii.widgets.jui
 * @since 1.1
 */
class CJuiDatePicker extends CJuiInputWidget
{
	/**
	 * @var string the locale ID (eg 'fr', 'de') for the language to be used by the date picker.
	 * If this property is not set, I18N will not be involved. That is, the date picker will show in English.
	 * You can force English language by setting the language attribute as '' (empty string)
	 */
	public $language;

	/**
	 * @var string The i18n Jquery UI script file. It uses scriptUrl property as base url.
	 */
	public $i18nScriptFile = 'jquery-ui-i18n.min.js';

	/**
	 * @var array The default options called just one time per request. This options will alter every other CJuiDatePicker instance in the page.
	 * It has to be set at the first call of CJuiDatePicker widget in the request.
	 */
	public $defaultOptions;

	/**
	 * @var boolean If true, shows the widget as an inline calendar and the input as a hidden field. Use the onSelect event to update the hidden field
	 */
	public $flat = false;

	/**
	 * Run this widget.
	 * This method registers necessary javascript and renders the needed HTML code.
	 */
	public function run()
	{

		list($name,$id)=$this->resolveNameID();

		if(isset($this->htmlOptions['id']))
			$id=$this->htmlOptions['id'];
		else
			$this->htmlOptions['id']=$id;
		if(isset($this->htmlOptions['name']))
			$name=$this->htmlOptions['name'];

		if ($this->flat===false)
		{
			if($this->hasModel())
				echo CHtml::activeTextField($this->model,$this->attribute,$this->htmlOptions);
			else
				echo CHtml::textField($name,$this->value,$this->htmlOptions);
		}
		else
		{
			if($this->hasModel())
			{
				echo CHtml::activeHiddenField($this->model,$this->attribute,$this->htmlOptions);
				$attribute = $this->attribute;
				$this->options['defaultDate'] = $this->model->$attribute;
			}
			else
			{
				echo CHtml::hiddenField($name,$this->value,$this->htmlOptions);
				$this->options['defaultDate'] = $this->value;
			}

			if (!isset($this->options['onSelect']))
				$this->options['onSelect']="js:function( selectedDate ) { jQuery('#{$id}').val(selectedDate);}";

			$id = $this->htmlOptions['id'] = $id.'_container';
			$this->htmlOptions['name'] = $name.'_container';

			echo CHtml::tag('div', $this->htmlOptions, '');
		}

		$options=CJavaScript::encode($this->options);
		$js = "jQuery('#{$id}').datepicker($options);";

		if ($this->language!='' && $this->language!='en')
		{
			$this->registerScriptFile($this->i18nScriptFile);
			$js = "jQuery('#{$id}').datepicker(jQuery.extend({showMonthAfterYear:false}, jQuery.datepicker.regional['{$this->language}'], {$options}));";
		}

		$cs = Yii::app()->getClientScript();

		if (isset($this->defaultOptions))
		{
			$this->registerScriptFile($this->i18nScriptFile);
			$cs->registerScript(__CLASS__, 	$this->defaultOptions!==null?'jQuery.datepicker.setDefaults('.CJavaScript::encode($this->defaultOptions).');':'');
		}
		$cs->registerScript(__CLASS__.'#'.$id, $js);

	}
}


code:
<?php
/**
 * CJuiDialog class file.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

Yii::import('zii.widgets.jui.CJuiWidget');

/**
 * CJuiDialog displays a dialog widget.
 *
 * CJuiDialog encapsulates the {@link http://jqueryui.com/demos/dialog/ JUI Dialog}
 * plugin.
 *
 * To use this widget, you may insert the following code in a view:
 * <pre>
 * $this->beginWidget('zii.widgets.jui.CJuiDialog', array(
 *     'id'=>'mydialog',
 *     // additional javascript options for the dialog plugin
 *     'options'=>array(
 *         'title'=>'Dialog box 1',
 *         'autoOpen'=>false,
 *     ),
 * ));
 *
 *     echo 'dialog content here';
 *
 * $this->endWidget('zii.widgets.jui.CJuiDialog');
 *
 * // the link that may open the dialog
 * echo CHtml::link('open dialog', '#', array(
 *    'onclick'=>'$("#mydialog").dialog("open"); return false;',
 * ));
 * </pre>
 *
 * By configuring the {@link options} property, you may specify the options
 * that need to be passed to the JUI dialog plugin. Please refer to
 * the {@link http://jqueryui.com/demos/dialog/ JUI Dialog} documentation
 * for possible options (name-value pairs).
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @version $Id$
 * @package zii.widgets.jui
 * @since 1.1
 */
class CJuiDialog extends CJuiWidget
{
	/**
	 * @var string the name of the container element that contains all panels. Defaults to 'div'.
	 */
	public $tagName='div';

	/**
	 * Renders the open tag of the dialog.
	 * This method also registers the necessary javascript code.
	 */
	public function init()
	{
		parent::init();

		$id=$this->getId();
		if (isset($this->htmlOptions['id']))
			$id = $this->htmlOptions['id'];
		else
			$this->htmlOptions['id']=$id;

		$options=empty($this->options) ? '' : CJavaScript::encode($this->options);
		Yii::app()->getClientScript()->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').dialog($options);");
		echo CHtml::openTag($this->tagName,$this->htmlOptions)."\n";
	}

	/**
	 * Renders the close tag of the dialog.
	 */
	public function run()
	{
		echo CHtml::closeTag($this->tagName);
	}
}


code:
<?php
/**
 * CJuiDraggable class file.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

Yii::import('zii.widgets.jui.CJuiWidget');

/**
 * CJuiDraggable displays a draggable widget.
 *
 * CJuiDraggable encapsulates the {@link http://jqueryui.com/demos/draggable/ JUI Draggable}
 * plugin.
 *
 * To use this widget, you may insert the following code in a view:
 * <pre>
 * $this->beginWidget('zii.widgets.jui.CJuiDraggable', array(
 *     // additional javascript options for the draggable plugin
 *     'options'=>array(
 *         'scope'=>'myScope',
 *     ),
 * ));
 *     echo 'Your draggable content here';
 *
 * $this->endWidget();
 *
 * </pre>
 *
 * By configuring the {@link options} property, you may specify the options
 * that need to be passed to the JUI Draggable plugin. Please refer to
 * the {@link http://jqueryui.com/demos/draggable/ JUI Draggable} documentation
 * for possible options (name-value pairs).
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @version $Id$
 * @package zii.widgets.jui
 * @since 1.1
 */
class CJuiDraggable extends CJuiWidget
{
	/**
	 * @var string the name of the Draggable element. Defaults to 'div'.
	 */
	public $tagName='div';

	/**
	 * Renders the open tag of the draggable element.
	 * This method also registers the necessary javascript code.
	 */
	public function init(){
		parent::init();

		$id=$this->getId();
		if (isset($this->htmlOptions['id']))
			$id = $this->htmlOptions['id'];
		else
			$this->htmlOptions['id']=$id;

		$options=empty($this->options) ? '' : CJavaScript::encode($this->options);
		Yii::app()->getClientScript()->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').draggable($options);");

		echo CHtml::openTag($this->tagName,$this->htmlOptions)."\n";
	}

	/**
	 * Renders the close tag of the draggable element.
	 */
	public function run(){
		echo CHtml::closeTag($this->tagName);
	}

}


code:
<?php
/**
 * CJuiDroppable class file.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

Yii::import('zii.widgets.jui.CJuiWidget');

/**
 * CJuiDroppable displays a droppable widget.
 *
 * CJuiDroppable encapsulates the {@link http://jqueryui.com/demos/droppable/ JUI Droppable}
 * plugin.
 *
 * To use this widget, you may insert the following code in a view:
 * <pre>
 * $this->beginWidget('zii.widgets.jui.CJuiDroppable', array(
 *     // additional javascript options for the droppable plugin
 *     'options'=>array(
 *         'scope'=>'myScope',
 *     ),
 * ));
 *     echo 'Your droppable content here';
 *
 * $this->endWidget();
 *
 * </pre>
 *
 * By configuring the {@link options} property, you may specify the options
 * that need to be passed to the JUI Droppable plugin. Please refer to
 * the {@link http://jqueryui.com/demos/droppable/ JUI Droppable} documentation
 * for possible options (name-value pairs).
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @version $Id$
 * @package zii.widgets.jui
 * @since 1.1
 */
class CJuiDroppable extends CJuiWidget
{
	/**
	 * @var string the HTML tag name of the Droppable element. Defaults to 'div'.
	 */
	public $tagName='div';

	/**
	 * Renders the open tag of the droppable element.
	 * This method also registers the necessary javascript code.
	 */
	public function init()
	{
		parent::init();
		$id=$this->getId();
		if (isset($this->htmlOptions['id']))
			$id = $this->htmlOptions['id'];
		else
			$this->htmlOptions['id']=$id;

		echo CHtml::openTag($this->tagName,$this->htmlOptions)."\n";

		$options=empty($this->options) ? '' : CJavaScript::encode($this->options);
		Yii::app()->getClientScript()->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').droppable($options);");
	}

	/**
	 * Renders the close tag of the droppable element.
	 */
	public function run(){
		echo CHtml::closeTag($this->tagName);
	}

}


code:
<?php
/**
 * CJuiInputWidget class file.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

Yii::import('zii.widgets.jui.CJuiWidget');

/**
 * CJuiInputWidget is the base class for JUI widgets that can collect user input.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @version $Id$
 * @package zii.widgets.jui
 * @since 1.1
 */
abstract class CJuiInputWidget extends CJuiWidget
{
	/**
	 * @var CModel the data model associated with this widget.
	 */
	public $model;
	/**
	 * @var string the attribute associated with this widget.
	 * The name can contain square brackets (e.g. 'name[1]') which is used to collect tabular data input.
	 */
	public $attribute;
	/**
	 * @var string the input name. This must be set if {@link model} is not set.
	 */
	public $name;
	/**
	 * @var string the input value
	 */
	public $value;

	/**
	 * @return array the name and the ID of the input.
	 */
	protected function resolveNameID()
	{
		if($this->name!==null)
			$name=$this->name;
		else if(isset($this->htmlOptions['name']))
			$name=$this->htmlOptions['name'];
		else if($this->hasModel())
			$name=CHtml::activeName($this->model,$this->attribute);
		else
			throw new CException(Yii::t('zii','{class} must specify "model" and "attribute" or "name" property values.',array('{class}'=>get_class($this))));

		if(($id=$this->getId(false))===null)
		{
			if(isset($this->htmlOptions['id']))
				$id=$this->htmlOptions['id'];
			else
				$id=CHtml::getIdByName($name);
		}

		return array($name,$id);
	}

	/**
	 * @return boolean whether this widget is associated with a data model.
	 */
	protected function hasModel()
	{
		return $this->model instanceof CModel && $this->attribute!==null;
	}
}


code:
<?php
/**
 * CJuiProgressBar class file.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

Yii::import('zii.widgets.jui.CJuiWidget');

/**
 * CJuiProgressBar displays a progress bar widget.
 *
 * CJuiProgressBar encapsulates the {@link http://jqueryui.com/demos/progressbar/ JUI
 * Progressbar} plugin.
 *
 * To use this widget, you may insert the following code in a view:
 * <pre>
 * $this->widget('zii.widgets.jui.CJuiProgressBar', array(
 *     'value'=>75,
 *     // additional javascript options for the progress bar plugin
 *     'options'=>array(
 *         'change'=>'js:function(event, ui) {...}',
 *     ),
 *     'htmlOptions'=>array(
 *         'style'=>'height:20px;'
 *     ),
 * ));
 * </pre>
 *
 * By configuring the {@link options} property, you may specify the options
 * that need to be passed to the JUI progressbar plugin. Please refer to
 * the {@link http://jqueryui.com/demos/progressbar/ JUI Progressbar} documentation
 * for possible options (name-value pairs).
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @version $Id$
 * @package zii.widgets.jui
 * @since 1.1
 */
class CJuiProgressBar extends CJuiWidget
{
	/**
	 * @var string the name of the container element that contains the progress bar. Defaults to 'div'.
	 */
	public $tagName = 'div';
	/**
	 * @var integer the percentage of the progress. This must be an integer between 0 and 100. Defaults to 0.
	 */
	public $value = 0;

	/**
	 * Run this widget.
	 * This method registers necessary javascript and renders the needed HTML code.
	 */
	public function run()
	{
		$id=$this->getId();
		if (isset($this->htmlOptions['id']))
			$id = $this->htmlOptions['id'];
		else
			$this->htmlOptions['id']=$id;

		echo CHtml::openTag($this->tagName,$this->htmlOptions);
		echo CHtml::closeTag($this->tagName);

		$this->options['value']=$this->value;
		$options=CJavaScript::encode($this->options);
		Yii::app()->getClientScript()->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').progressbar($options);");
	}

}


code:
<?php
/**
 * CJuiResizable class file.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

Yii::import('zii.widgets.jui.CJuiWidget');

/**
 * CJuiResizable displays a resizable widget.
 *
 * CJuiResizable encapsulates the {@link http://jqueryui.com/demos/resizable/ JUI Resizable}
 * plugin.
 *
 * To use this widget, you may insert the following code in a view:
 * <pre>
 * $this->beginWidget('zii.widgets.jui.CJuiResizable', array(
 *     // additional javascript options for the resizable plugin
 *     'options'=>array(
 *         'minHeight'=>'150',
 *     ),
 * ));
 *     echo 'Your Resizable content here';
 *
 * $this->endWidget();
 *
 * </pre>
 *
 * By configuring the {@link options} property, you may specify the options
 * that need to be passed to the JUI Resizable plugin. Please refer to
 * the {@link http://jqueryui.com/demos/resizable/ JUI Resizable} documentation
 * for possible options (name-value pairs).
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @version $Id$
 * @package zii.widgets.jui
 * @since 1.1
 */
class CJuiResizable extends CJuiWidget
{
	/**
	 * @var string the name of the Resizable element. Defaults to 'div'.
	 */
	public $tagName='div';

	/**
	 * Renders the open tag of the resizable element.
	 * This method also registers the necessary javascript code.
	 */
	public function init()
	{
		parent::init();
		$id=$this->getId();
		if (isset($this->htmlOptions['id']))
			$id = $this->htmlOptions['id'];
		else
			$this->htmlOptions['id']=$id;

		$options=empty($this->options) ? '' : CJavaScript::encode($this->options);

		Yii::app()->getClientScript()->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').resizable($options);");

		echo CHtml::openTag($this->tagName,$this->htmlOptions)."\n";
	}

	/**
	 * Renders the close tag of the resizable element.
	 */
	public function run(){
		echo CHtml::closeTag($this->tagName);
	}

}


code:
<?php
/**
 * CJuiSelectable class file.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

Yii::import('zii.widgets.jui.CJuiWidget');

/**
 * CJuiSelectable displays an accordion widget.
 *
 * CJuiSelectable encapsulates the {@link http://jqueryui.com/demos/selectable/ JUI Selectable}
 * plugin.
 *
 * To use this widget, you may insert the following code in a view:
 *

 * $this->widget('zii.widgets.jui.CJuiSelectable', array(
 *     'items'=>array(
 *         'id1'=>'Item 1',
 *         'id2'=>'Item 2',
 *         'id3'=>'Item 3',
 *     ),
 *     // additional javascript options for the selectable plugin
 *     'options'=>array(
 *         'delay'=>'300',
 *     ),
 * ));
 *

 *
 * By configuring the {@link options} property, you may specify the options
 * that need to be passed to the JUI Selectable plugin. Please refer to
 * the {@link http://jqueryui.com/demos/selectable/ JUI Selectable} documentation
 * for possible options (name-value pairs).
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @version $Id$
 * @package zii.widgets.jui
 * @since 1.1
 */
class CJuiSelectable extends CJuiWidget {
	/**
	 * @var array list of selectable items (id=>item content).
	 * Note that the item contents will not be HTML-encoded.
	 */
	public $items=array();
	/**
	 * @var string the name of the container element that contains all items. Defaults to 'ol'.
	 */
	public $tagName='ol';
	/**
	 * @var string the template that is used to generated every selectable item.
	 * The token "{content}" in the template will be replaced with the item content,
	 * while "{id}" will be replaced with the item ID.
	 */
	public $itemTemplate='
{content}
';

	/**
	 * Run this widget.
	 * This method registers necessary javascript and renders the needed HTML code.
	 */
	public function run(){
		$id=$this->getId();
		if (isset($this->htmlOptions['id']))
			$id = $this->htmlOptions['id'];
		else
			$this->htmlOptions['id']=$id;

		$options=empty($this->options) ? '' : CJavaScript::encode($this->options);
		Yii::app()->getClientScript()->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').selectable({$options});");

		echo CHtml::openTag($this->tagName,$this->htmlOptions)."\n";
		foreach($this->items as $id=>$content)
		{
			echo strtr($this->itemTemplate,array('{id}'=>$id,'{content}'=>$content))."\n";
		}
		echo CHtml::closeTag($this->tagName);
	}
}


code:
<?php
/**
 * CJuiSlider class file.
 *
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

Yii::import('zii.widgets.jui.CJuiWidget');

/**
 * CJuiSlider displays a slider.
 *
 * CJuiSlider encapsulates the {@link http://jqueryui.com/demos/slider/ JUI
 * slider} plugin.
 *
 * To use this widget, you may insert the following code in a view:
 * <pre>
 * $this->widget('zii.widgets.jui.CJuiSlider', array(
 *     'value'=>37,
 *     // additional javascript options for the slider plugin
 *     'options'=>array(
 *         'min'=>10,
 *         'max'=>50,
 *     ),
 *     'htmlOptions'=>array(
 *         'style'=>'height:20px;'
 *     ),
 * ));
 * </pre>
 *
 * By configuring the {@link options} property, you may specify the options
 * that need to be passed to the JUI slider plugin. Please refer to
 * the {@link http://jqueryui.com/demos/slider/ JUI slider} documentation
 * for possible options (name-value pairs).
 *
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @version $Id$
 * @package zii.widgets.jui
 * @since 1.1
 */
class CJuiSlider extends CJuiWidget
{
	/**
	 * @var string the name of the container element that contains the slider. Defaults to 'div'.
	 */
	public $tagName = 'div';
	/**
	 * @var integer determines the value of the slider, if there's only one handle. If there is more than one handle, determines the value of the first handle.
	 */
	public $value;

	/**
	 * Run this widget.
	 * This method registers necessary javascript and renders the needed HTML code.
	 */
	public function run()
	{
		$id=$this->getId();
		if (isset($this->htmlOptions['id']))
			$id = $this->htmlOptions['id'];
		else
			$this->htmlOptions['id']=$id;

		echo CHtml::openTag($this->tagName,$this->htmlOptions);
		echo CHtml::closeTag($this->tagName);

		if($this->value!==null)
			$this->options['value']=$this->value;

		$options=empty($this->options) ? '' : CJavaScript::encode($this->options);
		Yii::app()->getClientScript()->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').slider($options);");
	}
}


code:
<?php
/**
 * CJuiSliderInput class file.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

Yii::import('zii.widgets.jui.CJuiInputWidget');

/**
 * CJuiSliderInput displays a slider. It can be used in forms and post its value.
 *
 * CJuiSlider encapsulates the {@link http://jqueryui.com/demos/slider/ JUI
 * slider} plugin.
 *
 * To use this widget, you may insert the following code in a view:
 *

 * $this->widget('zii.widgets.jui.CJuiSliderInput', array(
 *     'name'=>'rate',
 *     'value'=>37,
 *     // additional javascript options for the slider plugin
 *     'options'=>array(
 *         'min'=>10,
 *         'max'=>50,
 *     ),
 *     'htmlOptions'=>array(
 *         'style'=>'height:20px;'
 *     ),
 * ));
 *

 *
 * The widget can also be used in range mode which uses 2 sliders to set a range.
 * In this mode, {@link attribute} and {@link maxAttribute} will define the attribute
 * names for the minimum and maximum range values, respectively. For example:
 *
 *

 * $this->widget('zii.widgets.jui.CJuiSliderInput', array(
 *     'model'=>$model,
 *     'attribute'=>'timeMin',
 *     'maxAttribute'=>'timeMax,
 *     // additional javascript options for the slider plugin
 *     'options'=>array(
 *         'range'=>true,
 *         'min'=>0,
 *         'max'=>24,
 *     ),
 * ));
 *
 * If you need to use the slider event, please change the event value for 'stop' or 'change'.
 *
 * By configuring the {@link options} property, you may specify the options
 * that need to be passed to the JUI slider plugin. Please refer to
 * the {@link http://jqueryui.com/demos/slider/ JUI slider} documentation
 * for possible options (name-value pairs).
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @version $Id$
 * @package zii.widgets.jui
 * @since 1.1
 */
class CJuiSliderInput extends CJuiInputWidget
{
	/**
	 * @var string the name of the container element that contains the slider. Defaults to 'div'.
	 */
	public $tagName = 'div';
	/**
	 * @var integer determines the value of the slider, if there's only one handle. If there is more than one handle, determines the value of the first handle.
	 */
	public $value;

	/**
	 * @var string the name of the event where the input will be attached to the slider. It
	 * can be 'slide', 'stop' or 'change'. If you want to use 'slide' event change $event property to 'change'
	 */
	public $event = 'slide';

	/**
	 * @var string name of attribute for max value if slider is used in range mode
	 */
	public $maxAttribute;

	/**
	 * Run this widget.
	 * This method registers necessary javascript and renders the needed HTML code.
	 */
	public function run()
	{
		list($name,$id)=$this->resolveNameID();

		$isRange=isset($this->options['range']) && $this->options['range'];

		if(isset($this->htmlOptions['id']))
			$id=$this->htmlOptions['id'];
		else
			$this->htmlOptions['id']=$id;
		if(isset($this->htmlOptions['name']))
			$name=$this->htmlOptions['name'];

		if($this->hasModel())
		{
			$attribute=$this->attribute;
			if ($isRange)
			{
				$options=$this->htmlOptions;
				echo CHtml::activeHiddenField($this->model,$this->attribute,$options);
				$options['id']=$options['id'].'_end';
				echo CHtml::activeHiddenField($this->model,$this->maxAttribute,$options);
				$attrMax=$this->maxAttribute;
				$this->options['values']=array($this->model->$attribute,$this->model->$attrMax);
			}
			else
			{
				echo CHtml::activeHiddenField($this->model,$this->attribute,$this->htmlOptions);
				$this->options['value']=$this->model->$attribute;
			}
		}
		else
		{
			echo CHtml::hiddenField($name,$this->value,$this->htmlOptions);
			if($this->value!==null)
				$this->options['value']=$this->value;
		}

		$idHidden = $this->htmlOptions['id'];
		$nameHidden = $name;

		$this->htmlOptions['id']=$idHidden.'_slider';
		$this->htmlOptions['name']=$nameHidden.'_slider';

		echo CHtml::openTag($this->tagName,$this->htmlOptions);
		echo CHtml::closeTag($this->tagName);

		$this->options[$this->event]= $isRange ?
			"js:function(e,ui){ v=ui.values; jQuery('#{$idHidden}').val(v[0]); jQuery('#{$idHidden}_end').val(v[1]); }":
			'js:function(event, ui) { jQuery(\'#'. $idHidden .'\').val(ui.value); }';

		$options=empty($this->options) ? '' : CJavaScript::encode($this->options);

		$js = "jQuery('#{$id}_slider').slider($options);\n";
		Yii::app()->getClientScript()->registerScript(__CLASS__.'#'.$id, $js);
	}

}


code:
<?php
/**
 * CJuiSortable class file.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

Yii::import('zii.widgets.jui.CJuiWidget');

/**
 * CJuiSortable makes selected elements sortable by dragging with the mouse.
 *
 * CJuiSortable encapsulates the {@link http://jqueryui.com/demos/sortable/ JUI Sortable}
 * plugin.
 *
 * To use this widget, you may insert the following code in a view:
 *

 * $this->widget('zii.widgets.jui.CJuiSortable', array(
 *     'items'=>array(
 *         'id1'=>'Item 1',
 *         'id2'=>'Item 2',
 *         'id3'=>'Item 3',
 *     ),
 *     // additional javascript options for the accordion plugin
 *     'options'=>array(
 *         'delay'=>'300',
 *     ),
 * ));
 *

 *
 * By configuring the {@link options} property, you may specify the options
 * that need to be passed to the JUI Sortable plugin. Please refer to
 * the {@link http://jqueryui.com/demos/sortable/ JUI Sortable} documentation
 * for possible options (name-value pairs).
 *
 * If you are using javascript code anywhere in the code, please add "js:" at the
 * start of the js code definition and Yii will use this string as js code.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @version $Id$
 * @package zii.widgets.jui
 * @since 1.1
 */
class CJuiSortable extends CJuiWidget
{
	/**
	 * @var array list of sortable items (id=>item content).
	 * Note that the item contents will not be HTML-encoded.
	 */
	public $items=array();
	/**
	 * @var string the name of the container element that contains all items. Defaults to 'ul'.
	 */
	public $tagName='ul';
	/**
	 * @var string the template that is used to generated every sortable item.
	 * The token "{content}" in the template will be replaced with the item content,
	 * while "{id}" be replaced with the item ID.
	 */
	public $itemTemplate='
{content}
';

	/**
	 * Run this widget.
	 * This method registers necessary javascript and renders the needed HTML code.
	 */
	public function run()
	{
		$id=$this->getId();
		if (isset($this->htmlOptions['id']))
			$id = $this->htmlOptions['id'];
		else
			$this->htmlOptions['id']=$id;

		$options=empty($this->options) ? '' : CJavaScript::encode($this->options);
		Yii::app()->getClientScript()->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').sortable({$options});");

		echo CHtml::openTag($this->tagName,$this->htmlOptions)."\n";
		foreach($this->items as $id=>$content)
		{
			echo strtr($this->itemTemplate,array('{id}'=>$id,'{content}'=>$content))."\n";
		}
		echo CHtml::closeTag($this->tagName);
	}
}


code:
<?php
/**
 * CJuiTabs class file.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

Yii::import('zii.widgets.jui.CJuiWidget');

/**
 * CJuiTabs displays a tabs widget.
 *
 * CJuiTabs encapsulates the {@link http://jqueryui.com/demos/tabs/ JUI tabs}
 * plugin.
 *
 * To use this widget, you may insert the following code in a view:
 *

 * $this->widget('zii.widgets.jui.CJuiTabs', array(
 *     'tabs'=>array(
 *         'StaticTab 1'=>'Content for tab 1',
 *         'StaticTab 2'=>array('content'=>'Content for tab 2', 'id'=>'tab2'),
 *         // panel 3 contains the content rendered by a partial view
 *         'AjaxTab'=>array('ajax'=>$ajaxUrl),
 *     ),
 *     // additional javascript options for the tabs plugin
 *     'options'=>array(
 *         'collapsible'=>true,
 *     ),
 * ));
 *

 *
 * By configuring the {@link options} property, you may specify the options
 * that need to be passed to the JUI tabs plugin. Please refer to
 * the {@link http://jqueryui.com/demos/tabs/ JUI tabs} documentation
 * for possible options (name-value pairs).
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @version $Id$
 * @package zii.widgets.jui
 * @since 1.1
 */
class CJuiTabs extends CJuiWidget
{
	/**
	 * @var array list of tabs (tab title=>tab content).
	 * Note that the tab title will not be HTML-encoded.
	 * The tab content can be either a string or an array. When it is an array, it can
	 * be in one of the following two formats:
	 *

	 * array('id'=>'myTabID', 'content'=>'tab content')
	 * array('id'=>'myTabID', 'ajax'=>URL)
	 *

	 * where the 'id' element is optional. The second format allows the tab content
	 * to be dynamically fetched from the specified URL via AJAX. The URL can be either
	 * a string or an array. If an array, it will be normalized into a URL using {@link CHtml::normalizeUrl}.
	 */
	public $tabs=array();
	/**
	 * @var string the name of the container element that contains all panels. Defaults to 'div'.
	 */
	public $tagName='div';
	/**
	 * @var string the template that is used to generated every panel title.
	 * The token "{title}" in the template will be replaced with the panel title and
	 * the token "{url}" will be replaced with "#TabID" or with the url of the ajax request.
	 */
	public $headerTemplate='
{title}
';
	/**
	 * @var string the template that is used to generated every tab content.
	 * The token "{content}" in the template will be replaced with the panel content
	 * and the token "{id}" with the tab ID.
	 */
	public $contentTemplate='
{content}
';

	/**
	 * Run this widget.
	 * This method registers necessary javascript and renders the needed HTML code.
	 */
	public function run()
	{
		$id=$this->getId();
		if (isset($this->htmlOptions['id']))
			$id = $this->htmlOptions['id'];
		else
			$this->htmlOptions['id']=$id;

		echo CHtml::openTag($this->tagName,$this->htmlOptions)."\n";

		$tabsOut = "";
		$contentOut = "";
		$tabCount = 0;

		foreach($this->tabs as $title=>$content)
		{
			$tabId = (is_array($content) && isset($content['id']))?$content['id']:$id.'_tab_'.$tabCount++;

			if (!is_array($content))
			{
				$tabsOut .= strtr($this->headerTemplate, array('{title}'=>$title, '{url}'=>'#'.$tabId, '{id}'=>'#' . $tabId))."\n";
				$contentOut .= strtr($this->contentTemplate, array('{content}'=>$content,'{id}'=>$tabId))."\n";
			}
			elseif (isset($content['ajax']))
			{
				$tabsOut .= strtr($this->headerTemplate, array('{title}'=>$title, '{url}'=>CHtml::normalizeUrl($content['ajax']), '{id}'=>'#' . $tabId))."\n";
			}
			else
			{
				$tabsOut .= strtr($this->headerTemplate, array('{title}'=>$title, '{url}'=>'#'.$tabId, '{id}'=>$tabId))."\n";
				if(isset($content['content']))
					$contentOut .= strtr($this->contentTemplate, array('{content}'=>$content['content'],'{id}'=>$tabId))."\n";
			}
		}
		echo "
\n" . $tabsOut . "
\n";
		echo $contentOut;

		echo CHtml::closeTag($this->tagName)."\n";

		$options=empty($this->options) ? '' : CJavaScript::encode($this->options);
		Yii::app()->getClientScript()->registerScript(__CLASS__.'#'.$id,"jQuery('#{$id}').tabs($options);");
	}

	/**
	 * Registers the core script files.
	 * This method overrides the parent implementation by registering the cookie plugin when cookie option is used.
	 */
	protected function registerCoreScripts()
	{
		parent::registerCoreScripts();
		if(isset($this->options['cookie']))
			Yii::app()->getClientScript()->registerCoreScript('cookie');
	}
}


code:
<?php
/**
 * CJuiWidget class file.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

/**
 * This is the base class for all JUI widget classes.
 *
 * @author Sebastian Thierer <sebathi@gmail.com>
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @version $Id$
 * @package zii.widgets.jui
 * @since 1.1
 */
abstract class CJuiWidget extends CWidget
{
	/**
	 * @var string the root URL that contains all JUI JavaScript files.
	 * If this property is not set (default), Yii will publish the JUI package included in the zii release and use
	 * that to infer the root script URL. You should set this property if you intend to use
	 * a JUI package whose version is different from the one included in zii.
	 * Note that under this URL, there must be a file whose name is specified by {@link scriptFile}.
	 * Do not append any slash character to the URL.
	 */
	public $scriptUrl;
	/**
	 * @var string the root URL that contains all JUI theme folders.
	 * If this property is not set (default), Yii will publish the JUI package included in the zii release and use
	 * that to infer the root theme URL. You should set this property if you intend to use
	 * a theme that is not found in the JUI package included in zii.
	 * Note that under this URL, there must be a directory whose name is specified by {@link theme}.
	 * Do not append any slash character to the URL.
	 */
	public $themeUrl;
	/**
	 * @var string the JUI theme name. Defaults to 'base'. Make sure that under {@link themeUrl} there
	 * is a directory whose name is the same as this property value (case-sensitive).
	 */
	public $theme='base';
	/**
	 * @var mixed the main JUI JavaScript file. Defaults to 'jquery-ui.min.js'.
	 * Note the file must exist under the URL specified by {@link scriptUrl}.
	 * If you need to include multiple script files (e.g. during development, you want to include individual
	 * plugin script files rather than the minized JUI script file), you may set this property
	 * as an array of the script file names.
	 * This property can also be set as false, which means the widget will not include any script file,
	 * and it is your responsibility to explicitly include it somewhere else.
	 */
	public $scriptFile='jquery-ui.min.js';
	/**
	 * @var mixed the theme CSS file name. Defaults to 'jquery-ui.css'.
	 * Note the file must exist under the URL specified by {@link themeUrl}/{@link theme}.
	 * If you need to include multiple theme CSS files (e.g. during development, you want to include individual
	 * plugin CSS files), you may set this property as an array of the CSS file names.
	 * This property can also be set as false, which means the widget will not include any theme CSS file,
	 * and it is your responsibility to explicitly include it somewhere else.
	 */
	public $cssFile='jquery-ui.css';
	/**
	 * @var array the initial JavaScript options that should be passed to the JUI plugin.
	 */
	public $options=array();
	/**
	 * @var array the HTML attributes that should be rendered in the HTML tag representing the JUI widget.
	 */
	public $htmlOptions=array();

	/**
	 * Initializes the widget.
	 * This method will publish JUI assets if necessary.
	 * It will also register jquery and JUI JavaScript files and the theme CSS file.
	 * If you override this method, make sure you call the parent implementation first.
	 */
	public function init()
	{
		$this->resolvePackagePath();
		$this->registerCoreScripts();
		parent::init();
	}

	/**
	 * Determine the JUI package installation path.
	 * This method will identify the JavaScript root URL and theme root URL.
	 * If they are not explicitly specified, it will publish the included JUI package
	 * and use that to resolve the needed paths.
	 */
	protected function resolvePackagePath()
	{
		if($this->scriptUrl===null || $this->themeUrl===null)
		{
			$cs=Yii::app()->getClientScript();
			if($this->scriptUrl===null)
				$this->scriptUrl=$cs->getCoreScriptUrl().'/jui/js';
			if($this->themeUrl===null)
				$this->themeUrl=$cs->getCoreScriptUrl().'/jui/css';
		}
	}

	/**
	 * Registers the core script files.
	 * This method registers jquery and JUI JavaScript files and the theme CSS file.
	 */
	protected function registerCoreScripts()
	{
		$cs=Yii::app()->getClientScript();
		if(is_string($this->cssFile))
			$cs->registerCssFile($this->themeUrl.'/'.$this->theme.'/'.$this->cssFile);
		else if(is_array($this->cssFile))
		{
			foreach($this->cssFile as $cssFile)
				$cs->registerCssFile($this->themeUrl.'/'.$this->theme.'/'.$cssFile);
		}

		$cs->registerCoreScript('jquery');
		if(is_string($this->scriptFile))
			$this->registerScriptFile($this->scriptFile);
		else if(is_array($this->scriptFile))
		{
			foreach($this->scriptFile as $scriptFile)
				$this->registerScriptFile($scriptFile);
		}
	}

	/**
	 * Registers a JavaScript file under {@link scriptUrl}.
	 * Note that by default, the script file will be rendered at the end of a page to improve page loading speed.
	 * @param string $fileName JavaScript file name
	 * @param integer $position the position of the JavaScript file. Valid values include the following:
	 *

	 *
CClientScript::POS_HEAD : the script is inserted in the head section right before the title element.

	 *
CClientScript::POS_BEGIN : the script is inserted at the beginning of the body section.

	 *
CClientScript::POS_END : the script is inserted at the end of the body section.

	 *

	 */
	protected function registerScriptFile($fileName,$position=CClientScript::POS_END)
	{
		Yii::app()->getClientScript()->registerScriptFile($this->scriptUrl.'/'.$fileName,$position);
	}
}


code:
body
{
	background: white;
	font-family:'Lucida Grande',Verdana,Geneva,Lucida,Helvetica,Arial,sans-serif;
	font-size:10pt;
	font-weight:normal;
}

#page
{
	width: 800px;
	margin: 0 auto;
}

#header
{
}

#content
{
}

#footer
{
	color: gray;
	font-size:8pt;
	border-top:1px solid #aaa;
	margin-top:10px;
}

h1
{
	color:black;
	font-size:1.6em;
	font-weight:bold;
	margin:0.5em 0pt;
}

h2
{
	color:black;
	font-size:1.25em;
	font-weight:bold;
	margin:0.3em 0pt;
}

h3
{
	color:black;
	font-size:1.1em;
	font-weight:bold;
	margin:0.2em 0pt;
}

table.result
{
	background:#E6ECFF none repeat scroll 0% 0%;
	border-collapse:collapse;
	width:100%;
}

table.result th
{
	background:#CCD9FF none repeat scroll 0% 0%;
	text-align:left;
}

table.result th, table.result td
{
	border:1px solid #BFCFFF;
	padding:0.2em;
}

td.passed
{
	background-color: #60BF60;
	border: 1px solid silver;
	padding: 2px;
}

td.warning
{
	background-color: #FFFFBF;
	border: 1px solid silver;
	padding: 2px;
}

td.failed
{
	background-color: #FF8080;
	border: 1px solid silver;
	padding: 2px;
}


code:
<?php

/**
 * Yii Requirement Checker script
 *
 * This script will check if your system meets the requirements for running
 * Yii-powered Web applications.
 *
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @link http://www.yiiframework.com/
 * @copyright Copyright © 2008-2011 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 * @version $Id$
 * @package system
 * @since 1.0
 */
/**
 * @var array List of requirements (name, required or not, result, used by, memo)
 */
$requirements=array(
	array(
		t('yii','PHP version'),
		true,
		version_compare(PHP_VERSION,"5.1.0",">="),
		'Yii Framework',
		t('yii','PHP 5.1.0 or higher is required.')),
	array(
		t('yii','$_SERVER variable'),
		true,
		($message=checkServerVar()) === '',
		'Yii Framework',
		$message),
	array(
		t('yii','Reflection extension'),
		true,
		class_exists('Reflection',false),
		'Yii Framework',
		''),
	array(
		t('yii','PCRE extension'),
		true,
		extension_loaded("pcre"),
		'Yii Framework',
		''),
	array(
		t('yii','SPL extension'),
		true,
		extension_loaded("SPL"),
		'Yii Framework',
		''),
	array(
		t('yii','DOM extension'),
		false,
		class_exists("DOMDocument",false),
		'CHtmlPurifier, CWsdlGenerator',
		''),
	array(
		t('yii','PDO extension'),
		false,
		extension_loaded('pdo'),
		t('yii','All DB-related classes'),
		''),
	array(
		t('yii','PDO SQLite extension'),
		false,
		extension_loaded('pdo_sqlite'),
		t('yii','All DB-related classes'),
		t('yii','This is required if you are using SQLite database.')),
	array(
		t('yii','PDO MySQL extension'),
		false,
		extension_loaded('pdo_mysql'),
		t('yii','All DB-related classes'),
		t('yii','This is required if you are using MySQL database.')),
	array(
		t('yii','PDO PostgreSQL extension'),
		false,
		extension_loaded('pdo_pgsql'),
		t('yii','All DB-related classes'),
		t('yii','This is required if you are using PostgreSQL database.')),
	array(
		t('yii','Memcache extension'),
		false,
		extension_loaded("memcache") || extension_loaded("memcached"),
		'CMemCache',
		extension_loaded("memcached") ? t('yii', 'To use memcached set CMemCache::useMemcached to true.') : ''),
	array(
		t('yii','APC extension'),
		false,
		extension_loaded("apc"),
		'CApcCache',
		''),
	array(
		t('yii','Mcrypt extension'),
		false,
		extension_loaded("mcrypt"),
		'CSecurityManager',
		t('yii','This is required by encrypt and decrypt methods.')),
	array(
		t('yii','SOAP extension'),
		false,
		extension_loaded("soap"),
		'CWebService, CWebServiceAction',
		''),
	array(
		t('yii','GD extension with
FreeType support'),
		false,
		($message=checkGD()) === '',
		//extension_loaded('gd'),
		'CCaptchaAction',
		$message),
	array(
		t('yii','Ctype extension'),
		false,
		extension_loaded("ctype"),
		'CDateFormatter, CDateTimeParser, CTextHighlighter, CHtmlPurifier',
		''
	)
);

function checkServerVar()
{
	$vars=array('HTTP_HOST','SERVER_NAME','SERVER_PORT','SCRIPT_NAME','SCRIPT_FILENAME','PHP_SELF','HTTP_ACCEPT','HTTP_USER_AGENT');
	$missing=array();
	foreach($vars as $var)
	{
		if(!isset($_SERVER[$var]))
			$missing[]=$var;
	}
	if(!empty($missing))
		return t('yii','$_SERVER does not have {vars}.',array('{vars}'=>implode(', ',$missing)));

	if(realpath($_SERVER["SCRIPT_FILENAME"]) !== realpath(__FILE__))
		return t('yii','$_SERVER["SCRIPT_FILENAME"] must be the same as the entry script file path.');

	if(!isset($_SERVER["REQUEST_URI"]) && isset($_SERVER["QUERY_STRING"]))
		return t('yii','Either $_SERVER["REQUEST_URI"] or $_SERVER["QUERY_STRING"] must exist.');

	if(!isset($_SERVER["PATH_INFO"]) && strpos($_SERVER["PHP_SELF"],$_SERVER["SCRIPT_NAME"]) !== 0)
		return t('yii','Unable to determine URL path info. Please make sure $_SERVER["PATH_INFO"] (or $_SERVER["PHP_SELF"] and $_SERVER["SCRIPT_NAME"]) contains proper value.');

	return '';
}

function checkGD()
{
	if(extension_loaded('gd'))
	{
		$gdinfo=gd_info();
		if($gdinfo['FreeType Support'])
			return '';
		return t('yii','GD installed
FreeType support not installed');
	}
	return t('yii','GD not installed');
}

function getYiiVersion()
{
	$coreFile=dirname(__FILE__).'/../framework/YiiBase.php';
	if(is_file($coreFile))
	{
		$contents=file_get_contents($coreFile);
		$matches=array();
		if(preg_match('/public static function getVersion.*?return \'(.*?)\'/ms',$contents,$matches) > 0)
			return $matches[1];
	}
	return '';
}

/**
 * Returns a localized message according to user preferred language.
 * @param string message category
 * @param string message to be translated
 * @param array parameters to be applied to the translated message
 * @return string translated message
 */
function t($category,$message,$params=array())
{
	static $messages;

	if($messages === null)
	{
		$messages=array();
		if(($lang=getPreferredLanguage()) !== false)
		{
			$file=dirname(__FILE__)."/messages/$lang/yii.php";
			if(is_file($file))
				$messages=include($file);
		}
	}

	if(empty($message))
		return $message;

	if(isset($messages[$message]) && $messages[$message] !== '')
		$message=$messages[$message];

	return $params !== array() ? strtr($message,$params) : $message;
}

function getPreferredLanguage()
{
	if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) && ($n=preg_match_all('/([\w\-]+)\s*(;\s*q\s*=\s*(\d*\.\d*))?/',$_SERVER['HTTP_ACCEPT_LANGUAGE'],$matches)) > 0)
	{
		$languages=array();
		for($i=0; $i < $n; ++$i)
			$languages[$matches[1][$i]]=empty($matches[3][$i]) ? 1.0 : floatval($matches[3][$i]);
		arsort($languages);
		foreach($languages as $language=>$pref)
			return strtolower(str_replace('-','_',$language));
	}
	return false;
}

function getServerInfo()
{
	$info[]=isset($_SERVER['SERVER_SOFTWARE']) ? $_SERVER['SERVER_SOFTWARE'] : '';
	$info[]='Yii Framework/'.getYiiVersion();
	$info[]=@strftime('%Y-%m-%d %H:%M',time());

	return implode(' ',$info);
}

function renderFile($_file_,$_params_=array())
{
	extract($_params_);
	require($_file_);
}

$result=1;  // 1: all pass, 0: fail, -1: pass with warnings

foreach($requirements as $i=>$requirement)
{
	if($requirement[1] && !$requirement[2])
		$result=0;
	else if($result > 0 && !$requirement[1] && !$requirement[2])
		$result=-1;
	if($requirement[4] === '')
		$requirements[$i][4]=' ';
}

$lang=getPreferredLanguage();
$viewFile=dirname(__FILE__)."/views/$lang/index.php";
if(!is_file($viewFile))
	$viewFile=dirname(__FILE__).'/views/index.php';

renderFile($viewFile,array(
	'requirements'=>$requirements,
	'result'=>$result,
	'serverInfo'=>getServerInfo()));


code:
<?php
/**
 * Message translations.
 *
 * This file is automatically generated by 'yiic message' command.
 * It contains the localizable messages extracted from source code.
 * You may modify this file by translating the extracted messages.
 *
 * Each array element represents the translation (value) of a message (key).
 * If the value is empty, the message is considered as not translated.
 * Messages that no longer need translation will have their translations
 * enclosed between a pair of '@@' marks.
 *
 * NOTE, this file must be saved in UTF-8 encoding.
 *
 * @version $Id: $
 */
return array (
  '$_SERVER does not have {vars}.' => '$_SERVER لايحتوي {vars}.',
  '$_SERVER variable' => '$_SERVER متغير',
  '$_SERVER["SCRIPT_FILENAME"] must be the same as the entry script file path.' => '$_SERVER["SCRIPT_FILENAME"] يجب ان يكون مساوي لمسار الملف الافتتاحي للسكربت (entry script file).',
  'APC extension' => 'لاحقة APC',
  'All DB-related classes' => 'جميع الفئات ذات العلاقة',
  'DOM extension' => 'DOM لاحقة',
  'Either $_SERVER["REQUEST_URI"] or $_SERVER["QUERY_STRING"] must exist.' => 'يجب أن يتوفر إما $_SERVER["REQUEST_URI"] أو $_SERVER["QUERY_STRING"].',
  'GD extension' => 'GD لاحقة',
  'Mcrypt extension' => 'Mcrypt لاحقة',
  'Memcache extension' => 'Memcache لاحقة',
  'PCRE extension' => 'PCRE لاحقة',
  'PDO MySQL extension' => 'PDO MySQL لاحقة',
  'PDO PostgreSQL extension' => 'PDO PostgreSQL لاحقة',
  'PDO SQLite extension' => 'PDO SQLite لاحقة',
  'PDO extension' => 'PDO لاحقة',
  'PHP 5.1.0 or higher is required.' => 'يجب وجود إصدارة PHP 5.1.0 أو أعلى.',
  'PHP version' => 'إصدارة PHP',
  'Reflection extension' => 'Reflection لاحقة',
  'SOAP extension' => 'SOAP لاحقة',
  'SPL extension' => 'SPL لاحقة',
  'This is required by encrypt and decrypt methods.' => 'مطلوب من أجل وظائف التشفير وفك التشفير.',
  'This is required if you are using MySQL database.' => 'مطلوب اذا كنت تستخدم قواعد البيانات MySQL.',
  'This is required if you are using PostgreSQL database.' => 'مطلوب اذا كنت تستخدم قواعد البيانات PostgreSQL.',
  'This is required if you are using SQLite database.' => 'مطلوب اذا كنت تستخدم قواعد البيانات SQLite.',
  'Unable to determine URL path info. Please make sure $_SERVER["PATH_INFO"] (or $_SERVER["PHP_SELF"] and $_SERVER["SCRIPT_NAME"]) contains proper value.' => 'غير قادر على تحديد معلومات مسار العنوان. الرجاء التحقق من أن $_SERVER["PATH_INFO"] (أو $_SERVER["PHP_SELF"] و $_SERVER["SCRIPT_NAME"]) تحتوي على القيم الصحيحة.',
);


code:
<?php
/**
 * Message translations.
 *
 *
 * @version $Id: 1
 */
return array (
  '$_SERVER does not have {vars}.' => '$_SERVER няма {vars}.',
  '$_SERVER variable' => '$_SERVER променлива',
  '$_SERVER["SCRIPT_FILENAME"] must be the same as the entry script file path.' => '$_SERVER["SCRIPT_FILENAME"] трябва да бъде същия като пътя до началния скрипт',
  'APC extension' => 'APC добавка',
  'All DB-related classes' => 'Всички класове за работа с базата от данни.',
  'DOM extension' => 'DOM разширение',
  'Either $_SERVER["REQUEST_URI"] or $_SERVER["QUERY_STRING"] must exist.' => 'Или $_SERVER["REQUEST_URI"] или $_SERVER["QUERY_STRING"] трябва да съществуват',
  'GD extension' => 'GD разширение',
  'Mcrypt extension' => 'Mcrypt разширение',
  'Memcache extension' => 'Memcache разширение',
  'PCRE extension' => 'PCRE разширение',
  'PDO MySQL extension' => 'PDO MySQL разширение',
  'PDO PostgreSQL extension' => 'PDO PostgreSQL разширение',
  'PDO SQLite extension' => 'PDO SQLite разширение',
  'PDO extension' => 'PDO разширение',
  'PHP 5.1.0 or higher is required.' => 'Изисква се минимум PHP 5.1.0.',
  'PHP version' => 'PHP версия',
  'Reflection extension' => 'Reflection разширение',
  'SOAP extension' => 'SOAP разширение',
  'SPL extension' => 'SPL разширение',
  'This is required by encrypt and decrypt methods.' => 'Тове се изисква от методите за криптиране/декриптиране.',
  'This is required if you are using MySQL database.' => 'Това се изисква ако използвате MySQL база от данни.',
  'This is required if you are using PostgreSQL database.' => 'Това се изисква ако използвате PostgreSQL база от данни.',
  'This is required if you are using SQLite database.' => 'Това се изисква ако използвате SQLite база от данни.',
  'Unable to determine URL path info. Please make sure $_SERVER["PATH_INFO"] (or $_SERVER["PHP_SELF"] and $_SERVER["SCRIPT_NAME"]) contains proper value.' => 'Невъзможно е да се определи URL адреса. Моля, проверете дали $_SERVER["PATH_INFO"] (или $_SERVER["PHP_SELF"] и $_SERVER["SCRIPT_NAME"]) съдържат коректни стойности.',
);


code:
<?php
/**
 * This is the configuration for generating message translations
 * for the Yii requirement checker. It is used by the 'yiic message' command.
 */
return array(
	'sourcePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
	'messagePath'=>dirname(__FILE__),
	'languages'=>array('zh_cn','zh_tw','de','es','el','sv','he','nl','pt','ru','it','fr','ja','pl','hu','ro','id','vi','bg'),
	'fileTypes'=>array('php'),
	'translator'=>'t',
	'exclude'=>array(
		'.svn',
		'/messages',
		'/views',
	),
);


code:
<?php
/**
 * Message translations.
 *
 * This file is automatically generated by 'yiic message' command.
 * It contains the localizable messages extracted from source code.
 * You may modify this file by translating the extracted messages.
 *
 * Each array element represents the translation (value) of a message (key).
 * If the value is empty, the message is considered as not translated.
 * Messages that no longer need translation will have their translations
 * enclosed between a pair of '@@' marks.
 *
 * Message string can be used with plural forms format. Check i18n section
 * of the guide for details.
 *
 * NOTE, this file must be saved in UTF-8 encoding.
 *
 * @version $Id: $
 */
return array (
  'Ctype extension' => 'Ctype Erweiterung',
  'To use memcached set CMemCache::useMemcached to true.' => 'Um memcached verwenden zu können, muss CMemCache::useMemcached auf true gesetzt werden.',
  '$_SERVER does not have {vars}.' => '$_SERVER verfügt nicht über {vars}.',
  '$_SERVER variable' => '$_SERVER Variable',
  '$_SERVER["SCRIPT_FILENAME"] must be the same as the entry script file path.' => '$_SERVER["SCRIPT_FILENAME"] muss auf das Startscript verweisen.',
  'APC extension' => 'APC Erweiterung',
  'All DB-related classes' => 'Alle DB-bezogenen Klassen',
  'DOM extension' => 'DOM Erweiterung',
  'Either $_SERVER["REQUEST_URI"] or $_SERVER["QUERY_STRING"] must exist.' => 'Entweder $_SERVER["REQUEST_URI"] oder $_SERVER["QUERY_STRING"] müssen exisitieren.',
  'GD extension with
FreeType support' => 'GD Erweiterung mit
FreeType-Unterstützung',
  'GD installed
FreeType support not installed' => 'GD installiert
FreeType-Unterstützung nicht installiert',
  'GD not installed' => 'GD nicht installiert',
  'Mcrypt extension' => 'Mcyrpt Erweiterung',
  'Memcache extension' => 'Memcache Erweiterung',
  'PCRE extension' => 'PCRE Erweiterung',
  'PDO MySQL extension' => 'PDO MySQL Erweiterung',
  'PDO PostgreSQL extension' => 'PDO PostgreSQL Erweiterung',
  'PDO SQLite extension' => 'PDO SQLite Erweiterung',
  'PDO extension' => 'PDO Erweiterung',
  'PHP 5.1.0 or higher is required.' => 'PHP 5.1.0 oder neuer wird benötigt.',
  'PHP version' => 'PHP Version',
  'Reflection extension' => 'Reflection Erweiterung',
  'SOAP extension' => 'SOAP Erweiterung',
  'SPL extension' => 'SPL Erweiterung',
  'This is required by encrypt and decrypt methods.' => 'Wird für Ver- und Entschlüsselungsmethoden benötigt.',
  'This is required if you are using MySQL database.' => 'Wird für die Verwendung einer MySQL Datenbank benötigt.',
  'This is required if you are using PostgreSQL database.' => 'Wird für die Verwendung einer PostgreSQL Datenbank benötigt.',
  'This is required if you are using SQLite database.' => 'Wird für die Verwendung einer SQLite Datenbank benötigt.',
  'Unable to determine URL path info. Please make sure $_SERVER["PATH_INFO"] (or $_SERVER["PHP_SELF"] and $_SERVER["SCRIPT_NAME"]) contains proper value.' => 'Die URL-Pfadinformation kann nicht ermittelt werden. Stellen Sie bitte sicher, dass $_SERVER["PATH_INFO"] (oder $_SERVER["PHP_SELF"] und $_SERVER["SCRIPT_NAME"]) den entsprechenden Wert enthält.',
);


code:
<?php
/**
 * Message translations.
 *
 * This file is automatically generated by 'yiic message' command.
 * It contains the localizable messages extracted from source code.
 * You may modify this file by translating the extracted messages.
 *
 * Each array element represents the translation (value) of a message (key).
 * If the value is empty, the message is considered as not translated.
 * Messages that no longer need translation will have their translations
 * enclosed between a pair of '@@' marks.
 *
 * NOTE, this file must be saved in UTF-8 encoding.
 *
 * @version $Id: $
 */
return array (
  '$_SERVER does not have {vars}.' => '$_SERVER verfügt nicht über {vars}.',
  '$_SERVER variable' => '$_SERVER Variable',
  '$_SERVER["SCRIPT_FILENAME"] must be the same as the entry script file path.' => '$_SERVER["SCRIPT_FILENAME"] muss der selbe Eingangsscriptpfad sein.',
  'APC extension' => 'APC Erweiterung',
  'All DB-related classes' => 'Alle DB-bezüglichen Klassen',
  'DOM extension' => 'DOM Erweiterung',
  'Either $_SERVER["REQUEST_URI"] or $_SERVER["QUERY_STRING"] must exist.' => 'Entweder $_SERVER["REQUEST_URI"] oder $_SERVER["QUERY_STRING"] müssen exisitieren.',
  'GD extension' => 'GD Erweiterung',
  'Mcrypt extension' => 'Mcyrpt Erweiterung',
  'Memcache extension' => 'Memcache Erweiterung',
  'PCRE extension' => 'PCRE Erweiterung',
  'PDO MySQL extension' => 'PDO MySQL Erweiterung',
  'PDO PostgreSQL extension' => 'PDO PostgreSQL Erweiterung',
  'PDO SQLite extension' => 'PDO SQLite Erweiterung',
  'PDO extension' => 'PDO Erweiterung',
  'PHP 5.1.0 or higher is required.' => 'PHP 5.1.0 oder Neuer wird benötigt.',
  'PHP version' => 'PHP Version',
  'Reflection extension' => 'Reflection Erweiterung',
  'SOAP extension' => 'SOAP Erweiterung',
  'SPL extension' => 'SPL Erweiterung',
  'This is required if you are using MySQL database.' => 'Dies wird bei Verwendung einer MySQL Datenbank benötigt.',
  'This is required if you are using PostgreSQL database.' => 'Dies wird bei Verwendung einer PostgreSQL Datenbank benötigt.',
  'This is required if you are using SQLite database.' => 'Dies wird bei Verwendung einer SQLite Datenbank benötigt.',
  'Unable to determine URL path info. Please make sure $_SERVER["PATH_INFO"] (or $_SERVER["PHP_SELF"] and $_SERVER["SCRIPT_NAME"]) contains proper value.' => 'Die URL Pfadinformation kann nicht ermittelt werden. Stellen Sie bitte sicher, dass entweder $_SERVER["PATH_INFO"] (oder $_SERVER["PHP_SELF"] und $_SERVER["SCRIPT_NAME"]) mit korrekten Werten gefüllt sind.',
);


code:
<?php
/**
 * Message translations.
 *
 * This file is automatically generated by 'yiic message' command.
 * It contains the localizable messages extracted from source code.
 * You may modify this file by translating the extracted messages.
 *
 * Each array element represents the translation (value) of a message (key).
 * If the value is empty, the message is considered as not translated.
 * Messages that no longer need translation will have their translations
 * enclosed between a pair of '@@' marks.
 *
 * Message string can be used with plural forms format. Check i18n section
 * of the guide for details.
 *
 * NOTE, this file must be saved in UTF-8 encoding.
 *
 * @version $Id: yii.php 2164 2011-06-23 13:46:17Z yiifrmwrk@lourdas.name $
 */
return array (
  'Ctype extension' => 'Επέκταση Ctype',
  '$_SERVER does not have {vars}.' => 'Ο πίνακας $_SERVER δεν περιέχει τη(τις) μεταβλητή(-ές) {vars}.',
  '$_SERVER variable' => 'Μεταβλητή $_SERVER',
  '$_SERVER["SCRIPT_FILENAME"] must be the same as the entry script file path.' => 'Το $_SERVER["SCRIPT_FILENAME"] πρέπει να είναι το ίδιο με το αρχικό αρχείο σεναρίου.',
  'APC extension' => 'Επέκταση APC',
  'All DB-related classes' => 'Όλες οι σχετικές με βάση κλάσεις',
  'DOM extension' => 'Επέκταση DOM',
  'Either $_SERVER["REQUEST_URI"] or $_SERVER["QUERY_STRING"] must exist.' => 'Πρέπει να υπάρχει είτε το $_SERVER["REQUEST_URI"] είτε το $_SERVER["QUERY_STRING"].',
  'GD extension with
FreeType support' => 'Επέκταση GD με
υποστήριξη για FreeType',
  'GD installed
FreeType support not installed' => 'Επέκταση GD εγκατεστημένη
υποστήριξη FreeType δεν υπάρχει.',
  'GD not installed' => 'Δεν είναι εγκατεστημένη η επέκταση GD',
  'Mcrypt extension' => 'Επέκταση Mcrypt',
  'Memcache extension' => 'Επέκταση Memcache',
  'PCRE extension' => 'Επέκταση PCRE',
  'PDO MySQL extension' => 'Επέκταση PDO MySQL',
  'PDO PostgreSQL extension' => 'Επέκταση PDO PostgreSQL',
  'PDO SQLite extension' => 'Επέκταση PDO SQLite',
  'PDO extension' => 'Επέκταση PDO',
  'PHP 5.1.0 or higher is required.' => 'Απαιτείται PHP 5.1.0 ή μεγαλύτερης έκδοσης.',
  'PHP version' => 'Έκδοση PHP',
  'Reflection extension' => 'Επέκταση Reflection',
  'SOAP extension' => 'Επέκταση SOAP',
  'SPL extension' => 'Επέκταση SPL',
  'This is required by encrypt and decrypt methods.' => 'Απαιτείται από τις μεθόδους κρυπτογράφησης και αποκρυπτογράφησης.',
  'This is required if you are using MySQL database.' => 'Απαιτείται αν χρησιμοποιείτε βάση MySQL.',
  'This is required if you are using PostgreSQL database.' => 'Απαιτείται αν χρησιμοποιείτε βάση PostgreSQL.',
  'This is required if you are using SQLite database.' => 'Απαιτείται αν χρησιμοποιείτε βάση SQLite.',
  'To use memcached set CMemCache::useMemcached to true.' => 'Για να χρησιμοποιήσετε memcached, ορίστε το CMemCache::useMemcached να είναι true.',
  'Unable to determine URL path info. Please make sure $_SERVER["PATH_INFO"] (or $_SERVER["PHP_SELF"] and $_SERVER["SCRIPT_NAME"]) contains proper value.' => 'Δεν ήταν δυνατός ο καθορισμός της διαδρομής URL. Σιγουρευτείτε ότι το $_SERVER["PATH_INFO"] (ή $_SERVER["PHP_SELF"] και $_SERVER["SCRIPT_NAME"]) περιέχει τη σωστή τιμή.',
);


code:
<?php
/**
 * Message translations.
 *
 * This file is automatically generated by 'yiic message' command.
 * It contains the localizable messages extracted from source code.
 * You may modify this file by translating the extracted messages.
 *
 * Each array element represents the translation (value) of a message (key).
 * If the value is empty, the message is considered as not translated.
 * Messages that no longer need translation will have their translations
 * enclosed between a pair of '@@' marks.
 *
 * NOTE, this file must be saved in UTF-8 encoding.
 *
 * @version $Id: $
 */
return array (
  '$_SERVER does not have {vars}.' => '$_SERVER no contiene {vars}',
  '$_SERVER variable' => 'variable de $_SERVER',
  '$_SERVER["SCRIPT_FILENAME"] must be the same as the entry script file path.' => '$_SERVER["SCRIPT_FILENAME"] debe ser igual a la ruta de entrada del script',
  'APC extension' => 'Extensión APC',
  'All DB-related classes' => 'Todas las clases relacionadas con DB',
  'DOM extension' => 'Extensión DOM',
  'Either $_SERVER["REQUEST_URI"] or $_SERVER["QUERY_STRING"] must exist.' => '$_SERVER["REQUEST_URI"] o $_SERVER["QUERY_STRING"] deben existir.',
  'GD extension' => 'Extensión GD',
  'Mcrypt extension' => 'Extensión Mcrypt',
  'Memcache extension' => 'Extensión Memcache',
  'PCRE extension' => 'Extensión PCRE',
  'PDO MySQL extension' => 'Extensión PDO MySQL',
  'PDO PostgreSQL extension' => 'Extension PDO PostgreSQL',
  'PDO SQLite extension' => 'Extensión PDO SQLite',
  'PDO extension' => 'Extensión PDO',
  'PHP 5.1.0 or higher is required.' => 'Requiere PHP 5.1.0 o superior',
  'PHP version' => 'Versión PHP',
  'Reflection extension' => 'Extensión Reflection',
  'SOAP extension' => 'Extensión SOAP',
  'SPL extension' => 'Extensión SPL',
  'This is required if you are using MySQL database.' => 'Esto es requerido si se utiliza una base de datos MySQL.',
  'This is required if you are using PostgreSQL database.' => 'Esto es requerido si se utiliza una base de datos PostgreSQL.',
  'This is required if you are using SQLite database.' => 'Esto es requerido si se utiliza una base de datos SQLite.',
  'Unable to determine URL path info. Please make sure $_SERVER["PATH_INFO"] (or $_SERVER["PHP_SELF"] and $_SERVER["SCRIPT_NAME"]) contains proper value.'
		=> 'No es posible determinar la ruta de información. Por favor asegúrese que $_SERVER["PATH_INFO"] o ($_SERVER["PHP_SELF"] y $_SERVER["SCRIPT_NAME"]) contenga/n un valor correcto.',
);


code:
<?php
/**
 * Message translations.
 *
 * This file is automatically generated by 'yiic message' command.
 * It contains the localizable messages extracted from source code.
 * You may modify this file by translating the extracted messages.
 *
 * Each array element represents the translation (value) of a message (key).
 * If the value is empty, the message is considered as not translated.
 * Messages that no longer need translation will have their translations
 * enclosed between a pair of '@@' marks.
 *
 * NOTE, this file must be saved in UTF-8 encoding.
 *
 * @version $Id: $
 */
return array (
  '$_SERVER does not have {vars}.' => '$_SERVER ne contient pas {vars}.',
  '$_SERVER variable' => 'variable $_SERVER',
  '$_SERVER["SCRIPT_FILENAME"] must be the same as the entry script file path.' => '$_SERVER["SCRIPT_FILENAME"] doit être égal au chemin du script d\'entrée.',
  'APC extension' => 'extension APC',
  'All DB-related classes' => 'Toutes les classes relatives aux BD.',
  'DOM extension' => 'extension DOM',
  'Either $_SERVER["REQUEST_URI"] or $_SERVER["QUERY_STRING"] must exist.' => 'Soit $_SERVER["REQUEST_URI"] soit $_SERVER["QUERY_STRING"] doit être défini.',
  'GD extension' => 'extension GD',
  'Mcrypt extension' => 'extension Mcrypt',
  'Memcache extension' => 'extension Memcache',
  'PCRE extension' => 'extension PCRE',
  'PDO MySQL extension' => 'extension PDO MySQL',
  'PDO PostgreSQL extension' => 'extension PDO PostgreSQL',
  'PDO SQLite extension' => 'extension PDO SQLite',
  'PDO extension' => 'extension PDO',
  'PHP 5.1.0 or higher is required.' => 'PHP 5.1.0 ou supérieur est requis.',
  'PHP version' => 'Version de PHP',
  'Reflection extension' => 'extension Reflection',
  'SOAP extension' => 'extension SOAP',
  'SPL extension' => 'extension SPL',
  'This is required by encrypt and decrypt methods.' => 'Nécessaire pour les méthodes encrypt et decrypt.',
  'This is required if you are using MySQL database.' => 'Cette extension est requise si vous utilisez une base de donnée MySQL.',
  'This is required if you are using PostgreSQL database.' => 'Cette extension est requise si vous utilisez une base de donnée PostgreSQL.',
  'This is required if you are using SQLite database.' => 'Cette extension est requise si vous utilisez une base de donnée SQLite.',
  'Unable to determine URL path info. Please make sure $_SERVER["PATH_INFO"] (or $_SERVER["PHP_SELF"] and $_SERVER["SCRIPT_NAME"]) contains proper value.' => 'Impossible de déterminer les informations sur le chemin dans l\'URL. Vérifier que $_SERVER["PATH_INFO"] (ou $_SERVER["PHP_SELF"] et $_SERVER["SCRIPT_NAME"]) ont la bonne valeur',
);


code:
<?php
/**
 * Message translations.
 *
 * This file is automatically generated by 'yiic message' command.
 * It contains the localizable messages extracted from source code.
 * You may modify this file by translating the extracted messages.
 *
 * Each array element represents the translation (value) of a message (key).
 * If the value is empty, the message is considered as not translated.
 * Messages that no longer need translation will have their translations
 * enclosed between a pair of '@@' marks.
 *
 * NOTE, this file must be saved in UTF-8 encoding.
 *
 * @version $Id: $
 */
return array (
  '$_SERVER does not have {vars}.' => '$_SERVER לא מכיל {vars}.',
  '$_SERVER variable' => '$_SERVER משתנה',
  '$_SERVER["SCRIPT_FILENAME"] must be the same as the entry script file path.' => '$_SERVER["SCRIPT_FILENAME"] חייב להיות זהה לנתיב המלא לקובץ הראשי.',
  'APC extension' => 'תוסף APC',
  'All DB-related classes' => 'כל מחלקות מסדי הנתונים',
  'DOM extension' => 'תוסף DOM',
  'Either $_SERVER["REQUEST_URI"] or $_SERVER["QUERY_STRING"] must exist.' => '$_SERVER["REQUEST_URI"] או $_SERVER["QUERY_STRING"] חייב להיות קיים.',
  'GD extension' => 'תוסף GD',
  'Mcrypt extension' => 'תוסף Mcrypt',
  'Memcache extension' => 'תוסף Memcache',
  'PCRE extension' => 'תוסף PCRE',
  'PDO MySQL extension' => 'תוסף PDO MySQL',
  'PDO PostgreSQL extension' => 'תוסף PDO PostgreSQL',
  'PDO SQLite extension' => 'תוסף PDO SQLite',
  'PDO extension' => 'תוסף PDO',
  'PHP 5.1.0 or higher is required.' => 'PHP בגרסא 5.1.0 או יותר דרוש.',
  'PHP version' => 'גרסאת PHP',
  'Reflection extension' => 'תוסף Reflection',
  'SOAP extension' => 'תוסף SOAP',
  'SPL extension' => 'תוסף SPL',
  'This is required if you are using MySQL database.' => 'תוסף זה נחוץ אם הינך מתכוון להשתמש במסד נתונים מסוג MYSQL.',
  'This is required if you are using PostgreSQL database.' => 'תוסף זה נחוץ אם הינך מתכוון להשתמש במסד נתונים מסוג PostgreSQL.',
  'This is required if you are using SQLite database.' => 'תוסף זה נחוץ אם הינך מתכוון להשתמש במסד נתונים מסוג SQLite.',
  'Unable to determine URL path info. Please make sure $_SERVER["PATH_INFO"] (or $_SERVER["PHP_SELF"] and $_SERVER["SCRIPT_NAME"]) contains proper value.' => 'לא ניתן לזהות את נתיבי הקישור. אנא וודא שהערך $_SERVER["PATH_INFO"] (או $_SERVER["PHP_SELF"] ו $_SERVER["SCRIPT_NAME"]) מכילים ערכים מתאימים.',
);


code:
<?php
/**
 * Message translations.
 *
 * This file is automatically generated by 'yiic message' command.
 * It contains the localizable messages extracted from source code.
 * You may modify this file by translating the extracted messages.
 *
 * Each array element represents the translation (value) of a message (key).
 * If the value is empty, the message is considered as not translated.
 * Messages that no longer need translation will have their translations
 * enclosed between a pair of '@@' marks.
 *
 * NOTE, this file must be saved in UTF-8 encoding.
 *
 * @version $Id: $
 */
return array (
  '$_SERVER does not have {vars}.' => '',
  '$_SERVER variable' => '',
  '$_SERVER["SCRIPT_FILENAME"] must be the same as the entry script file path.' => '',
  'APC extension' => '',
  'All DB-related classes' => '',
  'DOM extension' => '',
  'Either $_SERVER["REQUEST_URI"] or $_SERVER["QUERY_STRING"] must exist.' => '',
  'GD extension' => '',
  'Mcrypt extension' => '',
  'Memcache extension' => '',
  'PCRE extension' => '',
  'PDO MySQL extension' => '',
  'PDO PostgreSQL extension' => '',
  'PDO SQLite extension' => '',
  'PDO extension' => '',
  'PHP 5.1.0 or higher is required.' => '',
  'PHP version' => '',
  'Reflection extension' => '',
  'SOAP extension' => '',
  'SPL extension' => '',
  'This is required by encrypt and decrypt methods.' => '',
  'This is required if you are using MySQL database.' => '',
  'This is required if you are using PostgreSQL database.' => '',
  'This is required if you are using SQLite database.' => '',
  'Unable to determine URL path info. Please make sure $_SERVER["PATH_INFO"] (or $_SERVER["PHP_SELF"] and $_SERVER["SCRIPT_NAME"]) contains proper value.' => '',
);


code:
<?php
/**
 * Message translations.
 *
 * This file is automatically generated by 'yiic message' command.
 * It contains the localizable messages extracted from source code.
 * You may modify this file by translating the extracted messages.
 *
 * Each array element represents the translation (value) of a message (key).
 * If the value is empty, the message is considered as not translated.
 * Messages that no longer need translation will have their translations
 * enclosed between a pair of '@@' marks.
 *
 * Message string can be used with plural forms format. Check i18n section
 * of the guide for details.
 *
 * NOTE, this file must be saved in UTF-8 encoding.
 *
 * @version $Id: $
 */
return array (
  'Ctype extension' => 'Extension Ctype',
  '$_SERVER does not have {vars}.' => '$_SERVER tidak memiliki {vars}.',
  '$_SERVER variable' => 'Variabel $_SERVER',
  '$_SERVER["SCRIPT_FILENAME"] must be the same as the entry script file path.' => '$_SERVER["SCRIPT_FILENAME"] harus sama dengan alur file skrip entri',
  'APC extension' => 'Extension APC',
  'All DB-related classes' => 'Semua kelas berhubungan DB ',
  'DOM extension' => 'Extension DOM',
  'Either $_SERVER["REQUEST_URI"] or $_SERVER["QUERY_STRING"] must exist.' => 'Salah satu dari $_SERVER["REQUEST_URI"] atau $_SERVER["QUERY_STRING"] harus ada.',
  'GD extension with
FreeType support' => 'Dukungan Extension GD dengan
FreeType',
  'GD installed
FreeType support not installed' => 'GD terinstalasi
Dukungan FreeType tidak terinstalasi',
  'GD not installed' => 'GD tidak terinstalasi',
  'Mcrypt extension' => 'Extension Mcrypt',
  'Memcache extension' => 'Extension Memcache',
  'PCRE extension' => 'Extension PCRE',
  'PDO MySQL extension' => 'Extension PDO MySQL',
  'PDO PostgreSQL extension' => 'Extension PDO PostgreSQL',
  'PDO SQLite extension' => 'Extension PDO SQLite',
  'PDO extension' => 'Extension PDO',
  'PHP 5.1.0 or higher is required.' => 'Diperlukan PHP 5.1.0 atau lebih tinggi.',
  'PHP version' => 'Versi PHP',
  'Reflection extension' => 'Extension Reflection',
  'SOAP extension' => 'Extension SOAP',
  'SPL extension' => 'Extension SPL',
  'This is required by encrypt and decrypt methods.' => 'Ini diperlukan oleh method enkripsi dan dekripsi',
  'This is required if you are using MySQL database.' => 'Ini diperlukan apabila anda menggunakan database MySQL',
  'This is required if you are using PostgreSQL database.' => 'Ini diperlukan apabila anda menggunakan database PostgreSQL',
  'This is required if you are using SQLite database.' => 'Ini diperlukan apabila anda menggunakan database SQLite',
  'To use memcached set CMemCache::useMemcached to true.' => 'Untuk menggunakan memcached set CMemCache::useMemcached menjadi true.',
  'Unable to determine URL path info. Please make sure $_SERVER["PATH_INFO"] (or $_SERVER["PHP_SELF"] and $_SERVER["SCRIPT_NAME"]) contains proper value.' => 'Tidak dapat menentukan info alur URL. Harap memastikan $_SERVER["PATH_INFO"] (atau $_SERVER["PHP_SELF"] dan $_SERVER"SCRIPT_NAME"]) berisi nilai yang benar.',
);


code:
<?php
/**
 * Message translations.
 *
 * This file is automatically generated by 'yiic message' command.
 * It contains the localizable messages extracted from source code.
 * You may modify this file by translating the extracted messages.
 *
 * Each array element represents the translation (value) of a message (key).
 * If the value is empty, the message is considered as not translated.
 * Messages that no longer need translation will have their translations
 * enclosed between a pair of '@@' marks.
 *
 * NOTE, this file must be saved in UTF-8 encoding.
 *
 * @version $Id: $
 */
return array (
  '$_SERVER does not have {vars}.' => '$_SERVER non contiene {vars}.',
  '$_SERVER variable' => 'variabile $_SERVER',
  '$_SERVER["SCRIPT_FILENAME"] must be the same as the entry script file path.' => '$_SERVER["SCRIPT_FILENAME"] deve essere identico al path del file di entrata.',
  'APC extension' => 'Estensione APC',
  'All DB-related classes' => 'Tutte le classi legate al DB',
  'DOM extension' => 'Estensione DOM',
  'Either $_SERVER["REQUEST_URI"] or $_SERVER["QUERY_STRING"] must exist.' => 'Uno tra $_SERVER["REQUEST_URI"] o $_SERVER["QUERY_STRING"] deve esistere',
  'GD extension' => 'Estensione GD',
  'Mcrypt extension' => 'Estensione Mcrypt',
  'Memcache extension' => 'Estensione Memcache',
  'PCRE extension' => 'Estensione PCRE',
  'PDO MySQL extension' => 'Estensione PDO MySQL',
  'PDO PostgreSQL extension' => 'Estensione PDO PostgreSQL',
  'PDO SQLite extension' => 'Estensione PDO SQLite',
  'PDO extension' => 'Estensione PDO',
  'PHP 5.1.0 or higher is required.' => 'È richiesto PHP 5.1.0 o superiore',
  'PHP version' => 'Versione PHP',
  'Reflection extension' => 'Estensione Reflection',
  'SOAP extension' => 'Estensione SOAP',
  'SPL extension' => 'Estensione SPL',
  'This is required if you are using MySQL database.' => 'Necessario se si utilizza il database MySQL.',
  'This is required if you are using PostgreSQL database.' => 'Necessario se si utilizza il database PostgreSQL.',
  'This is required if you are using SQLite database.' => 'Necessario se si utilizza il database SQLite .',
  'Unable to determine URL path info. Please make sure $_SERVER["PATH_INFO"] (or $_SERVER["PHP_SELF"] and $_SERVER["SCRIPT_NAME"]) contains proper value.' => 'Impossibile determinare il path dell\'URL. Assicurarsi che $_SERVER["PATH_INFO"] (o $_SERVER["PHP_SELF"] e $_SERVER["SCRIPT_NAME"]) contengano valori adeguati.',
);


code:
<?php
/**
 * Message translations.
 *
 * This file is automatically generated by 'yiic message' command.
 * It contains the localizable messages extracted from source code.
 * You may modify this file by translating the extracted messages.
 *
 * Each array element represents the translation (value) of a message (key).
 * If the value is empty, the message is considered as not translated.
 * Messages that no longer need translation will have their translations
 * enclosed between a pair of '@@' marks.
 *
 * NOTE, this file must be saved in UTF-8 encoding.
 *
 * @version $Id: yii.php,v 1.2 2009-01-16 18:45:59+09 mocapapa Exp mocapapa $
 */
return array (
  'GD extension with
FreeType support'=>'GD拡張 (FreeTypeサポート)',
  'GD installed
FreeType support not installed' => 'GDはインストールされています。
FreeTypeサポートはインストールされていません。',
  'GD not installed' => 'GDがインストールされていません。',
  '$_SERVER does not have {vars}.' => '$_SERVERは{vars}を持ちません。',
  '$_SERVER variable' => '$_SERVER変数',
  '$_SERVER["SCRIPT_FILENAME"] must be the same as the entry script file path.' => '$_SERVER["SCRIPT_FILENAME"]はエントリスクリプトのパスと同じであるべきです。',
  'APC extension' => 'APC拡張',
  'All DB-related classes' => '全てのデータベース関連クラス',
  'DOM extension' => 'DOM拡張',
  'Either $_SERVER["REQUEST_URI"] or $_SERVER["QUERY_STRING"] must exist.' => '$_SERVER["REQUEST_URI"]か$_SERVER["QUERY_STRING"]が存在するべきです。',
  'Mcrypt extension' => 'Mcrypt拡張',
  'Memcache extension' => 'Memcache拡張',
  'PCRE extension' => 'PCRE拡張',
  'PDO MySQL extension' => 'PDO MySQL拡張',
  'PDO PostgreSQL extension' => 'PDO PostgreSQL拡張',
  'PDO SQLite extension' => 'PDO SQLite拡張',
  'PDO extension' => 'PDO拡張',
  'PHP 5.1.0 or higher is required.' => 'PHP 5.1.0かそれ以上が必要です。',
  'PHP version' => 'PHP版数',
  'Reflection extension' => 'Reflection拡張',
  'SOAP extension' => 'SOAP拡張',
  'SPL extension' => 'SPL拡張',
  'This is required by encrypt and decrypt methods.' => 'これは暗号化と複号に必要です。',
  'This is required if you are using MySQL database.' => 'これはMySQLデータベースをお使いなら必要です。',
  'This is required if you are using PostgreSQL database.' => 'これはPostgreSQLデータベースをお使いなら必要です。',
  'This is required if you are using SQLite database.' => 'これはSQLiteデータベースをお使いなら必要です。',
  'Unable to determine URL path info. Please make sure $_SERVER["PATH_INFO"] (or $_SERVER["PHP_SELF"] and $_SERVER["SCRIPT_NAME"]) contains proper value.' => 'URLパス情報を決定できません。$_SERVER["PATH_INFO"](もしくは$_SERVER["PHP_SELF"]と$_SERVER["SCRIPT_NAME"])が正しい値かどうか確認してください。',
);


code:
<?php
/**
 * Message translations.
 *
 * This file is automatically generated by 'yiic message' command.
 * It contains the localizable messages extracted from source code.
 * You may modify this file by translating the extracted messages.
 *
 * Each array element represents the translation (value) of a message (key).
 * If the value is empty, the message is considered as not translated.
 * Messages that no longer need translation will have their translations
 * enclosed between a pair of '@@' marks.
 *
 * NOTE, this file must be saved in UTF-8 encoding.
 *
 * @version $Id: $
 */
return array (
  '$_SERVER does not have {vars}.' => '$_SERVER heeft geen {vars}.',
  '$_SERVER variable' => '$_SERVER variabele',
  '$_SERVER["SCRIPT_FILENAME"] must be the same as the entry script file path.' => '$_SERVER["SCRIPT_FILENAME"] moet hetzelfde zijn als het bestandspad van het startscript.',
  'APC extension' => 'APC extensie',
  'All DB-related classes' => 'Alle DB-gerelateerde classes',
  'DOM extension' => 'DOM extensie',
  'Either $_SERVER["REQUEST_URI"] or $_SERVER["QUERY_STRING"] must exist.' => 'Of $_SERVER["REQUEST_URI"] of $_SERVER["QUERY_STRING"] moet gedefinieerd zijn.',
  'GD extension' => 'GD extensie',
  'Mcrypt extension' => 'Mcrypt extensie',
  'Memcache extension' => 'Memcache extensie',
  'PCRE extension' => 'PCRE extensie',
  'PDO MySQL extension' => 'PDO MySQL extensie',
  'PDO PostgreSQL extension' => 'PDO PostgreSQL extensie',
  'PDO SQLite extension' => 'PDO SQLite extensie',
  'PDO extension' => 'PDO extensie',
  'PHP 5.1.0 or higher is required.' => 'PHP 5.1.0 of hoger is vereist.',
  'PHP version' => 'PHP versie',
  'Reflection extension' => 'Reflection extensie',
  'SOAP extension' => 'SOAP extensie',
  'SPL extension' => 'SPL extensie',
  'This is required if you are using MySQL database.' => 'Dit is vereist als een MySQL database wordt gebruikt.',
  'This is required if you are using PostgreSQL database.' => 'Dit is vereist als een PostgreSQL database wordt gebruikt.',
  'This is required if you are using SQLite database.' => 'Dit is vereist als een SQLite database wordt gebruikt.',
  'Unable to determine URL path info. Please make sure $_SERVER["PATH_INFO"] (or $_SERVER["PHP_SELF"] and $_SERVER["SCRIPT_NAME"]) contains proper value.' => 'Niet in staat om informatie over het URL pad te verkrijgen. Zorg er a.u.b. voor dat $_SERVER["PATH_INFO"] (of $_SERVER["PHP_SELF"] en $_SERVER["SCRIPT_NAME"]) een juiste waarde bevatten.',
);


code:
<?php
/**
 * Message translations.
 *
 * This file is automatically generated by 'yiic message' command.
 * It contains the localizable messages extracted from source code.
 * You may modify this file by translating the extracted messages.
 *
 * Each array element represents the translation (value) of a message (key).
 * If the value is empty, the message is considered as not translated.
 * Messages that no longer need translation will have their translations
 * enclosed between a pair of '@@' marks.
 *
 * NOTE, this file must be saved in UTF-8 encoding.
 *
 * @version $Id: $
 */
return array (
  '$_SERVER does not have {vars}.' => '$_SERVER inneholder ikke {vars}',
  '$_SERVER variable' => '$_SERVER variabel',
  '$_SERVER["SCRIPT_FILENAME"] must be the same as the entry script file path.' => '$_SERVER["SCRIPT_FILENAME"] må være lik filbanen til startscriptet',
  'APC extension' => 'APC-tillegg',
  'All DB-related classes' => 'Alle DB-relaterte klasser',
  'DOM extension' => 'DOM-extension',
  'Either $_SERVER["REQUEST_URI"] or $_SERVER["QUERY_STRING"] must exist.' => '',
  'GD extension' => 'GD-extension',
  'Mcrypt extension' => 'Mcrypt-extension',
  'Memcache extension' => 'Memcache-extension',
  'PCRE extension' => 'PCRE-extension',
  'PDO MySQL extension' => 'PDO MYSQL-extension',
  'PDO PostgreSQL extension' => 'PDO PostgreSQL-extension',
  'PDO SQLite extension' => 'PDO SQLite-extension',
  'PDO extension' => 'PDO-extension',
  'PHP 5.1.0 or higher is required.' => 'PHP 5.1.0 eller nyere er påkrevet',
  'PHP version' => 'PHP-versjon',
  'Reflection extension' => 'Reflection-extension',
  'SOAP extension' => 'SOAP-extension',
  'SPL extension' => 'SPL-extension',
  'This is required by encrypt and decrypt methods.' => 'Dette kreves av kryptering- og dekrypteringsmetodene.',
  'This is required if you are using MySQL database.' => 'Dette kreves hvis du bruker en MySQL database.',
  'This is required if you are using PostgreSQL database.' => 'Dette kreves hvis du bruker en PostgreSQL database.',
  'This is required if you are using SQLite database.' => 'Dette kreves hvis du bruker en SQLite database.',
  'Unable to determine URL path info. Please make sure $_SERVER["PATH_INFO"] (or $_SERVER["PHP_SELF"] and $_SERVER["SCRIPT_NAME"]) contains proper value.' => 'Kunne ikke finne path info. Vennligst sjekk at $_SERVER["PATH_INFO"] (eller $_SERVER["PHP_SELF"] og $_SERVER["SCRIPT_NAME"]) inneholder riktige verdier.',
);


code:
<?php
/**
 * Message translations.
 *
 * This file is automatically generated by 'yiic message' command.
 * It contains the localizable messages extracted from source code.
 * You may modify this file by translating the extracted messages.
 *
 * Each array element represents the translation (value) of a message (key).
 * If the value is empty, the message is considered as not translated.
 * Messages that no longer need translation will have their translations
 * enclosed between a pair of '@@' marks.
 *
 * NOTE, this file must be saved in UTF-8 encoding.
 *
 * @version $Id: $
 */
return array (
  'GD extension with
FreeType support' => 'Rozszerzenie GD
ze wsparciem dla FreeType',
  'GD installed
FreeType support not installed' => 'Rozszerzenie GD jest zainstalowane
ale bez wsparcia FreeType',
  'GD not installed' => 'Nie zainstalowano GD',
  '$_SERVER does not have {vars}.' => '$_SERVER nie posiada zmiennej(nych) {vars}',
  '$_SERVER variable' => 'zmienna $_SERVER',
  '$_SERVER["SCRIPT_FILENAME"] must be the same as the entry script file path.' => '$_SERVER["SCRIPT_FILENAME"] musi być taki sam jak ścieżka pliku skryptu wejściowego.',
  'APC extension' => 'rozszerzenie APC',
  'All DB-related classes' => 'Wszystkie klasy bazodanowe',
  'DOM extension' => 'rozszerzenie DOM',
  'Either $_SERVER["REQUEST_URI"] or $_SERVER["QUERY_STRING"] must exist.' => 'Zarówno $_SERVER["REQUEST_URI"] jak i $_SERVER["QUERY_STRING"] muszą istnieć.',
  'Mcrypt extension' => 'rozszerzenie Mcrypt',
  'Memcache extension' => 'rozszerzenie Memcache',
  'PCRE extension' => 'rozszerzenie PCRE',
  'PDO MySQL extension' => 'rozszerzenie PDO MySQL',
  'PDO PostgreSQL extension' => 'rozszerzenie PDO PostgreSQL ',
  'PDO SQLite extension' => 'rozszerzenie PDO SQLite ',
  'PDO extension' => 'rozszerzenie PDO',
  'PHP 5.1.0 or higher is required.' => 'Wymagane jest PHP w wersji 5.1.0 lub wyższej',
  'PHP version' => 'wersja PHP',
  'Reflection extension' => 'rozszerzenie Reflection',
  'SOAP extension' => 'rozszerzenie SOAP',
  'SPL extension' => 'rozszerzenie SPL',
  'This is required by encrypt and decrypt methods.' => 'Wymagane przez metody szyfrujące i deszyfrujące.',
  'This is required if you are using MySQL database.' => 'Wymagane jeśli używasz bazy danych MySQL.',
  'This is required if you are using PostgreSQL database.' => 'Wymagane jeśli używasz bazy danych PostgreSQL.',
  'This is required if you are using SQLite database.' => 'Wymagane jeśli używasz bazy danych SQLite',
  'Unable to determine URL path info. Please make sure $_SERVER["PATH_INFO"] (or $_SERVER["PHP_SELF"] and $_SERVER["SCRIPT_NAME"]) contains proper value.' => 'Nie można określić ścieżki URL. Upewnij się, że $_SERVER["PATH_INFO"] (lub $_SERVER["PHP_SELF"] oraz $_SERVER["SCRIPT_NAME"]) zawierają odpowiednie wartości.',
);