Autoload -Sprachcodesigniter
-
26-10-2019 - |
Frage
Erstellen einer mehrsprachigen Site mit Codeginiter. Ich habe zwei Ordner erstellt. Eine für französische Sprachdateien und eine für Englisch. Wenn ich die Sprachen (englisch und französisch) als solche autoladiert habe
($autoload['language'] = array('en', 'fr');)
Ich erhalte einen Fehler "Die angeforderte Sprachdatei kann nicht geladen werden: Sprache/Englisch/fr_lang.php"
Wie kann ich es im richtigen Ordner aussehen lassen?
Vielen Dank
Lösung
$config['language']
ist der Standardordner zum Laden von Sprachdateien, weshalb Ihre
fr_lang.php
ist von dort geladen.
Entweder ändern Sie den Wert von:
$config['language']
wenn nötig, wie:
$this->config->set_item('language', 'value');
(Denken Sie daran, dass dies vor dem Laden der Sprachen erfolgen muss, damit Sie dafür einen Haken verwenden http://codegniter.com/user_guide/general/hooks.html.)
Oder laden Sie Ihre Sprachdateien im laufenden Fliegen:
$this->lang->load('filename', 'language');
Sie sollten auf jeden Fall die Kernklassen überprüfen, um besser zu verstehen, wie die Dinge funktionieren. Sie können den Code hier leicht durchsuchen: https://github.com/ellislab/codegniterZum Beispiel werden die Sprachen mit dieser Klasse geladen: https://github.com/ellislab/codegniter/blob/develop/system/core/lang.php
Wenn Sie mehr Hilfe benötigen, lassen Sie es mich wissen.