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 Weitergabe 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#

Weblate stores updated strings in a database and commits them to a local version control repository. You can add Weblate repository (when Git-Exporter is turned on) as additional remote and fetch translations update from it.

Zuvor sollten Sie alle ausstehenden Änderungen committen (siehe Lazy Commits). Sie können dies in der Bedienoberfläche (unter Repository-Wartung) oder über die Befehlszeile mit Weblate-Client tun.

Das Pushen von Änderungen kann automatisiert werden, wenn Sie Weblate Push-Zugriff auf Ihr Repository gewähren und Repository-Push-URL 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.

Neue Zeichenketten hinzufügen#

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 Basissprachdatei, 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.

Einführen neuer Zeichenketten#

You can add new strings in Weblate with Zeichenketten verwalten turned on, but it is usually better to introduce new strings together with the code changes that introduced them.

Monolingual formats need addition of the new string to Einsprachige Basissprachdatei. This is typically done by the developers during developing the code. You might want to introduce review of those strings using Qualitäts-Gateway für die Ausgangszeichenketten.

Bilingual formats typically extract strings from the source code using some tooling. Follow your localization framework documentation for instructions how to do that. Once the strings are extracted, there might be an additional step needed to update existing translations, see Aktualisieren der Zielsprachdateien.

Hinweis

You might want to integrate this into your continuous integration pipelines to make new strings automatically appear for translation. Such pipeline should also cover Vermeiden von Merge-Konflikten.

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 Repository-Wartung 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.webp