I needed all messages with their translation into javascript. This is my solution:
1- Extend CPhpMessageSource, creating MPhpMessageSource into protected/components :
class MPhpMessageSource extends CPhpMessageSource
{
public function init()
{
parent::init();
}
public function getLoadedMessages($category = 'core')
{
return $this->loadMessages($category, Yii::app()->language);
}
}
2- You add this to protected/config/main.php into components array:
'messages' => array(
'class' => 'APhpMessageSource'
),
3- You add this code into your view:
<script type="text/javascript">
var messages = <?php echo CJSON::encode(Yii::app()->messages->getLoadedMessages()) ?>;
function t(key) {
return (messages[key]) ? messages[key] : key;
}
//utilization
alert(t('Message'));
</script>
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.