Entire Messages into javascript object

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

next (#2) »

I needed the 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()

    public function getLoadedMessages($category = 'core') 
        return $this->loadMessages($category, Yii::app()->language);
  1. You add this to protected/config/main.php into components array:
'messages' => array(
            'class' => 'APhpMessageSource'
  1. 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;

1 0
Viewed: 10 220 times
Version: Unknown (update)
Category: How-tos
Written by: markux
Last updated by: markux
Created on: Aug 24, 2012
Last updated: 11 years ago
Update Article


View all history

Related Articles