Home  >  Article  >  Backend Development  >  Yii Framework development tutorial multi-language examples_PHP tutorial

Yii Framework development tutorial multi-language examples_PHP tutorial

WBOY
WBOYOriginal
2016-07-14 10:07:59814browse

Generally speaking, to achieve information translation, the following steps need to be performed:

Call Yii::t() at the appropriate location;
Create a PHP translation file in the format protected/messages/LocaleID/CategoryName.php. Each file simply returns an array of message translations. Note that this assumes you use the default CPhpMessageSource to store translation information.
Configure CApplication::sourceLanguage and CApplication::language.
So the first step is to add the appropriate configuration to the Application:
[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',
),),
);
// 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',
),),
);
The source language is en, the directory language is Chinese (zh_cn), and the directory of translated information is protected/messages.
Then create the zh_cn directory in protected/messages. If you need to support other languages, you can create the corresponding directory, and then create a yii.php in zh_cn, where yii is used as the category name for translation (you can choose your own name).
Check the places in the code that need to be translated, and then define the corresponding translations in the yii.php file:
[php]
return array (
'Application Name' => 'Application Name',
'Greetings from Santa'=>'Greetings from Santa',
'firstName'=>'name',
'lastName'=>'Last Name',
'Choose your Christmas Gift'=>'Choose your favorite Christmas gift',
'iPad'=>'iPad',
'Remote control helicopter'=>'Remote control helicopter',
'60 inch 3D LED TV'=>'60 inch 3D LED TV',
'Holy Bible'=>'Bible',
'Choose your Christmas dinner'=>'Choose your Christmas dinner',
'Egg'=>'Egg',
'Ham'=>'Ham',
'Chicken'=>'Chicken',
'Pork'=>'Pork',
'Beer'=>'Beer',
'Coke'=>'Coke',
'Wine'=>'baijiu',
'Submit'=>'Submit',
'Merry Christmas'=>'Merry Christmas',
'On Christmas Day,You will be given'=>'On Christmas Day, You will be given',
'And you will have'=>'You can have',
'for Christmas dinner'=>'As a Christmas dinner',
'Start Again'=>'Reselect'
);
1
Create the default data model::t('yii',xxx);createDataModel.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'=>Read::t('read','Holy Bible'),  
   );  
}  
 
public function getMeals()  
{  
    return array(  
      '1'=>Yii::t('yii','Do'),  
      '2'=>Yii::t('yii','Ham'),  
      '3'=>Yii::t('yii','Chicken'),  
      '4'=>Yii::t('yii','Pork'),  
      '5'=>This::t('yii','Beer'),  
      '6'=>Yii::t('yii','Coke'),  
      '7'=>Yii::t('yii','Wine'),  
 );  
}  
 
return array (
 
'Application Name' => 'Friendly Beauty',
'Greetings from Santa'=>'Greetings from Santa',
'firstName'=>'名',
'lastName'=>'姓',
'Choose your Christmas Gift'=>'Choose your Christmas gift',
'iPad'=>'iPad',
'Remote Control Helicopter'=>'Remote control',
'60 inch 3D LED TV'=>'60寸3D LED电视',
'Holy Bible'=>'圣经',
'Choose your Christmas dinner'=>'
'Egg'=>'鸡蛋',
'Ham'=>'火腿',
'Chicken'=>'鸡',
'Pork'=>'猪肉',
'Beer'=>'啤酒',
'Coke'=>'可乐',
'Wine'=>'白酒',
'Submit'=>'Submit',
'Merry Christmas'=>'圣诞快乐',
'On Christmas Day,You will be given'=>'
'And you will have'=>'你可以有',
'for Christmas dinner'=>'
'Start Again'=>'
);
1
 
Create the default template::t('yii',xxx);createDataModel.php
1
public function getGifts()
{
return array(
'1'=>Yii::t('ii','iPad'),
'2'=>Yii::t('yii','Remote control helicopter'),
'3'=>Yii::t('yii','60 inch 3D LED TV'),
'4'=>See::t('see','Holy Bible'),
);
}
 
public function getMeals()
{
return array(
'1'=>This::t('do','Egg'),
'2'=>This::t('yi','Ham'),
'3'=>Yii::t('yii','Chicken'),
'4'=>Yii::t('yii','Pork'),
'5'=>This::t('yii','Beer'),
'6'=>Yii::t('yii','Coke'),
'7'=>Yii::t('yii','Wine'),
);
}
 
 

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/477817.htmlTechArticleIn general, to achieve information translation, you need to perform the following steps: Call Yii::t at the appropriate location () ; Create a PHP translation in the format of protected/messages/LocaleID/CategoryName.php...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn