Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie kann die dynamische Erstellung von Sprachdateien in CodeIgniter für mehrsprachige Websites implementiert werden?

Linda Hamilton
Freigeben: 2024-10-30 09:30:03
Original
548 Leute haben es durchsucht

How can dynamic language file creation be implemented in CodeIgniter for multi-language websites?

Dynamische Sprachdateierstellung für mehrsprachige Websites mit CodeIgniter

Problem:

Wann Beim Aufbau einer mehrsprachigen Online-Site mit CodeIgniter stehen Benutzer möglicherweise vor der Herausforderung, Daten aus einer Datenbank an Sprachdateien zu übergeben. Der integrierten Sprachklasse fehlt die native Unterstützung für die Datenbankintegration.

Lösung:

Datenbanklayout:

Erstellen Sie eine Tabelle namens lang_token mit Spalten zum Speichern sprachbezogener Informationen:

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 ;
Nach dem Login kopieren

Struktur der CodeIgniter-Sprachdatei:

Englisch oder Deutsch usw. Unterverzeichnisse sollten im Anwendungs-/Sprachverzeichnis erstellt werden. Jede Sprache sollte in einem eigenen Ordner gespeichert werden.

Sprachdateien im Handumdrehen erstellen:

Eine benutzerdefinierte Funktion updatelangfile() kann in einem Controller erstellt werden, um Sprache zu generieren Dateien dynamisch:

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);

    }
Nach dem Login kopieren

Verwendung:

Immer wenn Änderungen an der Datenbank vorgenommen werden, kann diese Funktion aufgerufen werden, um die entsprechenden Sprachdateien zu aktualisieren:

$this->updatelangfile('english');
Nach dem Login kopieren

Hinweise:

Denken Sie daran, Folgendes in den Konstruktor des Controllers zu laden:

$this->load->helper('file');
$this->lang->load('general', 'english');
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann die dynamische Erstellung von Sprachdateien in CodeIgniter für mehrsprachige Websites implementiert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!