20. Jun 2024
Mehrsprachige Webseiten profitieren in vielerlei Hinsicht von den umfangreichen Sprachfunktionen in Weblication®.
Neben der weitergehenden Integration von
DeepL zur automatischen Übersetzung (Zusatzmodul) ganzer Seiten, steht auch eine
umfangreiche Sammlung an Framework-Funktionen zur Verfügung, um den
gewünschten Sprach-Workflow direkt in die Pflege der Seite zu
integrieren und die Möglichkeit, die Elemente-Struktur der jeweils korrespondierenden Seiten der Hauptsprache automatisch zu übernehmen.
Eine umfangreiche Sammlung an Framework-Funktionen steht in Weblication® zur Verfügung, um den gewünschten Sprach-Workflow direkt in die Pflege der Seite zu integrieren.
Beispiele solcher Framework-Funktionen in Weblication®:
Das folgende Schaubild zeigt, wie sich die verfügbaren PHP-Framework Funktionen für einen beispielhaften Sprach-Workflow einsetzen lassen.
In Weblication® können Sie eigene Sprach-Workflows über die PHP-Framework Funktionen umsetzen. Diese können eigene Kombinationen zur Übersetzung mit DeepL oder eigenen Übersetzungslösungen sein.
//Erstellen der freizugebenden und zu übersetzenden Datei
wLanguages::createToReleaseTranslation($path, array('debug' => $debug));
//Exportieren der zu übersetzenden Texte
wLanguages::exportToTranslate($path, array('sourceToTranslate' => 'reference'));
//Übersetzen der exportierten Texte
wLanguages::translateToTranslateDeepL($path, array('deeplKey' => $deeplKey));
//Einspielen der übersetzten Texte
wLanguages::importFromTranslated($path);
//Freigeben der übersetzten Datei
wLanguages::releaseToReleaseTranslation($path);
Neben den individuell kombinierbaren und durch eigene Skripte
ergänzbaren Funktionen, gibt es auch ein
konfigurierbares Snippet (Struktur in Sprachprojekte
überspielen und Inhalte automatisch übersetzen), welches
sich im Ereignis onAfterSaveFile auswählen lässt.
Wird in der Hauptsprache eine Änderung vorgenommen (strukturell und/oder inhaltlich), werden nach dem Speichern (Ereignis onAfterSaveFile) automatisch alle korrespondierenden Sprachdateien in den anderen Sprachen mit der Struktur (Strukturelemente der eben gespeicherten Seite in der Hauptsprache - Strukturreferenz bezeichnet) ausgestattet und die Inhalte der Seite automatisch über die DeepL-Schnittstelle (Zusatzmodul) übersetzt.
In einer individualisierten Variante dieses Scripts könnten auch nur die Inhalte in inhaltlich veränderten Elementen übersetzt werden, um ggf. bereits manuell veränderte Übersetzungen nicht wieder zu überschreiben (translate if referenceChanged and currentReferenceNotChanged), und die manuellen Übersetzer informiert werden.
//Übernimmt die Struktur in die korrespondierenden Sprachdateien und übersetzt die Texte automatisch mit DeepL (falls Weblication Modul und DeepL-Api lizenziert sind)
if(wLanguages::isTranslatable($eventData['filePath'])){
$options = array();
$options['deeplKey'] = wVariables::getValue('deepl_key', wProject::getPathGlobal($eventData['projectPath']));
$options['translateIf'] = 'referenceChanged'; // [referenceChanged|referenceChangedAndCurrentNotChanged] Der Text wird neu übersetzt, wenn er sich in der Ursprungsdatei ändert oder nur wenn er sich in der Ursprungsdatei ändert und in der aktuellen Sprachdatei nicht geändert hat.
$options['release'] = true; // Falls die Datei auch gleich veröffentlicht werden soll.
wLanguages::translateCorrespondantDocumentsToTranslateWithDeepL($eventData['filePath'], $options);
}
Denkbar ist, zukünftig solche Funktionen auch alternativ über die Projektmaske auswählbar zu machen, um das Handling nochmals zu vereinfachen. Hierzu sind wir auf Ihre Hinweise als Kunde / Partner angewiesen, wie Sie das System nutzen bzw. konfigurieren, damit wir weitere etablierte Muster standardisieren können.
Ist die entsprechende Einstellung im jeweiligen Sprachprojekt vorgenommen, kann im Editor die Struktur aus der korrespondierenden Seite der Hauptsprache in die aktuell bearbeitete Sprachversion der Seite übernommen werden.
Dabei ist einstellbar, ob bereits eine Strukturreferenz bestehen muss und ob diese ggf. nach der Übernahme erstellt wird. Außerdem ist einstellbar, ob im Fall einer Strukturreferenz der Struktureditor nutzbar sein soll. Eine Strukturreferenz dient dazu, dass die Stuktur über die Referenzsprache (Hauptsprache) vorgegeben wird und macht so die vollständig automatische Übersetzung erst möglich. Einzelne Seiten, die individuell gepflegt werden, verzichten in dem Fall auf eine Strukturreferenz.
Bei Klick auf "Diese Seite automatisch übersetzen" wird über die DeepL-Schnittstelle (Zusatzmodul) die gesamte Seite automatisch übersetzt. Danach kann die Übersetzung manuell verändert werden.
So bereiten Sie die Nutzung von Strukturreferenzen vor:
Die neuen Sprach-Funktionen sind in unterschiedlichen Szenarien nutzbar. Folgende Auflistung gibt einen Überblick:
Sie können komplette Seiten übersetzen über die DeepL-Schnittstelle (Zusatzmodul):
Wie bisher auch, können Sprachversionen individuell mit beliebigen Elementen strukturiert werden - unabhängig von der Elementestruktur der Hauptsprache. Der Redakteur selbst hat die volle Kontrolle über die Inhalte und die Inhaltsstruktur. Es gibt die Möglichkeit der automatisierten Übersetzung einer kompletten Seite, ohne dass die Elemente einzeln zu übersetzen sind (Zusatzmodule DeepL-Schnittstelle).
Falls die Seite über eine Hauptsprache mit strukturell identischen Sprachversionen gepflegt werden soll, sind Strukturreferenzen nutzbar, die dazu führen, dass in der Sprachversion kein Struktureditor zur Verfügung steht. Ändert sich die Struktur in der Hauptsprache, wird diese auch in der Sprachversion angepasst. Außer dass der Redakteur keinen Struktureditor sieht, kann er die Seite in gewohnter Weise pflegen und die Übersetzungswerkzeuge nutzen.
Auch völlig automatisierte Sprachversionen sind möglich. Dazu werden die Sprachversionen nach dem Speichern der Hauptversion über ein Ereignis mit Hilfe des PHP-Frameworks angepasst und automatisch mit DeepL übersetzt. Bei dieser Variante ist keine Pflege mehr innerhalb der Sprachversionen selbst notwendig.
Neben der komplett automatisierten 1:1 Übersetzung, sind auch eigene, individuelle Arbeitsabläufe abbildbar. Das erweiterte Sprach-Framework stellt Funktionen zur Verfügung, um auch asynchrone Übersetzungs- und Freigabeprozesse den unternehmensspezifischen Erfordernissen entsprechend umzusetzen.
Beispielhafte Funktionen sind:
Die Auflistung der unterschiedlichen Möglichkeiten zeigt, dass jede mehrsprachige Seite von den neuen Sprachfunktionen profitieren kann. Während bei umfangreicheren Projekten bestimmte Funktionen jetzt überhaupt erst ohne Eigenentwicklungen möglich sind, profitieren Seiten mit standardisierten Sprachkonstrukten im Optimalfall von der automatisierten Komplettübersetzung, was in vielen Fällen nicht weniger als eine Halbierung des Pflegeaufwandes bedeuten wird.