- 1 第一个应用 Hello World
- 2 Yii Web 应用基础
- 3 为应用添加日志
- 4 Hangman 猜单词游戏实例
- 5 URL 管理
- 6 CComponent 组件
- 7 使用 CHtml 创建 Form
- 8 使用 FormModel
- 9 UI 组件 Widget 概述
- 10 UI 组件 自定义组件
- 11 UI 组件 ActiveForm 示例
- 12 UI 组件 ClipWidget 示例
- 13 UI 组件 ContentDecorator 示例
- 14 UI 组件 MaskedTextField 示例
- 15 UI 组件 MultiFileUpload 示例
- 16 UI 组件 StarRating 示例
- 17 UI 组件 TabView 示例
- 18 UI 组件 TextHighlighter 示例
- 19 UI 组件 TreeView 示例
- 20 UI 组件 Captcha 示例
- 21 UI 组件 自定义 Captcha 示例
- 22 UI 组件 Zii 组件简介
- 23 数据库-概述
- 24 数据库-DAO 示例
- 25 数据库-Query Builder 示例
- 26 数据库-Active Record 示例
- 27 数据库-关联 Active Record 示例
- 28 Data Provider 简介
- 29 Zii 组件-Menu 示例
- 30 Zii 组件-ListView 示例
- 31 Zii 组件-DetailView 示例
- 32 Zii 组件-GridView 示例
- 33 Zii 组件-Accordion 示例
- 34 Zii 组件-AutoComplete 示例
- 35 Zii 组件-Button 示例
- 36 Zii 组件-DatePicker 示例
- 37 Zii 组件-Dialog 示例
- 38 Zii 组件-ProgressBar 示例
- 39 Zii 组件-Slider 示例
- 40 Zii 组件-SliderInput 示例
- 41 Zii 组件-Tabs 示例
- 42 Zii 组件-Draggable 示例
- 43 Zii 组件-Droppable 示例
- 44 Zii 组件-Resizable 示例
- 45 Zii 组件-Selectable 示例
- 46 Zii 组件-Sortable 示例
- 47 主题 Theme 示例
- 48 多国语言示例
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
48 多国语言示例
本例通过 Yii Framework 开发教程(11) UI 组件 ActiveForm 示例 添加中文支持简要说明一下多国语言支持。详细文档可可以参考 Yii 文档 。
信息翻译是通过调用 Yii::t() 实现的。此方法会将信息从 源语言 翻译为 目标语言 。
总体来说,要实现信息翻译,需要执行如下几步:
- 在合适的位置调用 Yii::t() ;
- 以 protected/messages/LocaleID/CategoryName.php 的格式创建 PHP 翻译文件。 每个文件简单的返回一个信息翻译数组。 注意,这是假设你使用默认的 CPhpMessageSource 存储翻译信息。
- 配置 CApplication::sourceLanguage 和 CApplication::language 。
因此第一步为 pplication 添加合适的配置:
<?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'), ); }
图片 48.1 picture48.1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论