PHP开发框架Yii Framework教程(48) 多国语言示例

本例通过Yii Framework 开发教程(11) UI 组件 ActiveForm示例添加中文支持简要说明一下多国语言支持。详细文档可可以 参考Yii文档。

信息翻译是通过调用 Yii::t() 实现的。此方法会将信息从 源语言 翻译为 目标语言。

总体来说 ,要实现信息翻译,需要执行如下几步:

在合适的位置调用 Yii::t() ;

以 protected/messages/LocaleID/CategoryName.php 的格式创建 PHP 翻译文件。 每个文件简单的返回一个信息翻译数组。 注意 ,这是假设你使用默认的 CPhpMessageSource 存储翻译信息。

配置 CApplication::sourceLanguage 和 CApplication::language。

因此第一步为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',
        ),),
);

源语言为en,目录语言为中文(zh_cn) ,翻译信息的目录为protected/messages.

然后再protected/messages 创建zh_cn 目录,如果还需要支持其它语言,可以创建相应的目录,然后在zh_cn创建一个yii.php ,其中yii 做为翻译时的分 类名(你可以选择你自己喜欢的名字)。

检查代码中需要翻译的地方,然后在yii.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'),
    );
}

查看全套教程:http://www.bianceng.cn/webkf/PHP/201301/35265.htm

本例下载:http://www.imobilebbs.com/download/yii/I18NDemo.zip

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索framework
, yii
, 语言
, 开发框架
, 信息
, winform多国语言版
, 多国语言版
, 多国语言
, yii框架实现登陆
, 示例
ActiveForm
robot framework 示例、yiiframework、yii framework、yii framework 漏洞、yii2 framework,以便于您获取更多的相关知识。

时间: 2024-12-01 00:54:40

PHP开发框架Yii Framework教程(48) 多国语言示例的相关文章

PHP开发框架Yii Framework教程(46) Zii组件-Sortable示例

CJuiSortable显示一个列表,列表中的列表项可以通过拖放重新调整顺序,它封装了 JUI Sortable插件. 其基本用 法如下: <?php Yii::app()->clientScript->registerCss('sortable', " #sortable {list-style-type: none; margin: 0; padding: 0; width: 60%;} #sortable li {margin: 2px; padding: 4px; bo

PHP开发框架Yii Framework教程(45) Zii组件-Selectable示例

CJuiSelectable可以显示一个列表,列表的每个项支持Select事件,它封装了 JUI Selectable插件,其基本用法如下: <?php Yii::app()->clientScript->registerCss('selectable'," #selectable {list-style-type: none; margin: 0; padding: 0; width: 60%;} #selectable li {margin: 2px; padding: 4

PHP开发框架Yii Framework教程(44) Zii组件-Resizable示例

CJuiResizable可以使包含在其中的UI组件支持缩放功能,它封装了 JUI Resizable插件, CJuiResizable基本使用方 法如下: <?php $this->beginWidget('zii.widgets.jui.CJuiResizable', array( 'options'=>array( 'minWidth'=>50, 'minHeight'=>50, 'maxWidth'=>500, 'maxHeight'=>500, ), '

PHP开发框架Yii Framework教程(43) Zii组件-Droppable示例

上篇介绍如果使用UI组件支持拖放,CJuiDroppable表示某个区域可以接受拖拉过来的UI组件,它封装了 JUI Droppable插件 . 我们修改上例,添加一个Droppable区域,当有UI组件拖放到该区域时,显示"Dropped". <?php $this->beginWidget('zii.widgets.jui.CJuiDroppable', array( 'options'=>array( 'drop'=>'js:function(event,

PHP开发框架Yii Framework教程(42) Zii组件-Draggable示例

CJuiDraggable可以使包含着其中的其它UI组件实现拖放功能,它封装了 JUI Draggable插件. 要使某个UI组件可以 拖放,下面为使用CJuiDraggable的基本用法: <?php $this->beginWidget ('zii.widgets.jui.CJuiDraggable', array( 'options'=>array( 'cursor'=>'move', ), 'htmlOptions'=>array( 'style'=>'widt

PHP开发框架Yii Framework教程(40) Zii组件-SliderInput示例

CJuiSliderInput 显示一滑动条,它也封装了 JUI slider插件,可以用在Form中作为用户输入UI组件. 基本用法如 下: <center class="form"> <?php $form=$this->beginWidget('CActiveForm'); ?> <?php echo $form->errorSummary($model); ?> <?php $this->widget('zii.wid

PHP开发框架Yii Framework教程(39) Zii组件-Slider示例

CJuiSlider显示一滑动条,可以通过滑动条来缩放图像或用作其它功能,它封装了 JUI slider插件. 本例通过 CJuiSlider来缩放一副图像: <?php $this->widget('zii.widgets.jui.CJuiSlider', array( 'value'=>50, 'options'=>array( 'min'=>1, 'max'=>100, 'slide'=>'js: function(event,ui){ $("#i

PHP开发框架Yii Framework教程(38) Zii组件-ProgressBar示例

CJuiProgressBar显示一进度条.它封装了 JUI Progressbar插件.CJuiProgressBar显示一进度条.它封装了 JUI Progressbar插件. <?php $this->widget('zii.widgets.jui.CJuiProgressBar', array( 'id'=>'progress', 'value'=>0, 'htmlOptions'=>array( 'style'=>'width:200px; height:20

PHP开发框架Yii Framework教程(37) Zii组件-Dialog示例

CJuiDialog用来显示对话框,模式或非模式对话框.它封装了 JUI Dialog插件. 其基本用法如下 <h2><?php echo 'Dialog';?></h2> <?php $this->beginWidget('zii.widgets.jui.CJuiDialog', array( 'id'=>'mydialog', 'options'=>array( 'title'=>'Dialog', 'width'=>500, '