我正在开发一个多语言网站。
我在Zend_Registry中放了一个Zend_Translate对象,我用它将所有静态文本翻译成选定的语言环境。
我的问题是当用户选择其他语言时如何更改语言环境?
如果我从注册表中获取了translate对象,请调用setLocale,然后将其再次放入注册表中,它是否仅适用于该用户或整个应用程序?
感谢。
答案 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