我正在 cakePhp 2.2 中创建一个网站。我对这个框架很陌生。我需要帮助,一步一步如何创建多语言页面。我在 Locale/eng/LC_MESSAGES.default.po 和 fre 中创建了翻译。下一步是什么?在哪里可以设置显示语言?我可以在哪里编写要为用户显示的语言?
感谢您的帮助!
我正在 cakePhp 2.2 中创建一个网站。我对这个框架很陌生。我需要帮助,一步一步如何创建多语言页面。我在 Locale/eng/LC_MESSAGES.default.po 和 fre 中创建了翻译。下一步是什么?在哪里可以设置显示语言?我可以在哪里编写要为用户显示的语言?
感谢您的帮助!
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')); } }
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 步:添加语言的链接:
您必须: 创建文件和文件夹,如下所示:
/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 函数中。