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ü Verwaltung ↓ Erweiterungen der jeweiligen Übersetzungskomponente hinzufügen und verwalten.
Hinweis
Sie können Erweiterungen auch mit API, DEFAULT_ADDONS
, oder install_addon
konfigurieren.

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ügentranslate
– Als Übersetzung hinzufügenfuzzy
– Als „Zur Bearbeitung“ hinzufügenfilter_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 Zeichenkettentodo
– Unfertige Zeichenkettenfuzzy
– Zur Bearbeitung markierte Zeichenkettencheck:inconsistent
– Prüfung fehlgeschlagen: Inkonsistentauto_source
Quelle der automatisierten Übersetzungen
Verfügbare Auswahlmöglichkeiten:
others
– Andere Übersetzungskomponentenmt
– Maschinelle Übersetzungcomponent
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:

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 Verwalten ↓ Einstellungen ↓ Versionsverwaltung) der jeweiligen Komponente eingerichtet wird. Dies spart Zeit bei der Konfiguration und auch Systemressourcen.
Siehe auch
Massenbearbeitung
Neu in Version 3.11.
- Erweiterungs-ID:
weblate.flags.bulk
- Konfiguration:
q
Abfrage
state
Zu setzender Status
Verfügbare Auswahlmöglichkeiten:
-1
– Nicht ändern10
– Bearbeitung erforderlich20
– Übersetzt30
– Genehmigtadd_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:
Suchanfrage |
|
---|---|
Labels zum Hinzufügen |
recent |
Suchanfrage |
|
---|---|
Übersetzungsmarkierung zum Hinzufügen |
|
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
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
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
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
Ü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 einemlanguage
– Pro Sprachefile
– Pro Dateiauthor
– Pro Autorappend_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
– Leerzeichentabs
– 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 Zeichen100
– Zeilenumbruch bei 100 Zeichen120
– Zeilenumbruch bei 120 Zeichen180
– Zeilenumbruch bei 180 Zeichen65535
– Kein Zeilenumbruchline_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.
Siehe auch
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.
Siehe auch
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.