Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Sprachdateien im Plugin laden
#1
Hallo,
wo macht es Sinn, die Sprachdateien $lang->load("..."); zu laden, und wo sind sie überflüssig.

Ich möchte den Aufbau des Plugins besser verstehen und bitte um eine Erläuterung für diese Funktion allgemein.
Zitieren
#2
Worauf willst du hinaus? Man lädt die Spachdatei dort, wo man die entsprechenden Sprachvariablen benutzen will.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
(10.02.2011, 12:26)StefanT schrieb: Worauf willst du hinaus?

Die Funktion besser zu verstehen!

Ich verstehe bspw. nicht, warum die Sprachdateien in der function ..._install geladen werden muss, wo die Sprachdateien doch erst in der Ausgabe benötigt werden.

Weiterhin will ich darauf hinaus, dass es nicht sein muss, dass ich in einem Plugin die Sprachdatei lade, wo sie jedoch nicht gebraucht wird.

Es mag sein, dass die Thematik für Profis lächerlich klingt, doch zum einen bin ich kein Profi und zum anderen, möchte ich gerne vernünftige Plugins basteln, die unnötige Codes & Variablen vermeiden.

Ich habe noch viele Plugin Ideen und möchte diese auch sinnvoll umsetzen.

Zitieren
#4
Prinzipiell musst du in einem Plugin gar keine Sprachdatei laden... Es ist wirklich nur sinnvoll, wenn man sie auch benötigt.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
In der _install() will man vielleicht erreichen, daß eine Fehlermeldung angezeigt wird, wenn die Datei fehlt.

Ansonsten lädst du es eben wenn du es brauchst.
Zitieren
#6
Danke, das ist eine plausible Erklärung!
Zitieren
#7
In der install() bringt dir eine Sprachdatei übrigens garnichts. Streng genommen wird dabei nämlich die activate() ausgeführt und die install() dabei "mit durchgenommen". Wenn du einen Sprachstring nach oder während des Klicks auf 'Installieren' aufrufen möchtest (z.B. um die grün hinterlegte Erfolgsmedlung zu erweitern), musst du eine weitere Funktion in den Hook admin_config_plugins_activate_commit binden und dort direkt prüfen ob $install_uninstall gesetzt ist (true).
Zitieren
#8
Vielen Dank für den Nachtrag!

Mit einer weiteren Frage beschäftige ich mich schon seit ein paar Tagen.

Plugins kosten ja Ressourcen, ist es aus diesem Grund sinnvoll eine Sprachdatei zu laden, oder macht es keinen Unterschied, wenn ich mehrere Sprachdateien lade, weil bspw. die Sprachvariablen bereits in anderen Sprachdateien hinterlegt sind.

Ich bastel also grad an einem Plugin, dass die Sprachdateien aus der portal.lang.php, showthread.lang.php und aus der newthread.lang.php zieht.

Nun habe ich testweise eine Sprachdatei erstellt, die alle Sprachvariablen beinhaltet, die ich benötige, doch Unterschiede lassen sich nicht erkennen.

Dennoch stellt sich die Frage, wie es technisch gesehen sinnvoller ist.
Besser eine Sprachdatei, mit nur nötigen Sprachvariablen, oder besser mehrere vorhandene Sprachdatein laden.

Weiter habe ich es in Deinen Plugins gesehen, dass die Sprachvariablen im Plugin selbst erstellt wurden.
geht es nach Lust und Laune, oder ist es gar besser, die Sprachvariablen im Plugin selbst zu definieren?
Zitieren
#9
Also die Sprachdateien sind Performance-mäßig gesehen, relativ irrelevant... Solange du keine Konflikte erzeugst, ist es egal. Gerade bei Sprachdateien, die niemals gleichzeitig geladen werden, können durchaus doppelte Sprachvariablen vorkommen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#10
Sprachvariablen im Plugin selber zu definieren ist Mist, denn um das Plugin zu übersetzen, muss man die Sprachvariablen ja editieren, und das dann bei jedem Plugin-Update neu machen zu dürfen ist Mist. Bei einer separaten Sprachdatei kann man die Übersetzung ja weiterverwenden - solange sich nur Code im Plugin verändert hat, aber die Language-Strings an sich nicht, ist dann kein Update der Sprachdatei nötig.

Die Anzahl der PHP-Dateien zu reduzieren, das ist eine Mikrooptimierung, da gibts ca. 100 andere Sachen über die du dir vorher Gedanken machen solltest.

Eine PHP Datei ist schnell geladen, insb. wenn der Hoster noch einen PHP-Cache verwendet... dass für einen PHP-Request viele Dateien geladen werden müssen, ist (leider) normal bei PHP und läßt sich auch nicht vermeiden.
Zitieren