データベースから CodeIgniter 言語ファイルを動的に生成するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-28 21:07:30
オリジナル
803 人が閲覧しました

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

データベースから Codeigniter 言語ファイルを生成する

はじめに

多言語 Web サイトでは、言語コンテンツの管理が課題となります。この記事では、データベースから 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 言語ファイル

  • 各言語は、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>
ログイン後にコピー

結論

この方法を利用すると、Web サイトの言語コンテンツを中央データベースからシームレスに管理し、翻訳の更新を簡素化し、言語間の一貫性を確保できます。バージョン。

以上がデータベースから CodeIgniter 言語ファイルを動的に生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!