Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| dev:284:translate [19.07.2018 12:10] – [Wie wird Translate benutzt?] Manuela v.d.Decken | dev:284:translate [31.08.2023 08:22] (aktuell) – [Wie wird Translate benutzt?] Manuela v.d.Decken | ||
|---|---|---|---|
| Zeile 9: | Zeile 9: | ||
| Dies ist die bevorzugte und auch dringend empfohlene Art:\\ | Dies ist die bevorzugte und auch dringend empfohlene Art:\\ | ||
| // | // | ||
| - | <PHP> | + | <code php> |
| //Modul Description | //Modul Description | ||
| $module_description = 'Enter here a really short description of your module. About 200-250 characters should suffice.'; | $module_description = 'Enter here a really short description of your module. About 200-250 characters should suffice.'; | ||
| Zeile 19: | Zeile 19: | ||
| $MOD_MyModule[' | $MOD_MyModule[' | ||
| $MOD_MyModule[' | $MOD_MyModule[' | ||
| - | </PHP> | + | </code> |
| manche schreiben die Einträge auch auf diese Art:\\ | manche schreiben die Einträge auch auf diese Art:\\ | ||
| //(deutlich schwieriger zu lesen und nicht exakt sortierbar)// | //(deutlich schwieriger zu lesen und nicht exakt sortierbar)// | ||
| - | <PHP> | + | <code php> |
| $MOD_MyModule[' | $MOD_MyModule[' | ||
| $MOD_MyModule[' | $MOD_MyModule[' | ||
| Zeile 29: | Zeile 29: | ||
| $MOD_MyModule_MESSAGE[' | $MOD_MyModule_MESSAGE[' | ||
| $MOD_MyModule_MESSAGE[' | $MOD_MyModule_MESSAGE[' | ||
| - | </PHP> | + | </code> |
| Das sieht nicht soo gut aus, aber es funktioniert. Beide Schreibweisen erzeugen jedenfalls die selben Translate-Schlüsselwörter. | Das sieht nicht soo gut aus, aber es funktioniert. Beide Schreibweisen erzeugen jedenfalls die selben Translate-Schlüsselwörter. | ||
| - | <PHP> | + | <code php> |
| echo $oTrans-> | echo $oTrans-> | ||
| echo $oTrans-> | echo $oTrans-> | ||
| Zeile 38: | Zeile 38: | ||
| echo $oTrans-> | echo $oTrans-> | ||
| echo $oTrans-> | echo $oTrans-> | ||
| - | </PHP> | + | </code> |
| Zwingend ist derzeit jedoch noch der Präfix " | Zwingend ist derzeit jedoch noch der Präfix " | ||
| Nur so lassen sich ungewollte Überschneidungen der Schlüsselwörter verhindern. | Nur so lassen sich ungewollte Überschneidungen der Schlüsselwörter verhindern. | ||
| Zeile 49: | Zeile 49: | ||
| Die Sprachdateien sowohl im Core als auch in Modulen mussten mit solchen und ähnlichen, abenteuerlichen Konstrukten ' | Die Sprachdateien sowohl im Core als auch in Modulen mussten mit solchen und ähnlichen, abenteuerlichen Konstrukten ' | ||
| - | <PHP> | + | <code php> |
| // Load Language file | // Load Language file | ||
| if(is_readable(WB_PATH.'/ | if(is_readable(WB_PATH.'/ | ||
| Zeile 63: | Zeile 63: | ||
| require_once(WB_PATH.'/ | require_once(WB_PATH.'/ | ||
| } | } | ||
| - | </PHP> | + | </code> |
| Die Ausgabe erfolgte nach dem rudimentären Muster: | Die Ausgabe erfolgte nach dem rudimentären Muster: | ||
| - | <PHP> | + | <code php> |
| // Syntax Typ 1 | // Syntax Typ 1 | ||
| global $MOD_MyModule; | global $MOD_MyModule; | ||
| Zeile 76: | Zeile 76: | ||
| echo $MOD_MyModule_TEXT[' | echo $MOD_MyModule_TEXT[' | ||
| echo $MOD_MyModule_MESSAGE[' | echo $MOD_MyModule_MESSAGE[' | ||
| - | </PHP> | + | </code> |
| Nach dieser alten Prä-Translate-Methode sind leider noch die teils ellenlangen Präfixes notwendig. | Nach dieser alten Prä-Translate-Methode sind leider noch die teils ellenlangen Präfixes notwendig. | ||
| <div important> | <div important> | ||
| Zeile 121: | Zeile 121: | ||
| Für Addon-Entwickler ist Translate sehr einfach einzusetzen. Die Grundinitialisierung wird **immer** automatisch vom Core vorgenommen und Addons haben damit überhaupt nichts zu schaffen. Bei älteren Addons, die noch PHP-Dateien enthalten, die direkt von außen aufgerufen werden müssen, sind 2 bis maximal 4 Translate-Methoden erforderlich (alle Kommandos werden in der Standalone-Form angegeben). Bedingung für den Einsatz von Translate ist, dass die Datei '' | Für Addon-Entwickler ist Translate sehr einfach einzusetzen. Die Grundinitialisierung wird **immer** automatisch vom Core vorgenommen und Addons haben damit überhaupt nichts zu schaffen. Bei älteren Addons, die noch PHP-Dateien enthalten, die direkt von außen aufgerufen werden müssen, sind 2 bis maximal 4 Translate-Methoden erforderlich (alle Kommandos werden in der Standalone-Form angegeben). Bedingung für den Einsatz von Translate ist, dass die Datei '' | ||
| - | * <php>Translate:: | + | * '' |
| - | * <php>Translate:: | + | * '' |
| <div info>Die folgenden Methoden stehen erst ab Template Version 1.0.0 zur Verfügung!</ | <div info>Die folgenden Methoden stehen erst ab Template Version 1.0.0 zur Verfügung!</ | ||
| - | * <php>Translate:: | + | * '' |
| - | * <php>Translate:: | + | * '' |
| Einfacher noch geht es bei Addon-Dateien, | Einfacher noch geht es bei Addon-Dateien, | ||
| Jetzt müssen eigentlich nur noch die Übersetzungstexte von Translate abgerufen werden. Der einfachste Weg ist:\\ | Jetzt müssen eigentlich nur noch die Übersetzungstexte von Translate abgerufen werden. Der einfachste Weg ist:\\ | ||
| - | <php> $oTrans = Translate:: | + | <code php> |
| - | < | + | $sText = $oTrans-> |
| - | entspricht dem früheren\\ | + | // oder auch |
| - | <php> globals $TEXT; </ | + | $sText = Translate:: |
| - | <php> $sText = $TEXT[' | + | </code> |
| + | entspricht dem früheren | ||
| + | <code php> | ||
| Für ältere Addons existiert vorübergehend eine Methode, sämtliche Übersetzungstexte in einem Zug an die // | Für ältere Addons existiert vorübergehend eine Methode, sämtliche Übersetzungstexte in einem Zug an die // | ||
| - | <php> $template-> | + | <code php> $template-> |
| Das Problem bei dieser Methode ist, dass immer eine komplette Kopie der Übersetzungstabelle an die Templateengine übergeben wird. | Das Problem bei dieser Methode ist, dass immer eine komplette Kopie der Übersetzungstabelle an die Templateengine übergeben wird. | ||
| - | Wesentlich einfacher und platzsparender ist die Verwendung in Verbindung mit Twig, da hier nur eine speichersparende Referenz auf das Translateobjekt übergeben wird:\\ | + | Wesentlich einfacher und platzsparender ist die Verwendung in Verbindung mit Twig, da hier im Php-Code |
| - | <php> $aTwigData[' | + | <code php> |
| + | die Anzeige im Twig-Template erfolgt | ||
| + | <code twig>{{ Trans.TEXT_CANCEL }}</ | ||