如果你的專案想要支援多語言版本,那麼就需要用到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. 查看頁面
這時,瀏覽器中看到的應是「你好!」。