2

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

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

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

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

谢谢。

4

2 回答 2

2

您将需要为此使用插件。

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

这是它在我的 CMS 中的样子

这是有关在 URL 中使用语言参数的教程。你也可以在我的 CMS 中查看我是如何做到的(参见 _initRouter 方法)。

我希望这个信息是有帮助的。

于 2011-12-05T10:46:38.077 回答
0

为此目的使用 Poedit ..通过此链接了解更多信息

techie.ayyappadas.com/how-do-use-poeditor
于 2011-12-05T10:35:40.430 回答