將資料從資料庫傳遞到Codeigniter 語言檔案
當您尋求使用Codeigniter 建立多語言網站時,您正確地設想使用管理語言內容的資料庫。本文將引導您完成實現此目標的具體步驟。
資料庫結構和語言檔案
首先,設定一個名為 lang_token 的資料庫表格來儲存語言標記。使用 id、category、description、lang 和 token 欄位填滿它。例如,建立英語標記,例如:
| id | category | description | lang | token | |---|---|---|---| | 1 | error | noMail | english | You must submit a valid email address | | 2 | error | noUser | english | You must submit a username |
接下來,在應用程式/語言內的子目錄中組織語言檔案(例如應用程式/語言/英語)。
Codeigniter 語言檔案結構
語言檔案遵循特定的結構:
$lang['category_description'] = 'token';
例如,在application/language/english/general_lang.中:
$lang['error_noMail'] = 'You must submit a valid email address'; $lang['error_noUser'] = 'You must submit a username';
用於動態語言檔案產生的控制器函數
要從資料庫動態建立語言文件,請建立以下控制器函數:
function updatelangfile($my_lang){ $query = $this->db->where('lang', $my_lang)->get('lang_token'); $langstr = "<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');\n\n\n"; foreach ($query->result() as $row){ $langstr.= "$lang['".$row->category."_".$row->description."'] = \"$row->token\";\n"; } write_file('./application/language/'.$my_lang.'/general_lang.php', $langstr); }
用法
每當你更新資料庫時,呼叫函數updatelangfile('english') 重新產生語言檔案。
附加說明
以上是如何從資料庫動態產生CodeIgniter語言檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!