Zum Inhalt springen

locallang.xml: nur default wird gelesen

Erstellt am 13. Mai 2008 · 1 Antwort · letzte Antwort am 15. Mai 2008

Tags: Frage

Tarta ·

Hallo zusammen,

hoffe ich bin damit jetzt im richtigen Foren-Bereich.

Folgendes Problem verfolgt mich jetzt schon 2 Tage:
Ich betreue ein relativ großes Typo3-Projekt unserer Firma, das damals von "Anfängern" aufgesetzt worden ist. Dazu gehören auch einige Extensions die im Prinzip einfach aus normalen PHP-Funktionen bestehen, die in eine Extension im Kickstarter kopiert wurden.

Natürlich wurde damals auch keine Mehrsprachigkeit berücksichtigt. Ich bin also jetzt dazu übergegangen entsprechende Übersetzungen via pi_getLL() einzupflegen.

Dies hat bei den meisten Extensions auch problemlos geklappt und die Übersetzungen 'default' und 'de' sind jetzt jeweils funktionsfähig. Bei einer Extension jedoch werden (egal welche) Übersetzungen nicht angenommen, Debugging mittels

t3lib_div::debug($this->LOCAL_LANG);

zeigt nur die 'default'-Übersetzungen als Ausgabe. Kopiere ich die locallang.xml zu einer der anderen Extension und führe die gleiche Funktion aus, so wird alles korrekt ausgegeben. Daraus schließe ich, dass die locallang.xml in Ordnung ist.

In der 'defekten' Extension wird in der Funktion 'main' pi_loadLL ausgeführt

$this->pi_loadLL();

und die einzelnen Sprachschnipsel mit

$this->pi_getLL('anrede')

eingebunden.

Im Root-TS-Template schaut der Language-Bereich wie folgt aus:

config.linkVars = L
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 0

[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = ru
config.locale_all = ru_RU
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 1
[global]

[globalVar = GP:L = 2]
config.sys_language_uid = 2
config.language = en
config.locale_all = en_EN
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 2
[global]

Weitere Extension-Templates für die betroffene Seite gibt es nicht. Ich bin zur Zeit ratlos, wo ich noch suchen soll. Gibt es Debugging-Funktionen oder Ansätze die mir helfen könnten? Benötigt ihr noch weitere Infos?

Irgendwas muss dieser Extension doch sagen, dass sie nur 'default' anzeigend darf..

Ich hoffe auf eure Hilfe!

Vielen Dank.

Tarta

Tarta ·

Endlich...

Nach ewigem gesuche habe ich den Fehler gefunden..

Die alte Klasse enthielt einen Konstruktor (function __construct), der so aus dem PHP-Skript übernommen worden ist.

Dieser hat dann natürlich den Konstruktor der Eltern-Klasse tslib_pibase überschrieben:

function tslib_pibase() {
// Setting piVars:
if ($this->prefixId)    {
  $this->piVars = t3lib_div::GParrayMerged($this->prefixId);
  if ($this->pi_checkCHash && count($this->piVars))       {
    $GLOBALS['TSFE']->reqCHash();
  }
}

if ($GLOBALS['TSFE']->config['config']['language'])     {
  $this->LLkey = $GLOBALS['TSFE']->config['config']['language'];
    if ($GLOBALS['TSFE']->config['config']['language_alt']) {
      $this->altLLkey = $GLOBALS['TSFE']->config['config']['language_alt'];
    }
  }
}

... und siehe da: In diesem Konstruktor wird die Sprache geladen... #angry#

Viele Grüße

Tarta