0

我有个问题。基本上,根据用户访问我们网站上的 /es 或 /br 或 /cn 等,我们有不同的语言模板文件。到目前为止,我们正在使用自定义模板引擎来完成这项工作,但正在切换到 ZF。如果语言变量是 cn,我似乎无法弄清楚如何让 ZF 在 cn/about-us 中查找视图脚本。

我不能(不想)为此使用 Zend_Translate,因为我们有太多已翻译的模板文件,而且使用 Zend_Translate 处理具有多段中文/韩文/日文的无数不同文件是不可行的,暂时忘记了我不会说那些语言。

有谁能够帮我?

4

1 回答 1

2

您可以编写一个控制器插件并使用它的 routeStartup() 方法来更改 Zend_View 设置(视图脚本所在的路径)并在路由开始之前更改请求 uri。

class My_Controller_Plugin_LanguageSwitcher extends Zend_Controller_Plugin_Abstract
{
    public function routeStartup(Zend_Controller_Request_Abstract $request)
    {
        // examine the $_SERVER['REQUEST_URI'] and look for your language identifier
        // fetch the View and set appropriate view scripts path using setScriptPath() method
        // strip the language identifier from your REQUEST_URI
        // change the request uri using $request->setRequestUri('your-new-uri-without-the-language-  identifier');
    }
}
于 2009-09-30T19:15:27.530 回答