Heim >Datenbank >MySQL-Tutorial >Wie erstelle ich dynamisch CodeIgniter-Sprachdateien aus einer Datenbank?
Übergabe von Datenbankdaten an CodeIgniter-Sprachdateien
Bei der Entwicklung einer mehrsprachigen Website mit CodeIgniter ist die Integration von Datenbankinhalten in Sprachdateien von entscheidender Bedeutung. Dies kann erreicht werden, indem eine Datenbanktabelle erstellt und mit Übersetzungsinformationen gefüllt wird und dann eine Controller-Funktion verwendet wird, um Sprachdateien basierend auf den Datenbankdaten dynamisch zu generieren.
1. Datenbankdesign
Erstellen Sie eine Tabelle mit dem Namen lang_token mit den folgenden Spalten:
Füllen Sie die Tabelle mit der Übersetzung Daten.
2. Struktur der CodeIgniter-Sprachdateien
Sprachdateien in CodeIgniter sollten in Ordnern im Anwendungs-/Sprachverzeichnis gespeichert werden. Jeder Sprachordner sollte eine PHP-Datei mit der Struktur enthalten:
<code class="php"><?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /** * * Created: <timestamp> by <author> * * Description: <Language Name> language file for <category> * */ $lang = array( '<category>_noMail' => 'You must submit a valid email address', '<category>_noUser' => 'You must submit a username' );</code>
Wobei:
3. Controller-Funktion zum Generieren von Sprachdateien
Erstellen Sie eine Controller-Funktion, die Übersetzungsdaten aus der Datenbank abruft und im laufenden Betrieb Sprachdateien generiert. Diese Funktion sollte:
<code class="php">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');\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); }</code>
4. Aufrufen der Controller-Funktion
Um Sprachdateien dynamisch zu generieren, rufen Sie die Funktion „updatelangfile“ immer dann auf, wenn Datenbankänderungen vorgenommen werden, z. B.:
<code class="php">function updateLanguages() { $this->updatelangfile('english'); }</code>
5. Verwenden der Sprachdateien
Ihre Anwendung kann jetzt die dynamisch generierten Sprachdateien mithilfe der Lademethode der Sprachklasse laden und verwenden, z. B.:
<code class="php">$this->lang->load('general', 'english');</code>
Indem Sie diese Schritte ausführen, Sie können Datenbankinhalte nahtlos in Ihre CodeIgniter-Sprachdateien integrieren und so die Lokalisierung Ihrer Website ermöglichen.
Das obige ist der detaillierte Inhalt vonWie erstelle ich dynamisch CodeIgniter-Sprachdateien aus einer Datenbank?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!