cakePhp和多语言

时间:2012-07-07 14:21:54

标签: cakephp internationalization

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

感谢您的帮助!

3 个答案:

答案 0 :(得分: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');

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

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

在控制器中的beforeFilter函数中。

答案 1 :(得分:0)

有一个pretty good guide in the CakePHP Cookbook.

  

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

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

在控制器的每个请求开始之前,你过滤掉了   应配置配置:

class AppController extends Controller {
    public function beforeFilter() {
        Configure::write('Config.language', $this->Session->read('Config.language'));
    }
}

答案 2 :(得分:0)

分步网站国际化或cakePHP 2 +

中的多语言

按照以下步骤操作:

步骤1. Cakephp如何捕获需要多语言的字符串?

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

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

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

步骤6:在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