0

我想对你们大多数人来说,这可能是一个“愚蠢”的问题,但我就是不明白。

因为我是初学者,所以我尝试了很多在谷歌上找到的教程,但没有一个对我有用。

我正在运行 Cakephp 2.2,并且正在尝试使本地化工作。我跟着这本书(http://book.cakephp.org/2.0/en/core-libraries/internationalization-and-localization.html

到目前为止我做了什么:

//In my bootstrap.php I added 
Configure::write('Config.language', 'deu');


// In my AppController.php I added
public function beforeFilter() {
    $locale = Configure::read('Config.language');
    if ($locale && file_exists(VIEWS . $locale . DS . $this->viewPath)) {
        $this->viewPath = $locale . DS . $this->viewPath;
    }
}

据我了解,访问者现在应该被重定向到 /ger/ 。但是什么都没有发生……?

你能否请我指出正确的方向..?

再次抱歉这个问题,但由于我是初学者,我现在被卡住了。:(

提前感谢您的帮助

4

1 回答 1

0

所有这些代码将做的就是编辑$this->viewPath变量。

这将使 CakePHP 在调用render(). 如果您打算创建不同的文件夹,通常会这样做,每个文件夹都包含特定本地化的视图文件。

如果您的 View 文件夹当前如下所示:

View
    - Elements
    - Emails
    - Errors
    - Helper
    - ...

相反,它应该如下所示:

View
    - deu
        - Elements
        - Emails
        - Errors
        - Helper
        - ...
    - Elements
    - Emails
    - Errors
    - Helper
    - ...

通过这种方式,您可以为许多不同的本地化指定完全不同的视图文件。根目录中的文件夹应该是默认本地化。

它目前没有做任何事情的原因是它在进行检查时找不到相关的视图文件file_exists()。一旦您根据需要进行了重组,它应该可以正常工作。

于 2012-10-11T13:12:44.357 回答