在Bootstrap.php中使用Zend翻译

时间:2012-09-07 14:25:47

标签: zend-framework

我在Zend的Bootstrap.php中定义了几个路由,我想用Zend的翻译函数进行翻译:

$trans = new Zend_View_Helper_Translate();
$router->addRoute(
  'myroute',
  new Zend_Controller_Router_Route(':lang/'.$trans->translate('mytitle').'/',
    array(
      'module' => 'default',
      'controller' => 'index',
      'action' => 'statistics'
    )
  )
);

帮助器本身似乎工作(不抛出异常或错误)但总是返回mytitle而不是语言文件中定义的实际转换(我检查过 - 语言文件在视图中工作)。

如何让translate函数在Bootstrap.php文件中运行?

1 个答案:

答案 0 :(得分:0)

请记住,您需要在使用之前加载翻译。 加载路由翻译,如:

$router->setDefaultTranslator($yourTranslator);

最佳使用路由翻译的方法是在要翻译的单词之前添加“@”f.e。:

$router->addRoute(
  'myroute',
  new Zend_Controller_Router_Route(':lang/@mytitle/',
    array(
      'module' => 'default',
      'controller' => 'index',
      'action' => 'statistics'
    )
  )
);