Integration mit Weblate

Weblate-Grundlagen

Projekt- und Komponentenstruktur

In Weblate sind die Übersetzungen in Projekten und Komponenten organisiert. Jedes Projekt kann eine Reihe von Komponenten enthalten, die Übersetzungen in einzelne Sprachen enthalten. Die Komponente entspricht einer übersetzbaren Datei (zum Beispiel GNU gettext oder Android String-Ressourcen). Die Projekte helfen Ihnen, die Komponenten in logischen Gruppen zu organisieren (z. B. um alle in einer Anwendung verwendeten Übersetzungen zu gruppieren).

Intern verfügt jedes Projekt über Übersetzungen in gemeinsamen Zeichenketten, die standardmäßig auf andere Komponenten des Projekts übertragen werden. Dies erleichtert die Last der sich wiederholenden und mehrere Versionen umfassenden Übersetzung. Die Weitergabe von Übersetzungen kann für jede Komponentenkonfiguration mit Verbreitung von Übersetzungen erlauben deaktiviert werden, falls die Übersetzungen voneinander abweichen sollten.

Lokalisierungsprojekt in Weblate importieren

Weblate wurde mit Blick auf die VCS-Integration als Kernfunktion entwickelt. Der einfachste Weg ist, Weblate den Zugriff auf Ihr Repository zu gewähren. Der Importvorgang führt Sie durch die Konfiguration Ihrer Übersetzungen in Komponenten.

Alternativ können Sie Weblate verwenden, um ein lokales Repository einzurichten, das alle Übersetzungen ohne Integration enthält.

Abrufen aktualisierter Übersetzungen von Weblate

Um aktualisierte Zeichenketten aus Weblate abzurufen, können Sie einfach das zugrundeliegende Git-Repository abrufen (entweder aus dem Dateisystem, oder es kann durch Git-Exporter verfügbar gemacht werden). Zuvor sollten Sie alle anstehenden Änderungen übertragen (siehe Lazy Commits). Sie können dies in der Benutzeroberfläche (in der Paketquellwartung) oder über die Kommandozeile mit Weblate-Client tun.

Dies kann automatisiert werden, wenn Sie Weblate Push-Zugriff auf Ihr Repository gewähren und Push-URL für Repository in der Komponentenkonfiguration einrichten, siehe Pushen von Änderungen aus Weblate.

Alternativ können Sie auch Weblates REST API verwenden, um die Übersetzungen auf den neuesten Stand zu bringen.

Abruf von Remote-Änderungen in Weblate

To fetch the strings newly updated in your repository into Weblate, just let it pull from the upstream repository. This can be achieved in the user interface (in the Repository maintenance), or from the command-line using Weblate-Client.

This can be automated by setting a webhook in your repository to trigger Weblate whenever there is a new commit, see Repositorys werden aktualisiert for more details.

If you’re not using a VCS integration, you can use UI or Weblates REST API to update translations to match your code base.

Hinzufügen neuer Zeichenketten

In case your translation files are stored in a VCS together with the code, you most likely have an existing workflow for developers to introduce new strings. Any way of adding strings will be picked up, but consider using Qualitäts-Gateway für die Ausgangszeichenketten to avoid introducing errors.

When the translation files are separate from the code, there are following ways to introduce new strings into Weblate.

Bemerkung

Availability of adding strings in Weblate depends on Zeichenketten verwalten.

Aktualisieren der Zielsprachdateien

For monolingual files (see Unterstützte Dateiformate) Weblate might add new translation strings not present in the Einsprachige Basis-Sprachdatei, and not in actual translations. It does not however perform any automatic cleanup of stale strings as that might have unexpected outcomes. If you want to do this, please install Übersetzungsdateien bereinigen add-on which will handle the cleanup according to your requirements.

Weblate also will not try to update bilingual files in any way, so if you need po files being updated from pot, you need to do it yourself using Update source strings Importmethoden or using PO-Dateien auf POT aktualisieren (msgmerge) add-on.

Verwalten des Repository der Versionsverwaltung

Weblate speichert alle Übersetzungen im Repository der Versionsverwaltung. Es kann entweder mit einem Upstream-Repository verbunden sein, oder nur intern sein. Mit der Paketquellwartung können Sie das beeinflussen.

Hinweis

Mit Kontinuierliche Lokalisierung wird das Repository automatisch gepusht, wenn es Änderungen gibt. Es besteht normalerweise keine Notwendigkeit, es manuell zu beeinflussen.

../_images/component-repository.png

Die folgenden Operationen sind verfügbar:

Commit

Committen Sie alle ausstehenden Änderungen, die in der Weblate-Datenbank und nicht im Repository vorhanden sind, siehe Lazy Commits.

Push

Änderungen in das Upstream-Repository pushen, falls mit Push-URL für Repository konfiguriert.

Aktualisieren, Abrufen, Umbasieren

Aktualisiert das Weblate-Repository mit Upstream-Änderungen. Es verwendet Git-Strategie bei der Auswahl von Aktualisieren oder Sie können etwas anderes aus dem Dropdown-Menü auswählen.

Sperren

Sperren verhindert, dass Übersetzer Änderungen vornehmen können

Zurücksetzen aus Wartung

Setzt alle in Weblate vorgenommenen Änderungen auf das Upstream-Repository zurück. Dadurch werden alle in Weblate vorgenommenen Übersetzungen verworfen, die nicht im Upstream-Repository vorhanden sind.

Bereinigungsvorgang aus Wartung

Entfernt nicht nachverfolgte Dateien aus dem Repository. Diese könnten das Ergebnis von fehlerhaften Erweiterungen oder Fehlern sein.

Synchronisation erzwingen aus Wartung

Erzwingt das Schreiben aller Zeichenketten in die Übersetzungsdateien. Verwenden Sie dies, wenn die Repository-Dateien aus irgendeinem Grund nicht mehr mit Weblate synchronisiert sind.