我正在开发一个多语言网站。
我在 Zend_Registry 中放置了一个 Zend_Translate 对象,并使用它来将所有静态文本翻译到选定的语言环境。
我的问题是当用户选择另一种语言时如何更改语言环境?
如果我从注册表中获取翻译对象,调用 setLocale ,然后将其再次放入注册表中,它将仅适用于该用户还是整个应用程序?
谢谢。
我正在开发一个多语言网站。
我在 Zend_Registry 中放置了一个 Zend_Translate 对象,并使用它来将所有静态文本翻译到选定的语言环境。
我的问题是当用户选择另一种语言时如何更改语言环境?
如果我从注册表中获取翻译对象,调用 setLocale ,然后将其再次放入注册表中,它将仅适用于该用户还是整个应用程序?
谢谢。
您将需要为此使用插件。
简而言之:创建您的插件并为其添加routeStartup()
和routeShutdown()
方法。在前一个中,在请求参数中设置区域设置字符串,如果需要,还设置请求 URI 以包含区域设置字符串。正确的语言环境字符串检测取决于您 - 您可以使用 cookie、URL 参数、浏览器接受的语言标头或三者的任意组合。在后一种中,Zend_Translate
根据您之前设置的语言环境创建您的对象。
这是有关在 URL 中使用语言参数的教程。你也可以在我的 CMS 中查看我是如何做到的(参见 _initRouter 方法)。
我希望这个信息是有帮助的。
为此目的使用 Poedit ..通过此链接了解更多信息
techie.ayyappadas.com/how-do-use-poeditor