Übersätzen

Sie können zur Übersetzung dieses Plugins beitragen. Die Übersetzungen werden mit der Software Weblate unter Verwendung der Framasoft Weblate Instanz bearbeitet.

Warnung

Ändern Sie niemals direkt Dateien im Ordner languages, dies könnte zu Konflikten führen.

Wie funktioniert es

Warnung

Es könnte einige «sehr technische» Zeichenfolgen geben. Wenn Sie sich der Bedeutung oder Ihrer Übersetzung nicht 100%ig sicher sind, sollten Sie sie besser nicht übersetzen, damit sie in Englisch angezeigt werden.

ConverseJS Übersetzungen

Dieses Plugin verlässt sich auf ConverseJS für das Chat-Frontend. ConverseJS hat seine eigenen Übersetzungen, in seiner eigenen Weblateinstanz. Sie können auch direkt im Code-Repository übersetzen. Weitere Informationen finden Sie in der ConverseJS Übersetzungsdokumentation.

Eine neues Sprachgebiet hinzufügen

Wenn Sie glauben, dass eine Sprache fehlt, prüfen Sie bitte zuerst, ob sie von Peertube unterstützt wird. Wenn ja, können Sie ein Problem erstellen, um danach zu fragen.

Hinzufügen neuer Zeichenfolgen / Verwendung von Übersetzungen im Code

Wenn Sie an neuen Funktionen arbeiten und neue Zeichenketten benötigen, können Sie diese direkt in Weblate erstellen. Die englische Version ist obligatorisch. Beginnen Sie mit ihr.

Jede Zeichenfolge ist mit einem Schlüssel verknüpft (z. B. use_chat). Wählen Sie einen expliziten Schlüssel in Englisch und nutzen Sie nur Kleinbuchstaben.

Wenn Sie neue Zeichenketten testen müssen, ohne auf einen Weblate-Zusammenschluss zu warten, können Sie die Dateien languages/*.yml ändern, aber vermeiden Sie es, diese Änderungen zu übertragen (um das Konfliktrisiko zu minimieren).

Übersetzungen im Front-End-Code verwenden

Bevor Sie eine Zeichenkette im Frontend verwenden, müssen Sie eine neue Konstante in client/@types/global.d.ts deklarieren. Der Name der Konstante muss:

  • mit dem Präfix “LOC_” beginnen
  • den Zeichenketten Schlüssel in Großbuchstaben verwenden
  • Sie müssen nur den Typ angeben, nicht den Wert

Um zum Beispiel “use_chat” zu verwenden, müssen Sie deklarieren:

declare const LOC_USE_CHAT: string

Das Skript build-client.js liest die client/@types/global.d.ts, sucht nach solchen Konstanten und lädt deren Werte aus den Sprachdateien.

Jetzt können Sie einfach peertubeHelpers.translate(LOC_USE_CHAT) in Ihrem Code aufrufen.

Übersetzungen im Backend-Code verwenden

Theoretisch sind die einzigen Teile des Backend-Codes, für die eine Lokalisierung erforderlich ist, die Deklaration der Einstellungen und standardisierte Daten (ActivityPub, RSS, …). Hier müssen wir englische Zeichenketten aus dem Übersetzungsschlüssel holen.

Hinweis: Sie sollten nie eine weitere Sprachübersetzung vom Backend-Code benötigen. Die Lokalisierung muss im Frontend erfolgen.

Es gibt ein lib/loc.ts Modul, das eine loc() Funktion bereitstellt. Übergeben Sie ihr einfach den Schlüssel, um die englische Zeichenkette zu erhalten: loc('diagnostic')'.

Übersätzungs-Dokumentation

Die Übersetzung der Dokumentation erfolgt mit Hilfe der entsprechenden Weblate-Komponente.

Es gibt einen speziellen “Hugo Shortcode”, den Sie verwenden können, um eine Anwendungszeichenkette anzuzeigen. Wenn Sie beispielsweise den Namen der Schaltfläche “open_chat_new_window” anzeigen möchten, können Sie dies in der Markdown-Datei der Dokumentation verwenden:

{{% livechat_label open_chat_new_window %}}

Sie können auch verhindern, dass eine ganze Seite übersetzt wird, indem Sie livechatnotranslation: true in der Yaml Font Matter Sektion hinzufügen:

  ---
  title: "Drittanbieter"
  description: "Anzeige des Livechats mit Software von Drittanbietern."
  weight: 20
  chapter: false
  livechatnotranslation: true
  ---

Übersetze niemals eine Zeichenkette in der Datei livechat.en.pot, sie würde ignoriert werden. Bearbeiten Sie stattdessen direkt die Markdown-Dateien.

Wenn eine Zeichenfolge einen Link enthält, können Sie ihn in den richtigen Link in der übersetzten Sprache ändern. Zum Beispiel können Sie für einen Link zu dieser Dokumentation den Sprachcode in die URL einfügen.

Einige Zeichenfolgen sind Code-Blöcke. Übersetzen Sie den Code nicht. Aber Sie können Kommentare oder Parameter übersetzen, wenn sie relevant sind.

Wenn Sie sich nicht sicher sind, übersetzen Sie einfach nicht und fragen Sie, was zu tun ist.

Das Tool, mit dem ich die Übersetzungen für die Dokumentation bearbeite, verhält sich manchmal seltsam. Wenn ich Sätze hinzufüge, die anderen bestehenden Sätzen ähneln, kopiert es manchmal bestehende Übersetzungen. Wenn Sie also Übersetzungen als “zu prüfen” markiert haben, stellen Sie bitte sicher, dass es vor der Validierung keine Zeichenfolge kopiert, die nichts mit der englischen zu tun hat.

Wenn Sie sich nun über den Kontext einer Zeichenkette sicher sind, können Sie die Position der Zeichenkette im rechten Fensterbereich von weblate überprüfen und die entsprechende Dokumentationsseite öffnen. Für eine Zeichenfolge in der Datei support/documentation/content/de/documentation/user/streamers.md lautet die entsprechende URL beispielsweise https://livingston.frama.io/peertube-plugin-livechat/de/documentation/user/streamers/.

Allgemeine Empfehlungen

Bitte formulieren Sie umfassend und beachten Sie den Verhaltenskodex.