Erweiterungen

Neu in Version 2.19.

Erweiterungen bieten Möglichkeiten, den Ablauf der Übersetzung anzupassen und zu automatisieren. Administratoren können Erweiterungen über das Menü VerwaltungErweiterungen der jeweiligen Übersetzungskomponente hinzufügen und verwalten.

Hinweis

Sie können Erweiterungen auch mit API, DEFAULT_ADDONS, oder install_addon konfigurieren.

../_images/addons.png

Integrierte Erweiterungen

Automatische Übersetzung

Neu in Version 3.9.

Erweiterungs-ID:

weblate.autotranslate.autotranslate

Konfiguration:

mode

Automatischer Übersetzungsmodus

Verfügbare Auswahlmöglichkeiten:

suggest – Als Vorschlag hinzufügen

translate – Als Übersetzung hinzufügen

fuzzy – Als „Zur Bearbeitung“ hinzufügen

filter_type

Suchfilter

Bitte beachten Sie, dass bei der Übersetzung aller Zeichenketten alle vorhandenen Übersetzungen verworfen werden.

Verfügbare Auswahlmöglichkeiten:

a``all`` – Alle Zeichenketten

nottranslated – Nicht übersetzte Zeichenketten

todo – Unfertige Zeichenketten

fuzzy – Zur Bearbeitung markierte Zeichenketten

check:inconsistent – Prüfung fehlgeschlagen: Inkonsistent

auto_source

Quelle der automatisierten Übersetzungen

Verfügbare Auswahlmöglichkeiten:

others – Andere Übersetzungskomponenten

mt – Maschinelle Übersetzung

component

Komponenten

Geben Sie den Slug einer Komponente ein, die als Ausgangszeichenkette verwendet werden soll. Lassen Sie das Feld leer, um alle Komponenten im aktuellen Projekt zu verwenden.

engines

Vorschläge aus automatischer Übersetzung

threshold

Scoreschwellwert

Trigger:

Komponenten-Update, täglich

Übersetzt automatisch Zeichenketten mithilfe maschineller Übersetzung oder Übersetzungen aus anderen Komponenten.

Es wird ausgelöst:

  • Wenn neue Zeichenketten in einer Komponente erscheinen.

  • Einmal monatlich für jede Komponente, dies kann mit BACKGROUND_TASKS konfiguriert werden.

JavaScript-Lokalisierung CDN

Neu in Version 4.2.

Erweiterungs-ID:

weblate.cdn.cdnjs

Konfiguration:

threshold

Übersetzungsgrenzwert

Schwellenwert für die Einbindung von Übersetzungen.

css_selector

CSS-Selektor

CSS-Selektor zur Erkennung lokalisierbarer Elemente.

cookie_name

Name des Sprachcookies

Name des Cookies, der die Sprachpräferenz speichert.

files

Zeichenketten aus HTML-Dateien extrahieren

Liste der Dateinamen im aktuellen Repository oder Remote-URLs, die nach übersetzbaren Zeichenketten analysiert werden sollen.

Trigger:

daily, repository post-commit, repository post-update

Veröffentlicht Übersetzungen in einem Content Delivery-Netzwerk zur Verwendung in der JavaScript- oder HTML-Lokalisierung.

Kann verwendet werden, um statische HTML-Seiten zu übersetzen oder um die Übersetzung in den JavaScript-Code zu laden.

Erzeugt eine eindeutige URL für Ihre Komponente, die Sie in HTML-Seiten einfügen können, um diese zu lokalisieren. Siehe HTML und JavaScript mit Weblate CDN übersetzen für weitere Details.

Leere Zeichenketten entfernen

Neu in Version 4.4.

Erweiterungs-ID:

weblate.cleanup.blank

Konfiguration:

Diese Erweiterung hat keine Konfiguration.

Trigger:

repository post-commit, repository post-update

Entfernt Zeichenketten ohne Übersetzung aus den Übersetzungsdateien.

Verwenden Sie dies, um leere Zeichenketten in Übersetzungsdateien zu vermeiden (z. B. wenn Ihre Lokalisierungsbibliothek sie als fehlend anzeigt, anstatt auf die Ausgangszeichenkette zurückzugreifen).

Übersetzungsdateien bereinigen

Erweiterungs-ID:

weblate.cleanup.generic

Konfiguration:

Diese Erweiterung hat keine Konfiguration.

Trigger:

repository pre-commit, repository post-update

Aktualisieren Sie alle Übersetzungsdateien so, dass sie mit der einsprachigen Basisdatei übereinstimmen. Für die meisten Dateiformate bedeutet dies, veraltete Übersetzungsschlüssel, die in der Basisdatei nicht mehr vorhanden sind, zu entfernen.

Fehlende Sprachen hinzufügen

Erweiterungs-ID:

weblate.consistency.languages

Konfiguration:

Diese Erweiterung hat keine Konfiguration.

Trigger:

daily, repository post-add

Stellt sicher, dass ein konsistenter Satz von Sprachen für alle Komponenten innerhalb eines Projekts verwendet wird.

Fehlende Sprachen werden alle 24 Stunden überprüft, und wenn neue Sprachen in Weblate hinzugefügt werden.

Im Gegensatz zu den meisten anderen wirkt sich diese Erweiterung auf das gesamte Projekt aus.

Hinweis

Übersetzen Sie automatisch die neu hinzugefügten Zeichenketten mit Automatische Übersetzung.

Komponentenerkennung

Erweiterungs-ID:

weblate.discovery.discovery

Konfiguration:

match

Regulärer Ausdruck zum Abgleich von Übersetzungsdateien

file_format

Dateiformat

name_template

Anpassen des Komponentennamens

base_file_template

Definition des einsprachigen Basisdateinamens

Für zweisprachige Übersetzungsdateien leer lassen.

new_base_template

Definition der Basisdatei für neue Übersetzungen

Dateiname, der zum Anlegen neuer Übersetzungen verwendet wird. Für gettext .pot-Datei wählen.

intermediate_template

Zwischensprachedatei

Dateiname der Zwischenübersetzungsdatei. In den meisten Fällen handelt es sich um eine von Entwicklern bereitgestellte Übersetzungsdatei, die beim Erstellen der eigentlichen Ausgangszeichenketten verwendet wird.

language_regex

Sprachen-Filter

Regulärer Ausdruck, gegen den die Übersetzungsdateien beim Scannen nach Dateimaske gefiltert wird.

copy_addons

Erweiterungen der Hauptkomponente zu den neu erstellten klonen

remove

Komponenten für nicht vorhandene Dateien entfernen

confirm

Ich bestätige, dass die obigen Übereinstimmungen korrekt aussehen

Trigger:

Repository nach dem Update

Automatisches Hinzufügen oder Entfernen von Projektkomponenten basierend auf den Dateiänderungen im Versionskontrollsystem.

Wird jedes mal ausgelöst, wenn das VCS aktualisiert wird, und ähnelt ansonsten dem Verwaltungsbefehl import_project. Auf diese Weise können Sie mehrere Übersetzungskomponenten innerhalb eines VCS verfolgen.

Der Abgleich erfolgt über reguläre Ausdrücke, die eine komplexe Konfiguration ermöglichen, für die jedoch einige Kenntnisse erforderlich sind. Einige Beispiele für häufige Anwendungsfälle finden Sie im Hilfebereich der Erweiterung.

Sobald Sie auf Speichern klicken, wird eine Vorschau der passenden Komponenten angezeigt, anhand derer Sie überprüfen können, ob die Konfiguration tatsächlich Ihren Anforderungen entspricht:

../_images/addon-discovery.png

Hinweis

Die Erweiterung zur Komponentenerkennung verwendet Weblate-interne URLs. Es ist ein bequemer Weg, um das VCS-Setup zwischen mehreren Komponenten zu teilen. Verknüpfte Komponenten verwenden das lokale Repository der Hauptkomponente, das durch Eintragen von weblate://project/main-component in das Feld Quellcode-Repository (in VerwaltenEinstellungenVersionsverwaltung) der jeweiligen Komponente eingerichtet wird. Dies spart Zeit bei der Konfiguration und auch Systemressourcen.

Siehe auch

Template markup

Massenbearbeitung

Neu in Version 3.11.

Erweiterungs-ID:

weblate.flags.bulk

Konfiguration:

q

Abfrage

state

Zu setzender Status

Verfügbare Auswahlmöglichkeiten:

-1 – Nicht ändern

10 – Bearbeitung erforderlich

20 – Übersetzt

30 – Genehmigt

add_flags

Übersetzungsmarkierung zum Hinzufügen

remove_flags

Übersetzungsmarkierung zum Entfernen

add_labels

Labels zum Hinzufügen

remove_labels

Labels zum Entfernen

Trigger:

Komponentenaktualisierung

Massenbearbeitung von Markierungen, Labels oder den Zeichenkettenstatus.

Automatisieren Sie die Beschriftung, indem Sie mit der Suchanfrage NOT has:label beginnen und so lange Beschriftungen hinzufügen, bis alle Zeichenketten alle erforderlichen Beschriftungen aufweisen. Andere automatisierte Vorgänge für Weblate-Metadaten können ebenfalls durchgeführt werden.

Beispiele:

Neue Zeichenketten automatisch beschriften

Suchanfrage

NOT has:label

Labels zum Hinzufügen

recent

Markierung aller App-Store-Metadatendateien Änderungsprotokoll-Zeichenketten als schreibgeschützt

Suchanfrage

language:en AND key:changelogs/

Übersetzungsmarkierung zum Hinzufügen

read-only

Unveränderte Übersetzungen als „bearbeitungsbedürftig“ markieren

Neu in Version 3.1.

Erweiterungs-ID:

weblate.flags.same_edit

Konfiguration:

Diese Erweiterung hat keine Konfiguration.

Trigger:

unit post-create

Jedes Mal wenn eine neue übersetzbare Zeichenkette aus dem VCS importiert wird und mit der Ausgangszeichenkette übereinstimmt, wird sie in Weblate als zu bearbeiten markiert. Dies ist besonders nützlich für Dateiformate, die nicht übersetzte Ausgangszeichenketten enthalten.

Hinweis

Sie können auch die Unveränderte Übersetzung Prüfung verschärfen, indem Sie strict-same zu Übersetzungsmarkierungen hinzufügen.

Siehe auch

Übersetzungsstatus

Neue Ausgangszeichenketten als „bearbeitungsbedürftig“ markieren

Erweiterungs-ID:

weblate.flags.source_edit

Konfiguration:

Diese Erweiterung hat keine Konfiguration.

Trigger:

unit post-create

Bei jedem Import einer neuen Ausgangszeichenkette aus dem VCS wird diese in Weblate als zu bearbeiten gekennzeichnet. Auf diese Weise können Sie die von den Entwicklern geschriebenen Ausgangszeichenketten einfach filtern und bearbeiten.

Siehe auch

Übersetzungsstatus

Neue Übersetzungen als „bearbeitungsbedürftig“ markieren

Erweiterungs-ID:

weblate.flags.target_edit

Konfiguration:

Diese Erweiterung hat keine Konfiguration.

Trigger:

unit post-create

Bei jedem Import einer neuen übersetzbaren Zeichenkette aus dem VCS wird diese in Weblate als zu bearbeiten gekennzeichnet. Auf diese Weise können Sie die von den Entwicklern erstellten Übersetzungen einfach filtern und bearbeiten.

Siehe auch

Übersetzungsstatus

Statistikgenerator

Erweiterungs-ID:

weblate.generate.generate

Konfiguration:

filename

Name der erzeugten Datei

template

Inhalt der erzeugten Datei

Trigger:

Repository Pre-Commit

Erzeugt eine Datei mit detaillierten Informationen zum Übersetzungsstatus.

Sie können eine Django-Vorlage sowohl im Dateinamen als auch im Inhalt verwenden, siehe Template markup für eine detaillierte Beschreibung des Markups.

Zum Beispiel das Erzeugen einer Zusammenfassungsdatei für jede Übersetzung:

Name der erzeugten Datei

locale/{{ language_code }}.json

Inhalt
{
   "language": "{{ language_code }}",
   "strings": "{{ stats.all }}",
   "translated": "{{ stats.translated }}",
   "last_changed": "{{ stats.last_changed }}",
   "last_author": "{{ stats.last_author }}",
}

Siehe auch

Template markup

Übersetzung mit Quelle vorbelegen

Neu in Version 4.11.

Erweiterungs-ID:

weblate.generate.prefill

Konfiguration:

Diese Erweiterung hat keine Konfiguration.

Trigger:

Komponenten-Update, täglich

Füllt Übersetzungszeichenketten mit der Ausgangszeichenkette aus.

Alle nicht übersetzten Zeichenketten in der Komponente werden mit der Ausgangszeichenkette gefüllt und als zu bearbeiten markiert. Verwenden Sie dies, wenn in den Übersetzungsdateien keine leeren Zeichenketten enthalten sein dürfen.

Erzeugung von Pseudolokalen

Neu in Version 4.5.

Erweiterungs-ID:

weblate.generate.pseudolocale

Konfiguration:

source

Ausgangszeichenketten

target

Zielübersetzung

Alle Zeichenketten in dieser Übersetzung werden überschrieben

prefix

Festes Zeichenkettenpräfix

var_prefix

Variables Zeichenkettenpräfix

suffix

Festes Zeichenkettensuffix

var_suffix

Variables Zeichenkettensuffix

var_multiplier

Variabler Teilemultiplikator

Wie oft der variable Teil wiederholt werden soll, hängt von der Länge der Ausgangszeichenkette ab.

include_readonly

Schreibgeschützte Zeichenketten einschließen

Trigger:

Komponenten-Update, täglich

Erzeugt eine Übersetzung durch automatisches Hinzufügen von Präfix und Suffix zu Ausgangszeichenketten.

Pseudolokalisierungen sind nützlich, um Zeichenketten zu finden, die nicht für die Lokalisierung vorbereitet sind. Dazu werden alle übersetzbaren Ausgangszeichenketten geändert, so dass es einfach ist, unveränderte Zeichenketten zu erkennen, wenn die Anwendung in der Pseudolokalsprache ausgeführt wird.

Es ist auch möglich, Zeichenketten zu finden, deren lokalisierte Entsprechungen nicht in das Layout passen.

Die Verwendung der variablen Teile ermöglicht es, nach Zeichenketten zu suchen, die nach der Lokalisierung möglicherweise nicht in die Benutzeroberfläche passen – sie erweitert den Text auf der Grundlage der Länge der Ausgangszeichenkette. Die variablen Teile werden um die Länge des Textes multipliziert mit dem Multiplikator wiederholt. Zum Beispiel wird Hello world mit dem variablen Suffix _ und dem variablen Multiplikator von 1 zu Hello world___________ – das Suffix wird für jedes Zeichen in der Ausgangszeichenkette einmal wiederholt.

Die Zeichenketten werden nach folgendem Muster erzeugt:

Festes Zeichenkettenpräfix Variables Zeichenkettenpräfix Ausgangszeichenkette Variables Zeichenkettensuffix Festes Zeichenkettensuffix

Hinweis

Sie können echte Sprachen zum Testen verwenden, aber in Weblate gibt es spezielle Pseudolokalisierungen – en_XA und ar_XB.

Hinweis

Sie können diese Erweiterung verwenden, um die Übersetzung in ein neues Gebietsschema einer bestehenden oder ähnlichen Sprache zu starten. Sobald Sie die Übersetzung zur Komponente hinzugefügt haben, folgen Sie der Erweiterung. Beispiel: Wenn Sie fr haben und die Übersetzung fr_CA starten wollen, setzen Sie einfach fr als Quelle, fr_CA als Ziel und lassen Sie das Präfix und Suffix leer.

Deinstallieren Sie die Erweiterung, sobald Sie die neue Übersetzung ausgefüllt haben, um zu verhindern, dass Weblate die nach dem Kopieren erstellten Übersetzungen verändert.

Mitwirkende im Kommentar

Erweiterungs-ID:

weblate.gettext.authors

Konfiguration:

Diese Erweiterung hat keine Konfiguration.

Trigger:

Repository Pre-Commit

Aktualisiert den Kommentarteil in der Kopfzeile der PO-Datei, um den Namen des Mitwirkenden und das Datum des Beitrags aufzunehmen.

Die Kopfzeile der PO-Datei wird wie folgt aussehen:

# Michal Čihař <michal@weblate.org>, 2012, 2018, 2019, 2020.
# Pavel Borecki <pavel@example.com>, 2018, 2019.
# Filip Hron <filip@example.com>, 2018, 2019.
# anonymous <noreply@weblate.org>, 2019.

Aktualisieren Sie die Variable ALL_LINGUAS in der „configure“-Datei

Erweiterungs-ID:

weblate.gettext.configure

Konfiguration:

Diese Erweiterung hat keine Konfiguration.

Trigger:

repository post-add, daily

Aktualisiert die ALL_LINGUAS-Variable in configure, configure.in oder einer configure.ac-Datei, wenn eine neue Übersetzung hinzugefügt wird.

Ausgabe von Gettext anpassen

Erweiterungs-ID:

weblate.gettext.customize

Konfiguration:

width

Umbruch langer Zeilen

Standardmäßig bricht gettext Zeilen mit 77 Zeichen und bei Zeilenvorschüben um. Mit dem Parameter –no-wrap wird der Umbruch nur bei Zeilenvorschub durchgeführt.

Verfügbare Auswahlmöglichkeiten:

77 – Zeilenumbruch nach 77 Zeichen und bei Zeilenumbrüchen (xgettext-Standard)

65535 – Zeilenumbruch nur bei Zeilenumbrüchen (wie ‚xgettext –no-wrap‘)

-1 – Kein Zeilenumbruch

Trigger:

storage post-load

Ermöglicht die Anpassung des Ausgabeverhaltens von Gettext, z. B. Zeilenumbrüche.

Es bietet die folgenden Optionen:

  • Zeilenumbruch nach 77 Zeichen und bei Zeilenumbrüchen

  • Zeilenumbruch nur nach Zeilenvorschüben

  • Kein Umbruch langer Zeilen

Bemerkung

Standardmäßig bricht gettext Zeilen bei 77 Zeichen und bei Zeilenvorschüben um. Mit dem Parameter --no-wrap wird der Umbruch nur bei Zeilenvorschüben durchgeführt.

LINGUAS-Datei aktualisieren

Erweiterungs-ID:

weblate.gettext.linguas

Konfiguration:

Diese Erweiterung hat keine Konfiguration.

Trigger:

repository post-add, daily

Aktualisiert die LINGUAS-Datei, wenn eine neue Übersetzung hinzugefügt wird.

MO-Dateien erzeugen

Erweiterungs-ID:

weblate.gettext.mo

Konfiguration:

path

Pfad der erzeugten MO-Datei

Wenn nicht angegeben, wird der Ort der PO-Datei verwendet.

Trigger:

Repository Pre-Commit

Erzeugt automatisch eine MO-Datei für jede geänderte PO-Datei.

Der Speicherort der erzeugten MO-Datei kann angepasst werden, und das Feld dafür verwendet Template markup.

PO-Dateien auf POT aktualisieren (msgmerge)

Erweiterungs-ID:

weblate.gettext.msgmerge

Konfiguration:

previous

Frühere msgids der übersetzten Zeichenketten beibehalten

no_location

Speicherorte der übersetzten Zeichenketten entfernen

fuzzy

Fuzzy-Matching verwenden

Trigger:

Repository nach dem Update

Aktualisiert alle PO-Dateien (wie durch Dateimaske konfiguriert), damit sie mit der POT-Datei (wie durch Vorlage für neue Übersetzungen konfiguriert) übereinstimmen, unter Verwendung von msgmerge.

Wird immer dann ausgelöst, wenn neue Änderungen aus dem Upstream-Repository übernommen werden. Die meisten msgmerge-Befehlszeilenoptionen können über die Konfiguration der Erweiterung eingerichtet werden.

Git-Commits zusammenfassen

Erweiterungs-ID:

weblate.git.squash

Konfiguration:

squash

Commits zusammenfassen

Verfügbare Auswahlmöglichkeiten:

all – Alle Commits in einem

language – Pro Sprache

file – Pro Datei

author – Pro Autor

append_trailers

Endzeilen der zusammengefassten Commit-Nachricht hinzufügen

Die Endzeilen ähneln RFC-822-E-Mail-Headern, am Ende eines ansonsten freien Teils der Commit-Nachricht, z. B. „Mitverfasst von: …“.

commit_message

Commit-Nachricht

Diese Commit-Nachricht wird anstelle der zusammengefassten Commit-Nachrichten verwendet.

Trigger:

repository post-commit

Git-Commits vor dem Pushen der Änderungen zusammenfassen.

Git-Commits können vor dem Pushen von Änderungen in einem der folgenden Modi zusammengefasst werden:

  • Alle Commits in einen

  • Pro Sprache

  • Pro Datei

  • Pro Übersetzer

Ursprüngliche Commit-Nachrichten werden erhalten, verlieren aber die Urheberschaft, es sei denn Pro Autor wird ausgewählt oder die Commit-Nachricht wird angepasst, um sie einzubeziehen.

Die ursprünglichen Commit-Nachrichten können optional mit einer eigenen Commit-Nachricht überschrieben werden.

Endzeilen (Commit-Zeilen wie Co-authored-by: ) können optional aus den ursprünglichen Commit-Nachrichten entfernt und an das Ende der zusammengefassten Commit-Nachricht angehängt werden. Dies erzeugt auch eine angemessene Co-authored-by:-Anerkennung für jeden Übersetzer.

Ausgabe von JSON anpassen

Erweiterungs-ID:

weblate.json.customize

Konfiguration:

sort_keys

Nach JSON-Schlüssel sortieren

indent

JSON-Einrückung

style

JSON-Einrückungsstil

Verfügbare Auswahlmöglichkeiten:

spaces – Leerzeichen

tabs – Tabulatoren

Trigger:

storage post-load

Ermöglicht die Anpassung des JSON-Ausgabeverhaltens, z. B. Einrückung und Sortierung.

Die Übersetzung der Java-Eigenschaften-Datei formatieren

Erweiterungs-ID:

weblate.properties.sort

Konfiguration:

Diese Erweiterung hat keine Konfiguration.

Trigger:

Repository Pre-Commit

Formatiert und sortiert die Java-Eigenschaftendatei.

  • Konsolidiert Zeilenumbrüche zu Unix-Zeilenumbrüchen.

  • Großbuchstabenformatierung von Unicode-Escape-Sequenzen (falls vorhanden).

  • Entfernt leere Zeilen und Kommentare.

  • Sortiert die Zeichenketten nach Schlüsselworten.

  • Bereinigt doppelte Zeichenketten.

Veralteten Kommentar entfernen

Neu in Version 3.7.

Erweiterungs-ID:

weblate.removal.comments

Konfiguration:

age

Tage aufzubewahren

Trigger:

täglich

Legen Sie einen Zeitrahmen für die Entfernung von Kommentaren fest.

Dies kann nützlich sein, um alte Kommentare zu entfernen, die möglicherweise nicht mehr aktuell sind. Seien Sie vorsichtig, denn wenn Kommentare alt werden, bedeutet das nicht, dass sie ihre Bedeutung verloren haben.

Entfernen von veraltetem Vorschlag

Neu in Version 3.7.

Erweiterungs-ID:

weblate.removal.suggestions

Konfiguration:

age

Tage aufzubewahren

votes

Abstimmungsschwelle

Schwellwert für die Entfernung. Dieses Feld hat keine Auswirkung, wenn die Abstimmung deaktiviert ist.

Trigger:

täglich

Legen Sie einen Zeitrahmen für die Entfernung von Vorschlägen fest.

Kann im Zusammenhang mit Übersetzungsvorschlägen (siehe Peer-Review) sehr nützlich sein, um Vorschläge zu entfernen, die innerhalb eines bestimmten Zeitraums nicht genügend positive Stimmen erhalten haben.

RESX-Dateien aktualisieren

Neu in Version 3.9.

Erweiterungs-ID:

weblate.resx.update

Konfiguration:

Diese Erweiterung hat keine Konfiguration.

Trigger:

Repository nach dem Update

Aktualisieren Sie alle Übersetzungsdateien entsprechend der einsprachigen Upstream-Basisdatei. Nicht verwendete Zeichenketten werden entfernt und neue Zeichenketten werden als Kopien der Ausgangszeichenkette hinzugefügt.

Hinweis

Verwenden Sie Übersetzungsdateien bereinigen, wenn Sie nur veraltete Übersetzungsschlüssel entfernen wollen.

XML-Ausgabe anpassen

Neu in Version 4.15.

Erweiterungs-ID:

weblate.xml.customize

Konfiguration:

closing_tags

Schließendes Tag für leere XML-Tags einschließen

Trigger:

storage post-load

Ermöglicht die Anpassung des XML-Ausgabeverhaltens, z. B. das Schließen von Tags anstelle von selbstschließenden Tags für leere Tags.

YAML-Ausgabe anpassen

Neu in Version 3.10.2.

Erweiterungs-ID:

weblate.yaml.customize

Konfiguration:

indent

YAML Einrückung

width

Umbruch langer Zeilen

Verfügbare Auswahlmöglichkeiten:

80 – Zeilenumbruch bei 80 Zeichen

100 – Zeilenumbruch bei 100 Zeichen

120 – Zeilenumbruch bei 120 Zeichen

180 – Zeilenumbruch bei 180 Zeichen

65535 – Kein Zeilenumbruch

line_break

Zeilenumbrüche

Verfügbare Auswahlmöglichkeiten:

dos – DOS (\r\n)

unix – UNIX (\n)

mac – MAC (\r)

Trigger:

storage post-load

Ermöglicht die Anpassung des YAML-Ausgabeverhaltens, z. B. Zeilenlänge oder Zeilenvorschübe.

Liste der Erweiterungen anpassen

Die Liste der Erweiterungen wird durch WEBLATE_ADDONS konfiguriert. Um ein weitere Erweiterung hinzuzufügen, geben Sie einfach den absoluten Klassennamen in dieser Einstellung an.

Schreiben einer Erweiterung

Sie können auch Ihre eigenen Erweiterungen schreiben, eine Unterklasse von weblate.addons.base.BaseAddon erstellen, um die Metadaten der Erweiterung zu definieren, und dann einen Callback implementieren, um die Verarbeitung durchzuführen.

Ausführen von Skripten der Erweiterung

Erweiterungen können auch verwendet werden, um externe Skripte auszuführen. Früher war dies in Weblate integriert, aber jetzt müssen Sie etwas Code schreiben, um Ihr Skript mit einer Erweiterung zu umschließen.

# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later

"""Example pre commit script."""


from django.utils.translation import gettext_lazy as _

from weblate.addons.events import EVENT_PRE_COMMIT
from weblate.addons.scripts import BaseScriptAddon


class ExamplePreAddon(BaseScriptAddon):
    # Event used to trigger the script
    events = (EVENT_PRE_COMMIT,)
    # Name of the addon, has to be unique
    name = "weblate.example.pre"
    # Verbose name and long description
    verbose = _("Execute script before commit")
    description = _("This add-on executes a script.")

    # Script to execute
    script = "/bin/true"
    # File to add in commit (for pre commit event)
    # does not have to be set
    add_file = "po/{{ language_code }}.po"

Für Installationsanweisungen siehe Benutzerdefinierte Qualitätsprüfungen, Erweiterungen und automatische Korrekturen.

Das Skript wird ausgeführt, wobei das aktuelle Verzeichnis auf das Stammverzeichnis des VCS-Repositorys für eine beliebige Komponente gesetzt wird.

Zusätzlich sind die folgenden Umgebungsvariablen verfügbar:

WL_VCS

Versionsverwaltung verwendet.

WL_REPO

URL des Upstream-Repositorys.

WL_PATH

Absoluter Pfad zum VCS-Repository.

WL_BRANCH

Neu in Version 2.11.

In der aktuellen Komponente konfigurierter Repository-Branch.

WL_FILEMASK

Dateimaske für die aktuelle Komponente.

WL_TEMPLATE

Dateiname der Vorlage für einsprachige Übersetzungen (kann leer sein).

WL_NEW_BASE

Neu in Version 2.14.

Dateiname der Datei, die für die Erstellung neuer Übersetzungen verwendet wird (kann leer sein).

WL_FILE_FORMAT

In der aktuellen Komponente verwendetes Dateiformat.

WL_LANGUAGE

Sprache der aktuell bearbeiteten Übersetzung (nicht verfügbar für Hooks auf Komponentenebene).

WL_PREVIOUS_HEAD

Vorheriger HEAD nach der Aktualisierung (nur verfügbar nach Ausführung des Post-Update-Hooks).

WL_COMPONENT_SLUG

Neu in Version 3.9.

Komponenten-Slug, der zum Aufbau der URL verwendet wird.

WL_PROJECT_SLUG

Neu in Version 3.9.

Projekt-Slug, der zum Aufbau der URL verwendet wird.

WL_COMPONENT_NAME

Neu in Version 3.9.

Name der Komponente.

WL_PROJECT_NAME

Neu in Version 3.9.

Projektname.

WL_COMPONENT_URL

Neu in Version 3.9.

URL der Komponente.

WL_ENGAGE_URL

Neu in Version 3.9.

URL des beteiligten Projekts.

Repository-Verarbeitung nach Aktualisierung

Kann verwendet werden, um Übersetzungsdateien zu aktualisieren, wenn sich der Upstream-Quellcode des VCS ändert. Um dies zu erreichen, denken Sie bitte daran, dass Weblate nur Dateien sieht, die an das VCS übertragen wurden, sodass Sie die Änderungen als Teil des Skripts committen müssen.

Zum Beispiel mit Gulp können Sie es mit folgendem Code machen:

#! /bin/sh
gulp --gulpfile gulp-i18n-extract.js
git commit -m 'Update source strings' src/languages/en.lang.json

Verarbeitung von Übersetzungen vor dem Commit

Verwenden Sie das Commit-Skript, um eine Übersetzung automatisch zu ändern, bevor sie in das Repository übertragen wird.

Sie wird als einzelner Parameter übergeben, der aus dem Dateinamen der aktuellen Übersetzung besteht.