| 订阅 | 在线投稿
分享
 
 
 

Zend Framework 入门(2)—多国语言支持

来源:互联网  宽屏版  评论
2008-12-22 08:09:31

如果你的项目想要支持多语言版本,那么就需要用到 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. 查看页面

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

如果你的项目想要支持多语言版本,那么就需要用到 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. 查看页面 这时,浏览器中看到的应是“你好!”。
󰈣󰈤
 
 
 
>>返回首页<<
 
 热帖排行
 
 
王朝网络微信公众号
微信扫码关注本站公众号wangchaonetcn
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
©2005- 王朝网络 版权所有