Übersätzen
Sie können zur Übersetzung dieses Plugins beitragen. Die Übersetzungen werden mit der Software Weblate unter Verwendung der Framasoft Weblate Instanz bearbeitet.
Ändern Sie niemals direkt Dateien im Ordner languages
, dies könnte zu
Konflikten führen.
Wie funktioniert es
- Erstellen Sie ein Konto: https://weblate.framasoft.org/accounts/register/
- Bestätigen Sie Ihre E-Mail und folgen Sie dem zugesandten Link
- Erstellen Sie Ihr Passwort und richten Sie Ihr Konto ein
- Rufen Sie die Projektseite des Plugins auf: https://weblate.framasoft.org/projects/peertube-livechat/peertube-plugin-livechat/
- Wählen Sie die Sprache, die Sie übersetzen möchten
- Übersetzen Sie einfach die fehlenden Sätze, oder korrigieren Sie die Sätze, die Ihnen falsch erscheinen.
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.