目前我有一个带有翻译插件的zend应用程序,如下所示
class Zc_Controller_Plugin_LangSelector extends Zend_Controller_Plugin_Abstract
{
public function preDispatch(Zend_Controller_Request_Abstract $req)
{
$lang = $req->getParam('lang','');
if($lang !== 'en' && $lang !== 'de')
$req->setParam('lang','en');
$state = $req->getParam('state');
$lang = $req->getParam('lang');
if($lang == 'en')
$zl = new Zend_Locale();
$zl->setLocale($locale);
Zend_Registry::set('Zend_Locale',$zl);
$translate = new Zend_Translate('csv',APPLICATION_PATH.'/configs/lang/'.$lang.'.csv',$lang);
Zend_Registry::set('Zend_Translate',$translate);
}
}
我也在 application.ini 中启用了插件,如下所示
resources.frontController.plugins.DetectCountry =
"Zc_Controller_Plugin_LangSelector"
我创建了一个名为 lang 的文件夹,并在其中创建了另一个名为 en.csv 和 fr.csv 的 2 个文件。目前翻译是从 .csv 文件中读取的,但我希望翻译从 db 读/写,以便我可以管理直接从 db 添加/删除新的键值字段。谢谢