Zend Framework URL程序集忽略转换

时间:2013-11-23 18:28:10

标签: zend-framework zend-route zend-translate

我有以下路线设置:

routeXY.type = "Zend_Controller_Router_Route"
routeXY.route = "@XY"
routeXY.defaults.module = "default"
routeXY.defaults.controller = "index"
routeXY.defaults.action = "actionXY"

然后还在我的翻译数组中配对(XY - > YZ)。

如果我尝试访问已翻译的网址段,例如:

localhost/YZ

我正在采取正确行动“actionXY”。

但是,当我尝试使用view url helper组装URL时,它始终构建未翻译的URL。主叫:

<?= $this->url(Array('@locale' => Zend_Registry::get('Zend_Locale')), 'routeXY', true);?> 

将语言环境设置为“YZ”,获取:

  

本地主机/ XY

如何在组装过程中强制执行翻译?

1 个答案:

答案 0 :(得分:1)

最后,我的理解有点不对劲。我需要在bootstrap默认语言中明确设置,应该从哪个路由转换。这种语言必须是'FROM'语言,而不是目标语言:

Zend_Controller_Router_Route::setDefaultLocale('any_lang');

此语言的字符串用作默认翻译键。