在CakePHP中實現多語言支持,可以通過以下步驟來完成:
composer require cakephp/i18n
config/bootstrap.php
文件中,引入并加載CakePHP-i18n插件:require 'vendor/autoload.php';
use Cake\I18n\I18n;
I18n::setLocale(['en_US', 'zh_CN']); // 設置默認的語言環境為美國英語和簡體中文
src/Template/App/index.ctp
文件中,使用__()
, _e()
等函數來標記需要翻譯的字符串:echo __('Hello, World!'); // 使用__()函數
echo _e('Hello, World!'); // 使用_e()函數
src/Template/App/Error/error404.ctp
文件中,同樣使用這些函數來標記錯誤信息:echo __('Page not found');
src/Locale
目錄下創建對應的語言文件夾,例如src/Locale/en_US.php
和src/Locale/zh_CN.php
。在這些文件中,定義相應的翻譯字符串:src/Locale/en_US.php
:
return [
'Hello, World!' => 'Hello, World!',
'Page not found' => 'Page not found',
];
src/Locale/zh_CN.php
:
return [
'Hello, World!' => '你好,世界!',
'Page not found' => '頁面未找到',
];
I18n::setLocale()
函數中的參數來實現。例如,要切換到簡體中文,可以這樣做:I18n::setLocale(['zh_CN']);
通過以上步驟,你可以在CakePHP中實現多語言支持。