Hallo zusammen,
bei der Anpassung eines Plugins bin ich auf ein kleines Problem gestoßen. Mit folgender Zeile
PHP-Code:
find_replace_templatesets('usercp_nav_misc', '#</tbody>#', '<tr><td class="trow1 smalltext">
<a href="plugindatei.php" class="usercp_nav_item usercp_nav_editlists">
' . $lang->plugindatei_lang . '</a></td></tr></tbody>');
sollte aus der entsprechenden lang-Datei die Variable geholt werden. Obwohl alle Dateien entsprechend von mir übersetzt wurden, holt sich das entsprechende Template aber immer die Variable aus der englischen Version der lang-Datei.
Liegt hier der Fehler ggf. in der o.a. Zeile? Ich kapier das gerade nicht.
Wäre klasse, wenn mir jemand weiterhelfen könnte.
Es kann sein, dass ACP andere Sprachdateien geladen werden. Die Zeile müsste korrekt sein. Ohne den Code, der die Sprachdatei lädt, kann ich aber nicht viel sagen.
Hallo Stefan,
also im ACP kann ich alle Sprachdateien, die für das Plugin erstellt wurden, finden.
In der Plugin-Datei sind in der Funktion, in der die Templates geändert werden, folgende Zeilen vorhanden:
PHP-Code:
global $mybb, $db, $lang;
$lang->load('my_fav_post');
Während der Installation wird übrigens noch ein anderes Template geändert, in dem auch Bezug auf das lang-File genommen wird. Hier funktioniert es und es wird Deutsch herangezogen.
Nachtrag:
wenn ich in dem o.a. find_replace_templatesets "$lang->ucp_meinText" eingebe und den zugehörigen Eintrag in der usercpnav.lang.php eintrage, dann funkioniert es. Aber es muss doch auch anders gehen, oder? Wo ist denn da mein Knoten?
In welchem Ordner liegt die Sprachdatei? Es können nur Dateien im admin-Ordner des ACPs geladen werden.
(04.11.2009, 16:06)StefanT schrieb: [ -> ]In welchem Ordner liegt die Sprachdatei?
Die lang-Files liegen unter inc/languages/deutsch_du bzw. in den Ordnern der anderen Sprachen.
(04.11.2009, 16:06)StefanT schrieb: [ -> ]Es können nur Dateien im admin-Ordner des ACPs geladen werden.
das kapiere ich jetzt leider nicht. Was meinst Du damit?
Die Datei muss im Ordner inc/languages/*Sprache*/admin liegen, da die Datei ja auch im ACP geladen wird.
Bin ehrlich gesagt gerade ein wenig verwirrt. 'schuldigung
Warum fragst Du eigentlich nach dem ACP? Es handelt sich um eine fehlerhafte Ausgabe der language-Variablen im Benutzer-CP und dort im Template
usercp_nav_misc.
Nicht, dass wir aneinander vorbei reden/schreiben....
Wenn du Variable beim Aktiveren des Plugins benutzt, dann gilt meine Aussage. Wenn du die Variable im Template haben willst, musst du sie escapen.
Ok, dann werde ich das mal versuchen. Eine entsprechende lang-Datei in das admin-Verzeichnis, damit beim Installieren des Plugins die lang-Variable vorhanden ist. Damit ich sie im Template dann aber auch richtig übersetzt bekomme, muss ich sie zusätzlich escapen?
Nimm:
PHP-Code:
find_replace_templatesets('usercp_nav_misc', '#</tbody>#', '<tr><td class="trow1 smalltext">
<a href="plugindatei.php" class="usercp_nav_item usercp_nav_editlists">{$lang->plugindatei_lang}</a></td></tr></tbody>');
Dann wird die Variable nicht ersetzt und steht im Template. Dann kannst du sie über die Sprachdatei (jetzt nicht im admin-Ordner) ersetzen lassen.