如果你的項目想要支持多語言版本,那麼就需要用到 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 Framework 入門——快速上手
Zend Framework 入門——多國語言支持
Zend Framework 入門——錯誤處理
Zend Framework 入門——頁面布局