Yii 国际化的实现

全局配置

第一在 main.php 配置文件里加上'language'=>'zh_cn' 或'sourceLanguage'=>'zh_cn' , 告诉程序这是中文的,你去找中文包去(zh_cn).

第二在你对应的 model 里面加上以下代码,例如 Post model,

Java代码  

  1. public function rules()  
  2. {  
  3.     return array(  
  4.         array('password','compare', 'message'=>Yii::t('models/Post','content')),  
  5.     );  
  6. }  
  7. public function attributeLabels()  
  8. {  
  9.     return array(  
  10.         'p_id'         => Yii::t('models/Post','id'),  
  11.         'p_title'      => Yii::t('models/Post','title'),  
  12.         'p_content'  => Yii::t('models/Post','content'),  
  13.         'p_addtime'     => 'PAddtime',  
  14.     );  
  15. }  

得到某一个

Java代码  

  1. $model->getAttributeLabel('p_content');    
  2. <?php echo $form->label($model,'name'); ?  

 

Yii::t() 就是自动去找你的资源文件。参数第一个是路径,不用加.php, 后面是对应的名字

第三在 messages/ 下面新建 zh_cn/models/Post.php,内容是如下 不要命名成系统默认的YII,Zii

Java代码  

  1. <?php  
  2. return  array(  
  3.     'Post'    => 'y1_post',  
  4.     'id'    => '编号',  
  5.     'title'    => '标题',  
  6.     'content'=>'内容'  
  7. );  

之后就好了。如果你还有英文以及其它语道理是一样的。

To get current language: 
$lang = Yii::app()->language;

To set current language:
Yii::app()->language = 'en';

部分配置

我们可以在应用程序配置文件进行设置,这样该设置将会对整个网站起作用 。但是我们只想翻译登录表单 ,所以我们只需要在SiteController::actionLogin()方法内进行设置,所以该设置只会在渲染登录表单时有效。所以打开该文件,在方法的开头按照如下形式设置目标语言

Java代码  

  1. public function init() {  
  2.     if (Yii::app()->getRequest()->getServerName()=='cn.domain.com') {                 
  3.             Yii::app()->language='zh_cn';  
  4.     }  
  5. }  

 

Java代码  

  1. public function actionLogin()   
  2. {  
  3.     Yii::app()->language = 'zh_cn';  
时间: 2024-09-21 11:50:02

Yii 国际化的实现的相关文章

YII Framework框架教程之国际化实现方法_php实例

本文讲述了YII Framework框架教程之国际化实现方法.分享给大家供大家参考,具体如下: 一个web应用,发布到互联网,就是面向全球用户.用户在世界的各个角落都可以访问到你的web应用,当然要看你的网站和不和谐,不和谐的web应用在和谐社会是不让你访问的. YII提供了国际化的支持,可以让我们创建的应用适合不同语言的人群. 国际化是一个很花哨的东西,没有哪个大型的网站真正能做到国际化.大多都是针对不懂的语言,不同地区设计不同的网站.如果你的应用相对较小,处理的东西不多,那么国际化起来的东西

Yii 快速,安全,专业的PHP框架_php基础

Yii是一个高性能的,适用于开发WEB2.0应用的PHP框架. Yii自带了丰富的功能 ,包括MVC,DAO/ActiveRecord,I18N/L10N,缓存,身份验证和基于角色的访问控制,脚手架,测试等,可显著缩短开发时间 官方网站:http://www.yiiframework.com/ Yii快速 Yii 只加载您需要的功能.它具有强大的缓存支持.它明确的设计能与 AJAX 一起高效率的工作. Yii安全 Yii 的标准是安全的.它包括了输入验证,输出过滤,SQL 注入和跨站点脚本的预防

详解PHP的Yii框架中扩展的安装与使用_php技巧

扩展是专门设计的在 Yii 应用中随时可拿来使用的, 并可重发布的软件包.例如, yiisoft/yii2-debug 扩展在你的应用的每个页面底部添加一个方便用于调试的工具栏, 帮助你简单地抓取页面生成的情况. 你可以使用扩展来加速你的开发过程. 信息:本文中我们使用的术语 "扩展" 特指 Yii 软件包.而用术语 "软件包" 和 "库" 指代非 Yii 专用的通常意义上的软件包.使用扩展 要使用扩展,你要先安装它.大多数扩展以 Compose

Yii framework框架之模块开发工作笔记

个稍微大点的项目,如果按照yii生成的webapp进行开发.所有的controller放到controllers文件夹下,所有的model放到models文件夹下面,如果你有 n 多个 controller 和 n 多的 model ,这种情况下维护代码将是一个非常痛苦的过程.为了避免这种情况,Yii 提供了一种 Modules(模块) 的目录结构方式. Modules(模块) 是一个独立的单元,包含视图.控制器和其它组件,它和一个应用的区别是不能单独部署,模块都保存在应用的 moudules

Yii2 添加国际化支持

链接 版本 配置 使用 英文 0 链接 http://alex-my.xyz/web/Yii2-添加国际化支持 1 版本 // yii\BaseYii\getVersion public static function getVersion() { return '2.0.10'; } 2 配置 基于基础版 创建语言包 在根目录建立一个文件夹messages\zh-CN 在zh-CN中创建两个文件: app.php, error.php // app.php <?php return [ 'lo

YII Framework框架教程之使用YIIC快速创建YII应用详解_php实例

本文实例讲述了YII Framework框架使用YIIC快速创建YII应用的方法.分享给大家供大家参考,具体如下: yii提供了强大的命令行工具来快速的创建相关组件和应用.</span>  cd进入yii/framework框架的根目录. 执行 # php yiic Yii command runner (based on Yii v1.1.8) Usage: yiic <command-name> [parameters...] The following commands ar

Yii PHP Framework v1.1.6发布 大型Web应用高性能PHP框架

Yii是一个基于组件.用于开发大型 Web 应用的高性能 PHP 框架.在WEB开发中Yii可以最大限度的实现代码重用,极大的提高开发的速度.名字Yii(读音是Yee or [ji:],应该就是"易"的读音 )代表的是容易(easy),高效(effcient)和可扩展(extensible). 这便是基于组件的,高性能的phphttp://www.aliyun.com/zixun/aggregation/13435.html">开发框架,yii.是开发大型网站最好的选择

Yii核心验证器api详解

本文实例讲述了Yii核心验证器api.分享给大家供大家参考,具体如下: 核心验证器 Core Validators 前言 Yii 提供了一系列常用的核心 validators, 你可在 yii\validators namespace 中找到. 不用使用长的验证器类名, 你可以使用别名代替他们. 例如, 你可以使用别名 required 代替 yii\validators\RequiredValidator 类: <?php public function rules() { return [

PHP开发框架Yii Framework教程(24) 数据库-DAO示例

据访问对象(DAO) 对访问存储在不同数据库管理系统(DBMS)中的数据提供了一个通用的API. 因此,在将底层 DBMS 更 换为另一个时,无需修改使用了 DAO 访问数据的代码. Yii DAO 基于 PHP Data Objects (PDO) 构建.它是一个为众多 流行的DBMS提供统一数据访问的扩展,这些 DBMS 包括 MySQL, PostgreSQL 等等.因此,要使用 Yii DAO,PDO 扩展和特定的 PDO 数据库驱动(例如PDO_MYSQL) 必须安装. Yii DAO