0

我正在 cakePhp 2.2 中创建一个网站。我对这个框架很陌生。我需要帮助,一步一步如何创建多语言页面。我在 Locale/eng/LC_MESSAGES.default.po 和 fre 中创建了翻译。下一步是什么?在哪里可以设置显示语言?我可以在哪里编写要为用户显示的语言?

感谢您的帮助!

4

3 回答 3

0

CakePHP Cookbook 中有一个很好的指南。

要为当前用户设置语言,您可以将设置存储在 Session 对象中,如下所示:

$this->Session->write('Config.language', 'fre');

在控制器的 beforeFilter 中的每个请求开始时,您还应该配置 Configure:

class AppController extends Controller {
    public function beforeFilter() {
        Configure::write('Config.language', $this->Session->read('Config.language'));
    }
}
于 2012-07-09T12:47:25.410 回答
0

cakePHP 2+ 中的逐步网站国际化或多语言

只需按照以下步骤操作:

Step 1. Cakephp 如何捕捉需要多语言的字符串?

第2步:创建pot文件以插入不同语言的字符串。

第 3 步:在 app/Config/routes.php 中添加以下代码

第 4 步:在 app/Config/core.php 中设置默认语言

第六步:在 app/Controller/AppController.php 中添加 helper 和 Cookie 组件

第 7 步:在 app/Controller/AppController.php 中添加一个方法

第 7 步:调用 _setLanguage(); 在 app/Controller/AppController.php 中的 beforeFilter() 下

第 8 步:添加语言的链接:

链接将是 http://saidul.songzog.com/blog/details/874/step-by-step-website-internationalization-or-multi-language-in-cakephp-2

于 2013-09-25T11:44:35.990 回答
0

您必须: 创建文件和文件夹,如下所示:

/app/Locale/eng/LC_MESSAGES/default.po (English)
/app/Locale/fre/LC_MESSAGES/default.po (French)

在 default.po 文件中,您需要创建对:

msgid "Hello"
msgstr "EN Translation"

这样,每个 Hello 单词都将替换为 EN Translation。

接下来你必须设置你的语言,即

Configure::write('Config.language', 'fre');

如果您想为页面设置语言,请将其粘贴到引导文件中,如果您想在浏览网页期间更改它,请粘贴:

$this->Session->write('Config.language', 'fre');

在控制器中的 beforeFilter 函数中。

于 2012-07-07T14:40:41.367 回答