Benutzer-Werkzeuge

Webseiten-Werkzeuge


dev:284:translate

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
dev:284:translate [19.07.2018 11:54] – [Das Grundsystem hinter Translate] Manuela v.d.Deckendev:284:translate [31.08.2023 02:03] 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:\\
 //(übersichtlich und schon im Texteditor einfach zu sortieren)// //(übersichtlich und schon im Texteditor einfach zu sortieren)//
-<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['MESSAGE_ARCHIVE_DELETED'    = 'Zip(s) deleted successfully.'; $MOD_MyModule['MESSAGE_ARCHIVE_DELETED'    = 'Zip(s) deleted successfully.';
 $MOD_MyModule['MESSAGE_ARCHIVE_NOT_DELETED'] = 'Cannot delete the selected Zip(s).'; $MOD_MyModule['MESSAGE_ARCHIVE_NOT_DELETED'] = 'Cannot delete the selected Zip(s).';
-</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['PRINT'                      = 'Please print this page, if a copy is desired for your records.'; $MOD_MyModule['PRINT'                      = 'Please print this page, if a copy is desired for your records.';
 $MOD_MyModule['LOAD_LAYOUT'                = 'Load Default Layout'; $MOD_MyModule['LOAD_LAYOUT'                = 'Load Default Layout';
Zeile 29: Zeile 29:
 $MOD_MyModule_MESSAGE['ARCHIVE_DELETED'    = 'Zip(s) deleted successfully.'; $MOD_MyModule_MESSAGE['ARCHIVE_DELETED'    = 'Zip(s) deleted successfully.';
 $MOD_MyModule_MESSAGE['ARCHIVE_NOT_DELETED'] = 'Cannot delete the selected Zip(s).'; $MOD_MyModule_MESSAGE['ARCHIVE_NOT_DELETED'] = 'Cannot delete the selected Zip(s).';
-</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->MOD_MyModule_PRINT; echo $oTrans->MOD_MyModule_PRINT;
 echo $oTrans->MOD_MyModule_LOAD_LAYOUT; echo $oTrans->MOD_MyModule_LOAD_LAYOUT;
Zeile 38: Zeile 38:
 echo $oTrans->MOD_MyModule_MESSAGE_ARCHIVE_DELETED; echo $oTrans->MOD_MyModule_MESSAGE_ARCHIVE_DELETED;
 echo $oTrans->MOD_MyModule_MESSAGE_ARCHIVE_NOT_DELETED; echo $oTrans->MOD_MyModule_MESSAGE_ARCHIVE_NOT_DELETED;
-</PHP>+</code>
 Zwingend ist derzeit jedoch noch der Präfix "$MOD_MyModule_" bzw."$MOD_MyModule[". Zwingend ist derzeit jedoch noch der Präfix "$MOD_MyModule_" bzw."$MOD_MyModule[".
 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 'eingebaut' werden: Die Sprachdateien sowohl im Core als auch in Modulen mussten mit solchen und ähnlichen, abenteuerlichen Konstrukten 'eingebaut' werden:
-<PHP>+<code php>
 // Load Language file // Load Language file
 if(is_readable(WB_PATH.'/modules/MyModule/languages/EN.php')) { if(is_readable(WB_PATH.'/modules/MyModule/languages/EN.php')) {
Zeile 63: Zeile 63:
     require_once(WB_PATH.'/modules/MyModule/languages/'.LANGUAGE.'.php');     require_once(WB_PATH.'/modules/MyModule/languages/'.LANGUAGE.'.php');
 }     }    
-</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['GUEST']; echo $MOD_MyModule_TEXT['GUEST'];
 echo $MOD_MyModule_MESSAGE['ARCHIVE_DELETED']; echo $MOD_MyModule_MESSAGE['ARCHIVE_DELETED'];
-</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>Die Benutzung der alten Sprachvariablen ist deprecatet!\\ Die alten Sprachvariablen werden mit Abschluss der Umstellung auf **Translate** ohne extra Ankündigung aus dem System entfernt, was auch die obigen Ausgabemethoden entfernt.</div> <div important>Die Benutzung der alten Sprachvariablen ist deprecatet!\\ Die alten Sprachvariablen werden mit Abschluss der Umstellung auf **Translate** ohne extra Ankündigung aus dem System entfernt, was auch die obigen Ausgabemethoden entfernt.</div>
Zeile 122: Zeile 122:
 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 ''framework/initialize.php'' bereits geladen (included) ist: 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 ''framework/initialize.php'' bereits geladen (included) ist:
   * <php>Translate::getInstance()->enableAddon('modules\\MeinAddon');</php> Dieser Befehl wird gleich zu Beginn einer aufgerufenen Datei eingesetzt. Dadurch werden eventuell vorhandene Sprachdateien dieses Addons aktiviert. Sollte noch ein anderes Addon aktiviert sein, wird dieses zuerst deaktiviert.   * <php>Translate::getInstance()->enableAddon('modules\\MeinAddon');</php> Dieser Befehl wird gleich zu Beginn einer aufgerufenen Datei eingesetzt. Dadurch werden eventuell vorhandene Sprachdateien dieses Addons aktiviert. Sollte noch ein anderes Addon aktiviert sein, wird dieses zuerst deaktiviert.
 +  * <php>Translate::getInstance()->disableAddon();</php> Mit diesem Kommando wird das aktive Addon mitsamt seinem Theme und/oder Template wieder von Translate getrennt.
 +<div info>Die folgenden Methoden stehen erst ab Template Version 1.0.0 zur Verfügung!</div>
   * <php>Translate::getInstance()->enableAddonTemplate('NameDesTemplates');</php> Dieser Befehl aktiviert bei Bedarf vorhandene Sprachdateien eines zugehörigen Templates. Wird kein 'NameDesTemplates' angegeben, wird nach dem allgemein eingestellten Template gesucht. Wird das nicht gefunden, erfolgt ein Fallback auf das Default-Template.   * <php>Translate::getInstance()->enableAddonTemplate('NameDesTemplates');</php> Dieser Befehl aktiviert bei Bedarf vorhandene Sprachdateien eines zugehörigen Templates. Wird kein 'NameDesTemplates' angegeben, wird nach dem allgemein eingestellten Template gesucht. Wird das nicht gefunden, erfolgt ein Fallback auf das Default-Template.
   * <php>Translate::getInstance()->enableAddonTheme('NameDesThemes');</php> Dieser Befehl aktiviert bei Bedarf vorhandene Sprachdateien eines zugehörigen Themes. Wird kein 'NameDesThemes' angegeben, wird nach dem allgemein eingestellten Theme gesucht. Wird das nicht gefunden, erfolgt ein Fallback auf das Default-Theme.   * <php>Translate::getInstance()->enableAddonTheme('NameDesThemes');</php> Dieser Befehl aktiviert bei Bedarf vorhandene Sprachdateien eines zugehörigen Themes. Wird kein 'NameDesThemes' angegeben, wird nach dem allgemein eingestellten Theme gesucht. Wird das nicht gefunden, erfolgt ein Fallback auf das Default-Theme.
-  * <php>Translate::getInstance()->disableAddon();</php> Mit diesem Kommando wird das aktive Addon mitsamt seinem Theme und/oder Template wieder von Translate getrennt.+
 Einfacher noch geht es bei Addon-Dateien, die Core-gesteuert aufgerufen werden: Hier wird das Addon bereits vom Core aktiviert. Einzig das Template und/oder das Theme müssen derzeit noch vom Addon selbst aktiviert werden. Auch die Deaktivierung erfolgt automatisch durch den Core. Einfacher noch geht es bei Addon-Dateien, die Core-gesteuert aufgerufen werden: Hier wird das Addon bereits vom Core aktiviert. Einzig das Template und/oder das Theme müssen derzeit noch vom Addon selbst aktiviert werden. Auch die Deaktivierung erfolgt automatisch durch den Core.
  
dev/284/translate.txt · Zuletzt geändert: 31.08.2023 08:22 von Manuela v.d.Decken