3
我的應用程序中有一個模型負責創建初始數據庫結構(排序的安裝程序)。我最近添加了可翻譯的內容(使用gettext)。我想使最初的內容語言依賴。Zend Framework:模型中的可翻譯內容
在模型中使用可翻譯內容的最佳方式是什麼?有沒有辦法在模型中使用view->translate()
函數,或者是否需要從外部傳遞已翻譯的字符串,例如作爲參數?
我的應用程序中有一個模型負責創建初始數據庫結構(排序的安裝程序)。我最近添加了可翻譯的內容(使用gettext)。我想使最初的內容語言依賴。Zend Framework:模型中的可翻譯內容
在模型中使用可翻譯內容的最佳方式是什麼?有沒有辦法在模型中使用view->translate()
函數,或者是否需要從外部傳遞已翻譯的字符串,例如作爲參數?
假設您已經bootsraped從Zend_Locale和一個Zend_Translate,和(默認情況下它們是下鍵「從Zend_Locale」和「一個Zend_Translate」註冊表),你可以在你的模型訪問translate()
方法如下它們被保存在合適的詞彙:
/*@var $translator Zend_Translate */
$translator = Zend_Registry::get('Zend_Translate');
/*@var $adapter Zend_Translate_Adapter */
$adapter = $translator->getAdapter();
var_dump($adapter->translate('Text to be translated'));
上述示例中的翻譯將根據您的Zend_Locale執行。
什麼是翻譯模型中數據的最佳方式?我不確定。如果你想讓你的控制器甚至模型的翻譯「不可見」或「透明」,你可以重載Zend_DB_Table_Row的魔法方法__get和__set,並在其中嵌入translate()方法。
哇,完美的答案,正是我之後。奇蹟般有效。謝謝! – mingos 2011-02-02 23:19:48