程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> Yii Framework 開發教程多國語言示例

Yii Framework 開發教程多國語言示例

編輯:關於PHP編程

總體來說,要實現信息翻譯,需要執行如下幾步:   在合適的位置調用 Yii::t() ; 以 protected/messages/LocaleID/CategoryName.php 的格式創建 PHP 翻譯文件。 每個文件簡單的返回一個信息翻譯數組。 注意,這是假設你使用默認的 CPhpMessageSource 存儲翻譯信息。 配置 CApplication::sourceLanguage 和 CApplication::language。 因此第一步為Application添加合適的配置:     [php]   <?php      // This is the main Web application configuration. Any writable    // CWebApplication properties can be configured here.    return array(   'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',   'sourceLanguage'=>'en',   'language'=>'zh_cn',   'name'=>'i18nDemo',      ...   // application components    'components'=>array(   'coreMessages'=>array(           'basePath'=>'protected/messages',           ),),   );     <?php   // This is the main Web application configuration. Any writable // CWebApplication properties can be configured here. return array( 'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..', 'sourceLanguage'=>'en', 'language'=>'zh_cn', 'name'=>'i18nDemo',   ... // application components 'components'=>array( 'coreMessages'=>array( 'basePath'=>'protected/messages', ),), );   源語言為en,目錄語言為中文(zh_cn) ,翻譯信息的目錄為protected/messages.   然後再protected/messages 創建zh_cn 目錄,如果還需要支持其它語言,可以創建相應的目錄,然後在zh_cn創建一個yii.php ,其中yii 做為翻譯時的分類名(你可以選擇你自己喜歡的名字)。 檢查代碼中需要翻譯的地方,然後在yii.php 文件中定義對應的翻譯:     [php]   return array (          'Application Name' => '應用程序名稱',       'Greetings from Santa'=>'來自聖誕老人的問候',       'firstName'=>'名',       'lastName'=>'姓',       'Choose your Christmas Gift'=>'選擇你喜歡的聖誕禮物',       'iPad'=>'iPad',       'Remote control helicopter'=>'遙控直升飛機',       '60 inch 3D LED TV'=>'60寸3D LED電視',       'Holy Bible'=>'聖經',       'Choose your Christmas dinner'=>'選擇你聖誕節晚餐',       'Egg'=>'雞蛋',       'Ham'=>'火腿',       'Chicken'=>'雞',       'Pork'=>'豬肉',       'Beer'=>'啤酒',       'Coke'=>'可樂',       'Wine'=>'白酒',       'Submit'=>'提交',       'Merry Christmas'=>'聖誕快樂',       'On Christmas Day,You will be given'=>'聖誕節那天你將獲得',       'And you will have'=>'你可以有',       'for Christmas dinner'=>'作為聖誕晚餐',       'Start Again'=>'重新選擇'   );   1      然後將原先使用英文字符串的地方換成yii::t('yii',xxx);比如DataModel.php   1   public function getGifts()   {       return array(           '1'=>Yii::t('yii','iPad'),           '2'=>Yii::t('yii','Remote control helicopter'),           '3'=>Yii::t('yii','60 inch 3D LED TV'),           '4'=>Yii::t('yii','Holy Bible'),           );   }      public function getMeals()   {       return array(           '1'=>Yii::t('yii','Egg'),           '2'=>Yii::t('yii','Ham'),           '3'=>Yii::t('yii','Chicken'),           '4'=>Yii::t('yii','Pork'),           '5'=>Yii::t('yii','Beer'),           '6'=>Yii::t('yii','Coke'),           '7'=>Yii::t('yii','Wine'),       );   }     return array (   'Application Name' => '應用程序名稱', 'Greetings from Santa'=>'來自聖誕老人的問候', 'firstName'=>'名', 'lastName'=>'姓', 'Choose your Christmas Gift'=>'選擇你喜歡的聖誕禮物', 'iPad'=>'iPad', 'Remote control helicopter'=>'遙控直升飛機', '60 inch 3D LED TV'=>'60寸3D LED電視', 'Holy Bible'=>'聖經', 'Choose your Christmas dinner'=>'選擇你聖誕節晚餐', 'Egg'=>'雞蛋', 'Ham'=>'火腿', 'Chicken'=>'雞', 'Pork'=>'豬肉', 'Beer'=>'啤酒', 'Coke'=>'可樂', 'Wine'=>'白酒', 'Submit'=>'提交', 'Merry Christmas'=>'聖誕快樂', 'On Christmas Day,You will be given'=>'聖誕節那天你將獲得', 'And you will have'=>'你可以有', 'for Christmas dinner'=>'作為聖誕晚餐', 'Start Again'=>'重新選擇' ); 1   然後將原先使用英文字符串的地方換成yii::t('yii',xxx);比如DataModel.php 1 public function getGifts() { return array( '1'=>Yii::t('yii','iPad'), '2'=>Yii::t('yii','Remote control helicopter'), '3'=>Yii::t('yii','60 inch 3D LED TV'), '4'=>Yii::t('yii','Holy Bible'), ); }   public function getMeals() { return array( '1'=>Yii::t('yii','Egg'), '2'=>Yii::t('yii','Ham'), '3'=>Yii::t('yii','Chicken'), '4'=>Yii::t('yii','Pork'), '5'=>Yii::t('yii','Beer'), '6'=>Yii::t('yii','Coke'), '7'=>Yii::t('yii','Wine'), ); }     201212129020

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved