【发布时间】:2014-01-10 13:41:19
【问题描述】:
我发现在zend框架中设置翻译很简单。您只需要使用这些语言制作一些文件并从用户代理获取区域设置。我唯一不知道的是我应该在“哪里”调用 zend_translate 类。所以我有这些行:
<?php
// load required classes
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Translate');
Zend_Loader::loadClass('Zend_Locale');
Zend_Loader::loadClass('Zend_Registry');
// initialize locale and save in registry
// auto-detect locale from browser settings
try {
$locale = new Zend_Locale('browser');
} catch (Zend_Locale_Exception $e) {
$locale = new Zend_Locale('en');
}
$registry = Zend_Registry::getInstance();
$registry->set('Zend_Locale', $locale);
而且我不知道是否应该在控制器或视图中设置它们,因为很明显与其他行有关:
<title><?php echo this->translate('Title'); ?></title>
那么我必须在控制器中设置类并将变量传递给视图吗?谢谢你的帮助。
【问题讨论】:
-
它在我设置本地文件名的行中的 _initTranslate 中引发错误。你能检查我这行的语法吗? array('scan' => Zend_Translate::text.php 它说“文本”常量没有找到。我应该在里面写什么?
标签: php zend-framework localization zend-translate