Zend Framework 入門(2)—多國語言支援

huidaoli發表於2013-07-25

如果你的專案想要支援多語言版本,那麼就需要用到 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. 檢視頁面

這時,瀏覽器中看到的應是“你好!”。

相關文章