config.php'LANG_SWITCH_ON' => true, // 開啟多語言 'DEFAULT_LANG' => 'zh-cn', // 默認語言 'LANG_AUTO_DETECT' => true, // 自動偵測(瀏覽器 Accept-Language) 'LANG_LIST' => 'en-us,zh-cn,zh-tw', // 允許列表,僅這些生效
Home/Lang/ ├── zh-cn/common.php ├── en-us/common.php └── zh-tw/common.php
每個文件返回鍵值陣列:
<?php return [
'welcome' => '歡迎光臨',
'lang_name' => '簡體中文',
];
{$Think.lang.welcome} | {$Think.lang.lang_name}
<a href="?l=zh-cn">簡體</a>
<a href="?l=en-us">English</a>
<a href="?l=zh-tw">繁體</a>
控制器動態定義:L('demo', '測試內容'); → 模板 {$Think.lang.demo}。
驗證規則中引用語言包:array('uname','require','%name')(% 開頭表示語言變量)。
'TMPL_SWITCH_ON' => true, 'TMPL_DETECT_THEME' => true, // 支援 ?t=theme 切換 'DEFAULT_THEME' => 'default', // 默認主題目錄名
Home/Tpl/
├── default/ # 默認主題
│ └── Index/index.html
└── red/ # 紅色主題
└── Index/index.html
模板切換鏈接:<a href="?t=red">紅色風格</a>
若不同語言需完全不同佈局,可在入口文件或公共控制器 _initialize() 中強制綁定:
if (isset($_GET['l'])) {
$_GET['t'] = $_GET['l']; // 語言代碼即主題目錄名
}
配合 DEFAULT_THEME 即可實現「切語言即換皮膚」。
common.php(通用)、user.php(用戶模塊)、admin.php(後台)按模塊載入。LANG_AUTO_DETECT,改用用戶選擇存 Cookie/Session,避免首屏閃爍。