自动翻译表单标签和错误消息。但是视图脚本中的字符串不是。我必须在每个phtml文件中使用$this->translate("text to transfer");
。我不想使用这个$this->translate("text to transfer");
方法。如何在表格的情况下自动翻译视图脚本。我的代码是
protected function _initTranslation() {
$langNamespace = new Zend_Session_Namespace('language_sess');
$lang = $langNamespace->lang;
$registry = Zend_Registry::getInstance();
$tr = new Zend_Translate(
array(
'adapter' => 'array',
'content' => APPLICATION_PATH . "/languages/$lang/$lang.php",
'locale' => "ar",
'scan' => Zend_Translate::LOCALE_DIRECTORY
)
);
$registry->set('Zend_Translate', $tr);
return $registry;
}
答案 0 :(得分:2)
好的,为了说清楚,我们需要了解一些事情:
在你的情况下,如果你可以稍微好一点"机器"翻译,你应该使用谷歌翻译引擎的网站
https://translate.google.com/manager/website/
至于删除$this->translate("text to transfer");
部分,您可以尝试翻译控制器中的所有数据,但这是一个相当糟糕的建议,我会建议您做其他事情。当您将数据传递给视图时,您可以遍历它并为每个内部和everystring进行翻译:
foreach($data as $key => $string) {
$data[$key] = $tr->translate($string);
}
或类似的东西。由于几个原因,这是不好的方法。但最重要的是,你没有将你的表现与你的逻辑分开,这就是为什么最好的地方是View。
所以我的总结: