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

來源:互聯網
上載者:User
關鍵字 Zend Framework 入門(2)—多國語言支援

如果你的項目想要支援多語言版本,那麼就需要用到 Zend_Translate。Zend_Translate 的詳細文檔在這裡,不過如果想偷懶的話,也很簡單,在View Helpers 文檔中介紹了如何用 Translate Helper 輕鬆實現多語言支援。

1. 準備翻譯檔案

Zend_Translate 支援多種格式的翻譯檔案。選用何種格式可以參考這裡。如果條目不是很多(5000條以下),那麼可以考慮用最直觀的數組格式,而且可以寫到一個 php 檔案裡。假設,我們需要一個中文版支援,翻譯檔案命名為 zh_cn.php,放在與 application 平行的 languages 檔案夾裡。該檔案內容如下:

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 檔案,將原來的“

Hello World!

”替換成:

translate('hello_world'); ?>


4. 查看頁面

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

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.