Wie kann ich H5P-Übersetzungen verbessern?

Hast du dich schon einmal gefragt, warum einige H5P-Inhaltstypen Übersetzungen für eine bestimmte Sprache mitbringen, während andere das nicht tun – und wie du eine Übersetzung hinzufügen könntest? Oder hast du einen Rechtschreibfehler entdeckt, den niemand zu bemerken scheint, aber du würdest ihn gerne beheben, wenn du  bloß könntest? Du kannst!

Das H5P-Kernteam besteht nicht aus lauter Mehrsprachler*innen, sondern es hängt von deiner Hilfe ab. H5P ist ein Open-Source-Projekt. Das bedeutet, dass du auf mehrere Arten dazu beitragen kannst, selbst wenn du nicht programmieren kannst … Übersetzungen hinzufügen und verbessern ist eine Art beizutragen.

Eine kleine Sache, die man im Hinterkopf behalten sollte: H5P-Inhaltstypen müssen ein paar Regeln befolgen, um übersetzbar zu sein. Die meisten tun das, aber es gibt auch ein paar, bei denen bestimmte Dinge im Code fest verdrahtet sind. Um das zu ändern, müsste man doch in der Lage sein zu programmieren. Aber lassen wir diese Grenzfälle beiseite …

Auf die harte Tour beitragen

Es gibt eine Art „Normalfall“ für das Beitragen von Übersetzungen, aber meiner Meinung nach gibt es einen besseren Weg. Deshalb erwähne ich hier diesen Normalfall der Vollständigkeit halber. Aber nur kurz. Und ich gehe davon aus, dass du mit einigen Fachbegriffen vertraut bist oder du dich selbst etwas tiefer damit auseinandersetzt.

Der Quellcode der meisten Inhaltstypen ist öffentlich in Repositorien verfügbar. Diese Repositorien sind über verschiedene Repositorien-Besitzer und sogar verschiedene Plattformen verstreut, so dass du wissen müsstest, wo du sie findest. Ich nutze hier den Inhaltstyp True-False als Beispiel, weil es nicht viel zu Übersetzen gibt. Du kannst das Repositorium auf github finden.

Wenn ein Inhaltstyp zum Übersetzen vorbereitet ist, enthält das Repositorium ein Verzeichnis mit dem Namen „language“. Logisch! Innerhalb dieses Verzeichnisses solltest du eine Datei mit dem Namen .en.json finden. Das ist die englische Sprachvorlage im JSON-Format. Schau dir einfach die Vorlage von True-False als Beispiel an.

translation template file of H5P True-False content type showing a JSON structure

Wenn du das jetzt übersetzen möchtest, musst du das Repositorium forken, die Vorlage in eine neue Datei innerhalb des Verzeichnisses „language“ kopieren und sie entsprechend des passenden ISO-639-1-Sprachcodes als Dateinamen und der Erweiterung .json umbenennen. Wenn es bereits eine Datei für die Sprache gibt, die du bearbeiten möchtest, öffne einfach die. Innerhalb dieser Datei übersetzt du bloß alle JSON-Werte, aber nicht die Schlüssel – eine Zeile, die übersetzt werden muss, folgt dem Schema „Schlüssel“: „Wert“.

Es kann hilfreich sein, den Editor des Inhaltstyps zu öffnen, um ein wenig Kontext für die Übersetzung zu bekommen. Pass auch etwas auf, denn manchmal sollten die Werte so bleiben, wie sie sind. Zum Beispiel sollte etwas wie @total auch @total bleiben. Das ist ein Platzhalter, der später durch den Zahlenwert des Gesamtergebnisses ersetzt wird.

Wenn du fertig bist, erstellst du einen Pull-Request, und das sollte es dann gewesen sein.

Auf die nicht so harte Tour beitragen

Es ist nichts falsch am „harten“ Weg. Aber er fühlt sich nicht besonders bequem an, oder? Und es gibt ein paar Dinge, die schiefgehen können. Man könnte beispielsweise versehentlich die Struktur der JSON-Datei ändern, was später Probleme und Arbeit auf der Seite des H5P-Kernteams verursacht. Und ich habe unterschlagen, dass die Übersetzungen von Editor-Widgets ein wenig anders funktionieren … Glücklicherweise gibt es einen nicht so schwierigen Weg, um H5P-Inhaltstypen zu übersetzen.

Sebastian Rettig hat Translate H5P eingerichtet. Es basiert auf Weblate, einer Software, die für die Lokalisierung entwickelt wurde. Translate H5P bietet einige Vorteile im Vergleich zur direkten Übersetzung der Dateien:

  • Du musst dich nicht mit dem Finden der Repositorien befassen. Wahrscheinlich ist das, an dem du arbeiten möchtest, bereits mit Translate H5P verbunden. Wenn nicht, reicht wohl eine kurze Nachricht…
  • Du musst dich nicht mit github oder dem JSON-Format auseinandersetzen. Du übersetzt in einem Formular im Browser, und Translate H5P kümmert sich um den Rest.
  • Du kannst sehen, wie Begriffe in anderen Inhaltstypen übersetzt wurden, und du kannst diese mit nur einem Klick direkt verwenden. Dadurch wird sichergestellt, dass die Übersetzungen in verschiedenen H5P-Inhaltstypen einheitlich sind.
  • Du kannst sehen, wie Begriffe in anderen Sprachen übersetzt wurden. Das kann etwas mehr Kontext liefern.
  • Du kannst benachrichtigt werden, wenn die Übersetzungsvorlage geändert wurde -etwa wenn dem Inhaltstyp neue Funktionen hinzugefügt wurden, die neue Übersetzungen erfordern.
  • Du kannst Kommentare für andere Übersetzer hinterlassen.

Bildschirmfoto der Übersetzungmaske von Translate H5P für den Inhaltstyp True-False

Ich werde hier nicht im Detail beschreiben, wie Translate H5P funktioniert, denn Sebastian hat bereits einen Abschnitt „How to contribute“ erstellt. Beizutragen bedeutet im Wesentlichen, sich auf der Seite zu registrieren. Und dann schaut man, wo Bedarf besteht und legt los.

Ich empfehle aber, zusätzlich das gerade erstellte Profil etwas anzupassen. Zum Beispiel solltest du die Sprachen aufzählen, in die du übersetzen kannst und die Sprachen, die du zumindest verstehen kannst. Wenn du Aktualisierungen von Übersetzungen mitbekommen möchtest, solltest du die Benachrichtigungen entsprechend einstellen. Dann weißt du stets, wann möglicherweise Hilfe benötigt wird.

Ich kann Translate H5P auf jeden Fall empfehlen. Vergiss nicht, Sebastian zu danken, der die Seite pflegt und finanziert.

Auf die faule Tour beitragen

Du könntest auch Übersetzungen im H5P-Forum posten oder auf Rechtschreibfehler hinweisen. Das mag für dich sehr bequem sein, aber bitte nutze diesen Weg nur als letzte Möglichkeit. Du könntest die Änderung nämlich selbst vornehmen. Wenn du dann nur Tippfehler in einen Beitrag zu wirfts, fühlt sich das komisch an. In etwa so, als ob du erwartest, dass andere die Arbeit tun, die du selbst hättest tun können.

Ich habe etwas übersetzt, aber es ist immer noch nicht im Inhaltstyp verfügbar!1!! Warum?

Weder das Erstellen eines Pull-Requests direkt noch über Translate H5P wird unmittelbar etwas im offiziellen Code ändern. Ein Pull-Request ist so etwas wie ein Angebot an das H5P-Kernteam, das sie auch akzeptieren müssen. Es gibt keinen festen Zeitplan, aber sie scheinen alle vier Wochen neue Übersetzungen anzunehmen. Das bedeutet, dass sie dann im offiziellen Code enthalten sind. Trotzdem bedeutet das nicht, dass sie dann bai dir schon im Inhaltstyp zu finden sind.

Das H5P-Kernteam muss erst eine neue Version des Inhaltstyps veröffentlichen, und dafür können auch noch andere Dinge zu tun sein. Leider gibt es nicht einmal eine Faustregel dafür, wann eine neue Veröffentlichung herauskommen könnte. Aber ich hoffe, das erklärt zumindest, warum Übersetzungen nicht sofort verfügbar sind.