【发布时间】:2012-02-15 09:26:03
【问题描述】:
我已经设法使用Zend_Controller_Router 使我的网址i18n 兼容。
即:
en/user/login 变为 fr/utilisateur/connexion 并且两个 URL 都指向相同的 controller/action。
我面临的问题如下
我有一个显示如下的语言切换器:
Français
English
Italiano
etc.
当前活动的语言没有anchor 标签,但所有其他语言都有。
对于带有anchor 的语言,我正在构建 URL,我希望将它们翻译成特定语言。
目前,如果我在 French 中,所有的 url 都会用法语构建,即使我在 URL 视图帮助程序中将 @local 键设置为参数(tried "@locale" => 'en',"@locale" => new Zend_Locale('en'))
en/utilisateur/connexion
it/utilisateur/connexion
而不是
en/user/login
it/utente/collegamento
因为在构建 URL 时使用的语言环境是在应用程序范围内定义的语言环境。
编辑
我对我的问题进行了更深入的研究,发现只有当前语言环境添加了加载的资源,这意味着我无法以正确的语言获取路线,以便以正确的语言构建路线
我的新问题是:如何加载多语言翻译资源?
(我计划在遥远的将来(即将发布)实现缓存,所以我可能会获得更好的性能)
【问题讨论】:
-
这很奇怪。我做同样的事情并且它有效。你指定路线吗?
-
@Aurelio De Rosa :是的,我指定了要使用的路线。更新了问题以指定我现在遇到的问题
标签: php zend-framework zend-translate zend-controller-router