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
Nächste ÜberarbeitungBeide Seiten der Revision
dev:284:translate [19.07.2018 11:51] Manuela v.d.Deckendev:284:translate [19.07.2018 12:10] – [Wie wird Translate benutzt?] Manuela v.d.Decken
Zeile 88: Zeile 88:
 Wenn jetzt die berechtigte Frage kommt: 'was ist dann alles erledigt?', dann einfach weiterlesen, wie **Translate** funktioniert. Wenn jetzt die berechtigte Frage kommt: 'was ist dann alles erledigt?', dann einfach weiterlesen, wie **Translate** funktioniert.
  
-==== Das Grundsystem hinter Translate ====+===== Das Grundsystem hinter Translate =====
 Translate basiert auf der Vorgabe, dass Sprachdateien grundsätzlich jeweils nur die für den jeweiligen Bereich notwendigen Einträge enthalten. Im Gegenzug werden relativ viele, kleine Sprachdateien eingesetzt. Jedes Addon, jede ACP-Erweiterung **muss** und sogar jedes einzelne Template/Theme **kann** seine eigenen Sprachdateien mitbringen.\\ Translate basiert auf der Vorgabe, dass Sprachdateien grundsätzlich jeweils nur die für den jeweiligen Bereich notwendigen Einträge enthalten. Im Gegenzug werden relativ viele, kleine Sprachdateien eingesetzt. Jedes Addon, jede ACP-Erweiterung **muss** und sogar jedes einzelne Template/Theme **kann** seine eigenen Sprachdateien mitbringen.\\
 Diese Aufteilung vereinfacht die Arbeit eines Entwicklers. Er muss nicht mehr 'halbwegs passende' Einträge in der zentralen Datei suchen und dort schon gar keine neuen Einträge hinzufügen, die dann in ~25 verschiedenen Sprachen gepflegt/übersetzt werden müssen. Als absolute Mindestanforderung genügt es völlig, eine Addon-spezifische Datei in der Systemsprache '//englisch//' mitzuliefern, die alle Texte eines Addons, abzüglich der zentralen Texte enthält.\\ Diese Aufteilung vereinfacht die Arbeit eines Entwicklers. Er muss nicht mehr 'halbwegs passende' Einträge in der zentralen Datei suchen und dort schon gar keine neuen Einträge hinzufügen, die dann in ~25 verschiedenen Sprachen gepflegt/übersetzt werden müssen. Als absolute Mindestanforderung genügt es völlig, eine Addon-spezifische Datei in der Systemsprache '//englisch//' mitzuliefern, die alle Texte eines Addons, abzüglich der zentralen Texte enthält.\\
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