首頁  >  文章  >  資料庫  >  如何從資料庫動態產生 CodeIgniter 語言檔案?

如何從資料庫動態產生 CodeIgniter 語言檔案?

Susan Sarandon
Susan Sarandon原創
2024-10-28 21:07:30884瀏覽

How Can I Dynamically Generate CodeIgniter Language Files from a Database?

從資料庫產生 Codeigniter 語言檔案

簡介

多語言網站在管理語言內容方面提出了挑戰。本文探討了一種從資料庫動態建立 Codeigniter 語言檔案的方法,讓您可以直接從資料庫更新翻譯並動態填入語言檔案。

資料庫佈局

建立表格呼叫lang_token 來儲存翻譯資料:

<code class="sql">CREATE TABLE lang_token (
    id INT NOT NULL AUTO_INCREMENT,
    category TEXT NOT NULL,
    description TEXT NOT NULL,
    lang TEXT NOT NULL,
    token TEXT NOT NULL,
    PRIMARY KEY (id)
);</code>

Codeigniter Language Files

  • Codeigniter Language Files
  • 每個語言都儲存在application/language 目錄下的單獨資料夾中,例如application/language/ english.

語言檔案結構:$lang['category_description'] = "token";

控制器函數
<code class="php">function updatelangfile($my_lang) {
    $query = $this->db->where('lang', $my_lang)->get('lang_token');

    $langstr = "<?php 
    $lang = array();
    ";

    foreach ($query->result() as $row) {
        $langstr .= "$lang['{$row->category}_{$row->description}'] = \"{$row->token}\";\n";
    }

    write_file('./application/language/' . $my_lang . '/general_lang.php', $langstr);
}</code>

建立控制器函數來產生語言檔案:

  • 用法
  • 每當資料庫變更時呼叫函數產生語言檔案:updatelangfile( 'english').
<code class="php">function __construct() {
    parent::__construct();
    $this->load->helper('file');
    $this->lang->load('general', 'english');
}</code>
載入檔案助理和語言類別:

結論利用此方法,您可以從中央資料庫無縫管理網站的語言內容,簡化翻譯更新並確保跨語言的一致性版本。

以上是如何從資料庫動態產生 CodeIgniter 語言檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn