sql >> データベース >  >> RDS >> Mysql

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

    あなたは正しい方向に進んでいます。その場で言語ファイルを作成する必要があります(たとえば、データベースの言語コンテンツを更新するたびに)

    1番目:データベースレイアウト

    テーブルを作成するlang_tokenidを使用 、categorydescriptionlangtoken 次のようにフィールドに入力します:

        CREATE TABLE IF NOT EXISTS `lang_token` (
          `id` int(11) NOT NULL AUTO_INCREMENT,
          `category` text NOT NULL,
          `description` text NOT NULL,
          `lang` text NOT NULL,
          `token` text NOT NULL,
          PRIMARY KEY (`id`)
        ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
    
        INSERT INTO `lang_token` (`id`, `category`, `description`, `lang`, `token`) 
        VALUES
          (1, 'error', 'noMail', 'english', 'You must submit a valid email address'),
          (2, 'error', 'noUser', 'english', 'You must submit a username');
    

    2番目:CodeIgniter言語ファイルについて

    CodeIgniterは最初にアプリケーション/言語ディレクトリを検索します。各言語は独自のフォルダに保存する必要があります。英語やドイツ語などのサブディレクトリが作成されていることを確認してください。 application/language/english

    3番目:言語ファイルをその場で作成するコントローラー関数

    Codeigniter言語ファイルについて:特定のファイル内のすべてのメッセージに共通のプレフィックス(カテゴリ)を使用して、他のファイル内の同様の名前のアイテムとの衝突を回避することをお勧めします。構造は次のようになります。$lang['category_description'] = “token”;

        function updatelangfile($my_lang){
            $this->db->where('lang',$my_lang);
            $query=$this->db->get('lang_token');
    
            $lang=array();
            $langstr="<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
                    /**
                    *
                    * Created:  2014-05-31 by Vickel
                    *
                    * Description:  ".$my_lang." language file for general views
                    *
                    */"."\n\n\n";
    
    
    
            foreach ($query->result() as $row){
                //$lang['error_csrf'] = 'This form post did not pass our security checks.';
                $langstr.= "\$lang['".$row->category."_".$row->description."'] = \"$row->token\";"."\n";
            }
            write_file('./application/language/'.$my_lang.'/general_lang.php', $langstr);
    
        }
    

    最後のメモ:

    1. データベースを変更するたびに、関数updatelangfile(‘english’)を呼び出します。
    2. ファイルヘルパーをロードすることを忘れないでください および言語クラス updatelangfile()が配置されているコントローラーのコンストラクター内:

      function __construct(){
          parent::__construct();
          $this->load->helper('file');
          $this->lang->load('general', 'english');
      }
      



    1. Oracleトリガーで、行タイプ変数に新旧を割り当てることはできますか?

    2. 階層SQLの質問

    3. オンラインデータベースの管理に役立つ5つのヒントとコツ

    4. SQLiteStatementはSELECT/INSERT / DELETE/UPDATEを実行します