如果你的项目想要支持多语言版本,那么就需要用到 Zend_Translate。Zend_Translate 的详细文档在这里,不过如果想偷懒的话,也很简单,在View Helpers 文档中介绍了如何用 Translate Helper 轻松实现多语言支持。

1. 准备翻译文件

Zend_Translate 支持多种格式的翻译文件。选用何种格式可以参考这里。如果条目不是很多(5000条以下),那么可以考虑用最直观的数组格式,而且可以写到一个 php 文件里。假设,我们需要一个中文版支持,翻译文件命名为 zh_cn.php,放在与 application 平行的 languages 文件夹里。该文件内容如下:

<?php
return array(
'hello_world' => '你好!',
);

2. 加载翻译文件

编辑 html/index.php 文件,在前端控制器运行之前,插入下面的代码:

require_once 'Zend/Registry.php';
require_once 'Zend/Translate.php';
$adapter = new Zend_Translate('array', $rootPath . '/languages/zh_cn.php', 'zh');
Zend_Registry::set('Zend_Translate', $adapter);

上述代码的作用是载入 zh_cn.php,并把它保存成全局变量。Zend_Registry 可以看成是一个全局变量容器。

注意:在保存到 Zend_Registry 中时,键值必须是 Zend_Translate,否则,得不到应有的结果。

3. 在视图中使用翻译条目

编辑 application/views/scripts/index/index.phtml 文件,将原来的“<h1>Hello World!</h1>”替换成:

<h1><?php echo $this->translate('hello_world'); ?></h1>

4. 查看页面

这时,浏览器中看到的应是“你好!”。

最新文章

  1. 火焰图分析openresty性能瓶颈
  2. ViewPager轮播图
  3. jsp中头的导入两种方式区别
  4. 使用COALESCE时注意left join为null的情况
  5. 【zz】matlab 直方图匹配
  6. 必须掌握的八个cmd 命令
  7. C#实现二叉树的各种遍历
  8. Linux环境的PHP执行
  9. javascript基础系列(入门前须知)
  10. StringTokenizer用法
  11. 企业DC Windows运维监控规范及C辅助监控开发实战前奏;
  12. DesignPatterns
  13. C# config配置文件 自定义节点读取
  14. window忘记密码怎么办
  15. 2018年第一篇行动笔记:Reading Log
  16. 数据库的连接、会话与SQLite
  17. 【转载】eclipse常用插件在线安装地址或下载地址
  18. batchGetAnchorLevel(dubbo接口)
  19. 用命令bat打开某个文件或文件夹
  20. JS 作用域 p1

热门文章

  1. Python-aiohttp百万并发
  2. 【面试题003】c数组做为参数退化的问题,二维数组中的查找
  3. 深入浅出Java并发包—原子类操作
  4. java二维码生成与解析代码实现
  5. cojs 简单的区间问题 解题报告
  6. cojs 自己出的题目 解题报告
  7. lintcode :implement queue by two stacks 用栈实现队列
  8. Unity UGUI —— 无限循环List(转载)
  9. 《HTTP权威指南》笔记
  10. 【PHPsocket编程专题(实战篇①)】php-socket通信演示