我们要开启组件中们关于语言的配置,默认的就是CPhpMessageSource,也可以改为其他的方式。


#组件配置中
 'messages' => array(
    'class'=>'CPhpMessageSource',   
 ),

Yii 含有如下几种信息源。你也可以扩展 CMessageSource 创建自己的信息源类型。

  • CPhpMessageSource: 信息的翻译存储在一个 PHP 的 键值对 数组中。 原始信息为键,翻译后的信息为值。每个数组表示一个特定信息分类的翻译,分别存储在不同的 PHP 脚本文件中,文件名即分类名。 针对同一种语言的 PHP 翻译文件存储在同一个以区域 ID 命名的目录中。而所有的这些目录位于 basePath 指定的目录中。

  • CGettextMessageSource: 信息的翻译存储在 GNU Gettext 文件中。

  • CDbMessageSource: 信息的翻译存储在数据库的表中。更多细节,请查看 CDbMessageSource 的 API 文档。

     信息源是作为一个 应用程序组件 载入的。 Yii 预定义了一个名为 messages 的应用程序组件以存储用户程序中用到的信息。 默认情况下,此信息源的类型是 CPhpMessageSource ,而存储这些 PHP 翻译文件的目录是 protected/messages


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

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

    echo Yii::t('common','error_404');

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

    return array(

    'error_404' => '抱歉,没有找到页面!',

    );

    注意:CategoryName是自定义的,比如我把通用的一些提示语言都放在common.php中,把相关模块的语言都放在moduleName.php中。

  3. 配置 CApplication::sourceLanguage 和 CApplication::language

在一个 Yii 应用程序中,我们区分了它的 目标语言(target language) 和 源语言(source language)
目标语言是应用程序的目标用户的语言(区域), 而源语言是指写在应用程序源代码中的语言(区域)。国际化仅会在这两种语言不同的情况下发生。

#配置文件中
'sourceLanguage'=>'en_us',
'language'=>'zh_cn',

最新文章

  1. 当前端也拥有 Server 的能力
  2. Selenium Remote-Control架构
  3. Linux下安装Java环境配置步骤详述
  4. MySQL Database on Azure 参数设置
  5. [bzoj 1004][HNOI 2008]Cards(Burnside引理+DP)
  6. android.os.DeadObjectException memory near r0: 异常处理 Consumer closed input channel or an error occurred. events=0x9
  7. AppUse学习笔记
  8. IOS开发之动态获取模型的属性值
  9. [转载] .NET 中可以有类似 JVM 的幻像引用吗?
  10. java(8)二重循环
  11. os、os.path模块(文件/目录方法)
  12. 【mysql】一个很小但很影响速度的地方
  13. 安装tensorflow,那叫一个坑啊
  14. Python2 字典 cmp() 函数
  15. 在普通Java类里使用spring里注入的service、dao等
  16. RedHat Linux文本模式下乱码解决方法
  17. LOJ#2882. 「JOISC 2014 Day4」两个人的星座(计算几何)
  18. 牛B三人组-快速排序-堆排序-归并排序
  19. sql: Compare Tables
  20. MFC【17-1】线程和线程同步化

热门文章

  1. java String 中 intern方法的概念
  2. CF459B Pashmak and Flowers (水
  3. 在Linux下和Windows下遍历目录的方法及如何达成一致性操作
  4. Slave_SQL_Running: No mysql同步故障解决方法
  5. SQL--表分区
  6. 清北学堂模拟day4 捡金币
  7. 浏览器兼容性之JavaScript篇
  8. poj3335 半交平面,多边形内核
  9. CSS vertical-align 属性
  10. android版微信5.2.1更新 支持微信聊天记录备份到电脑上