Help:Extension:Translate/Translation aids/de

Übersetzungshilfen (oder translation helpers) sind Module, die dem Übersetzer beim Übersetzen hilfreiche und notwendige Informationen liefern. Verschiedene Hilfsmittel können Vorschläge aus dem Übersetzungsgedächtnis und der maschinellen Übersetzung, eine Dokumentation zu der Nachricht oder sogar so etwas Grundlegendes wie die Nachrichtendefinition - den zu übersetzenden Text - liefern.

Es gibt einige Überschneidungen zwischen den Hilfsmitteln und den Daten, die von der Nachrichtensammlung bereitgestellt werden, aber in aller Regel stellt die Nachrichtensammlung nur Informationen bereit, die unbedingt benötigt werden, um die Liste der Nachrichten zu präsentieren: Definition, Übersetzung, Status der Übersetzung, letzter Übersetzer (weil man nur Übersetzungen überprüfen kann, die von jemand anderem gemacht wurden) usw.

Translate wird mit vielen Hilfsklassen ausgeliefert. Jede Klasse, die die Klasse TranslationAid erweitert, muss nur eine Methode namens  implementieren. Sie sollte die Informationen in strukturiertem Format (verschachtelte Arrays) zurückgeben. Diese Module können entweder direkt aus PHP oder über die WebAPI aufgerufen werden.



Wie man die Übersetzungshilfen innerhalb von MediaWiki nutzen kann
Einfaches Beispiel, wie man eine etwaige Nachrichtendokumentation einer Nachricht erhält. 

Wie man die Übersetzungshilfen-API nutzen kann
Wie bereits oben gesehen, sind Übersetzungshilfen über eine WebAPI verfügbar, die das MediaWiki WebAPI-Framework verwendet. Das Abrufen von Übersetzungshilfen ist so einfach wie ein HTTP-GET für die URL http://translatewiki.net/w/api.php?action=translationaids&title=MediaWiki%3AJan%2Fde. Sie bietet verschiedene Formate, aber JSON und XML sind die beliebtesten. Diese API benötigt keine Authentifizierung, aber einige Übersetzungshilfen wie "inotherlanguages" verwenden Benutzereinstellungen, um zu bestimmen, welche Sprachen verwendet werden sollen. Um diese Hilfe zu verwenden, solltest du dich zuerst anmelden, wie in der MediaWiki WebAPI-Dokumentation beschrieben.

Die zurückgegebenen Daten sollten wie folgt aussehen (dargestellt im hübschen JSON-Format): Jedes angeforderte Hilfsmittel hat hier garantiert einen Schlüssel (bis die Anfrage kläglich scheitert), aber während wir auf der PHP-Seite Ausnahmen verwenden, kann auf der JavaScript-Seite jedes Hilfsmittel den Schlüssel "error" mit der Fehlermeldung als Wert gesetzt haben. Ein Beispiel dafür siehst du oben mit. Es signalisiert, dass es kein Diff anzeigen kann, weil es seit der letzten Übersetzung keine Änderungen an der Definition gab.



JavaScript-Beispiele
Hier ist das Gleiche für JavaScript. Per Voreinstellung gibt die API alle Hilfsmittel zurück, aber du kannst mit dem -Parameter bestimmte anfordern. Im Beispiel verwenden wir JSONP, um Cross-Site-Request-Beschränkungen zu umgehen. Beachte, dass du mit JSONP keine Schreibaktionen ausführen kannst. Wenn du also diese API von JavaScript aus verwendest, musst du: einen Proxy haben; das Skript auf demselben Host ausführen; oder eine kleine Hilfe (noch nicht implementiert) von der Zielsite laden. 

Namenskonvention und Rückgabewerte
Jede Übersetzungshilfe hat einen eindeutigen String-Identifier. Identifier sollten Sonderzeichen vermeiden, insbesondere solche, die in JavaScript-Identifiern nicht gültig sind, wie  und.

Das Array, das von jeder Übersetzungshilfe zurückgegeben wird, bleibt dem Entwickler überlassen, sollte aber einigen allgemeinen Empfehlungen folgen.

Wenn nur ein Textwert zurückgegeben wird, sollte er  als Schlüssel des Feldes verwenden. Die Sprache sollte im Feld  angegeben werden. Benutzer dieser Daten sollten sicherstellen, dass der Text in HTML und anderswo korrekt mit der angegebenen Sprache und Übersetzungsrichtung (hier nicht angegeben) gekennzeichnet ist. Wenn es eine HTML-Ausgabe gibt, sollte diese mit dem Schlüssel  verfügbar sein. Beispiele hierfür sind die Dokumentation von Nachrichten und Diffs.

Verschiedene Arten von Übersetzungsvorschlägen wie maschinelle Übersetzung und Übersetzungsgedächtnis sollten diese Schlüssel verwenden, sofern sie sinnvoll sind:


 * ,  and   (Zielsprache ist implizit dieselbe wie die Sprache der Übersetzung)
 * : Identifier des benutzten Dienstes
 * : Wert im Bereich [0,1], ein höherer Wert bedeutet, dass die Qualität der Vorschläge sehr gut ist.



Liste der Standardhilfen
[field] Bedeutet, dass der Rückgabewert eine Liste ist. In PHP bedeutet dies: Array mit numerischen Indizes + eines mit Schlüssel ; siehe oben, warum dies benötigt wird.