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 Add-ons 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
– Automatische Ü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 Zeichenkette 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 Translating HTML and JavaScript using Weblate CDN für weitere Details.
Entferne leere Zeichenketten
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 Quellzeichenfolge 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
Auto-translate the newly added strings with Automatische Übersetzung.
Komponentenerkennung
- Erweiterungs-ID
weblate.discovery.discovery
- Konfiguration
match
Regulärer Ausdruck zum Abgleich von Übersetzungsdateien gegen
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
Addons 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 Save klicken, wird eine Vorschau der passenden Komponenten angezeigt, anhand derer Sie überprüfen können, ob die Konfiguration tatsächlich Ihren Anforderungen entspricht:

Hinweis
Component discovery add-on uses Weblate internal URLs. It’s a convenient way to share
VCS setup between multiple components. Linked components use the local repository of
the main component set up by filling weblate://project/main-component
into the Quellcode-Repository field (in Manage ↓ Settings ↓
Version control system) of each respective component.
This saves time with configuration and system resources too.
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.
Automate labeling by starting out with the search query NOT has:label
and add labels till all strings have all required labels.
Other automated operations for Weblate metadata can also be done.
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
You might also want to tighthen the Unveränderte Übersetzung check by adding
strict-same
flag to Übersetzungsmarkierungen.
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 bearbeitungsbedürftig gekennzeichnet. Auf diese Weise können Sie die von den Entwicklern geschriebenen Quelltexte 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 übersetzbare Zeichenkette aus dem VCS wird diese in Weblate als bearbeitungsbedürftig gekennzeichnet. Auf diese Weise können Sie die von den Entwicklern geschriebenen Quelltexte 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 Quellzeichenketten aus.
All untranslated strings in the component will be filled with the source string, and marked as needing edit. Use this when you can not have empty strings in the translation files.
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
Include read-only strings
- Trigger
Komponenten-Update, täglich
Erzeugt eine Übersetzung durch automatisches Hinzufügen von Präfix und Suffix zu Ausgangszeichenketten.
Pseudolocales are useful to find strings that are not prepared for localization. This is done by altering all translatable source strings to make it easy to spot unaltered strings when running the application in the pseudolocale language.
Finding strings whose localized counterparts might not fit the layout is also possible.
Using the variable parts makes it possible to look for strings which might not
fit into the user interface after the localization - it extends the text based
on the source string length. The variable parts are repeated by length of the
text multiplied by the multiplier. For example Hello world
with variable
suffix _
and variable multiplier of 1 becomes Hello world___________
-
the suffix is repeated once for each character in the source string.
Die Zeichenketten werden nach folgendem Muster erzeugt:
Fixed string prefix Variable string prefix Source string Variable string suffix Fixed string suffix
Hinweis
You can use real languages for testing, but there are dedicated pseudolocales available in Weblate - en_XA and 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@cihar.com>, 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
Updates the ALL_LINGUAS variable in configure
, configure.in
or any
configure.ac
files, when a new translation is added.
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
– Wrap lines at 77 characters and at newlines (xgettext default)65535
– Only wrap lines at newlines (like ‚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.
The location of the generated MO file can be customized and the field for it uses 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 konsolidieren
- 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
Fügen Sie der zusammengeführten Commit-Nachricht Endzeilen hinzu
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 zusammengeführten Commit-Nachrichten verwendet.
- Trigger
repository post-commit
Git-Commits vor dem Pushen der Änderungen konsolidieren.
Git-Commits können vor dem Pushen von Änderungen in einem der folgenden Modi unterdrückt werden:
Alle Commits in einen
Pro Sprache
Pro Datei
Pro Übersetzer
Ursprüngliche Commit-Nachrichten werden erhalten, verlieren aber die Autorenschaft, 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.
Trailers (commit lines like Co-authored-by: …
) can optionally be removed
from the original commit messages and appended to the end of the squashed
commit message. This also generates proper Co-authored-by:
credit for every
translator.
Ausgabe von JSON anpassen
- Erweiterungs-ID
weblate.json.customize
- Konfiguration
sort_keys
Nach JSON-Schlüssel sortieren
indent
JSON Einrückung (Leerzeichen)
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.
Consolidates newlines to Unix ones.
Uppercase formatting of Unicode escape sequences (in case they are present).
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.
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 über die :Einstellung:`WEBLATE_ADDONS` konfiguriert. Um eine 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 © 2012–2022 Michal Čihař <michal@cihar.com>
#
# This file is part of Weblate <https://weblate.org/>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
"""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 descrption
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 Custom quality checks, add-ons and auto-fixes.
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.
Component slug used to construct URL.
- WL_PROJECT_SLUG
Neu in Version 3.9.
Project slug used to construct URL.
- 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, so dass Sie die Änderungen als Teil des Skripts übertragen 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 der Freigabe
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.