Zend Translate - 为每个用户设置区域设置

时间:2011-12-05 09:21:50

标签: zend-framework zend-translate

我正在开发一个多语言网站。

我在Zend_Registry中放了一个Zend_Translate对象,我用它将所有静态文本翻译成选定的语言环境。

我的问题是当用户选择其他语言时如何更改语言环境?

如果我从注册表中获取了translate对象,请调用setLocale,然后将其再次放入注册表中,它是否仅适用于该用户或整个应用程序?

感谢。

2 个答案:

答案 0 :(得分:2)

您需要使用插件。

简而言之:创建插件并向其添加routeStartup()routeShutdown()方法。在前者中,将locale字符串设置在请求参数中,如果需要,还将请求者URI设置为包含语言环境字符串。正确的区域设置字符串检测取决于您 - 您可以使用cookie,URL参数,浏览器接受的语言标题或三者的任意组合。在后者中,根据您之前设置的区域设置创建Zend_Translate对象。

这是how it looks like in my CMS

这是tutorial regarding the use of the language parametre in the URL。您也可以检查how I do it in my CMS(参见_initRouter方法)。

我希望这些信息有用。

答案 1 :(得分:0)

为此目的使用Poedit ..通过此链接获取更多

techie.ayyappadas.com/how-do-use-poeditor