Verwaltungsbefehle#

Bemerkung

Das Ausführen von Verwaltungsbefehlen unter einem anderen Benutzer als dem, unter dem Ihr Webserver läuft, kann dazu führen, dass Dateien falsche Berechtigungen erhalten, bitte lesen Sie Dateisystemberechtigungen für weitere Details.

Sie finden grundlegende Verwaltungsbefehle (verfügbar als ./manage.py in den Django-Quellen oder als erweiterter Satz in einem Skript namens weblate, installierbar über Weblate).

Aufrufen von Verwaltungsbefehlen#

Wie bereits erwähnt, hängt der Aufruf davon ab, wie Sie Weblate installiert haben.

Wenn Sie virtualenv für Weblate verwenden, können Sie entweder den vollständigen Pfad zu weblate angeben oder virtualenv aktivieren, bevor Sie es aufrufen:

# Direct invocation
~/weblate-env/bin/weblate

# Activating virtualenv adds it to search path
. ~/weblate-env/bin/activate
weblate

Wenn Sie den Quellcode direkt verwenden (entweder aus einem Tarball oder einem Git-Checkout), ist das Verwaltungsskript ./manage.py in den Weblate-Quellen verfügbar. Um es auszuführen:

python ./manage.py list_versions

Wenn Sie Weblate mit dem pip-Installer oder mit dem Skript ./setup.py installiert haben, wird weblate in Ihrem Pfad (oder virtualenv-Pfad) installiert, von wo aus Sie Weblate steuern können:

weblate list_versions

Für das Docker-Image wird das Skript wie oben installiert und Sie können es mit docker exec ausführen:

docker exec --user weblate <container> weblate list_versions

Für docker-compose-plugin ist der Vorgang ähnlich, Sie müssen nur docker compose exec verwenden:

docker compose exec --user weblate weblate weblate list_versions

Falls Sie eine Datei übergeben müssen, können Sie vorübergehend ein Volume hinzufügen:

docker compose exec --user weblate /tmp:/tmp weblate weblate importusers /tmp/users.json

Für docker-compose ist der Vorgang ähnlich, Sie müssen nur docker-compose exec verwenden:

docker-compose exec --user weblate weblate weblate list_versions

Falls Sie eine Datei übergeben müssen, können Sie vorübergehend ein Volume hinzufügen:

docker-compose exec --user weblate /tmp:/tmp weblate weblate importusers /tmp/users.json

add_suggestions#

weblate add_suggestions <project> <component> <language> <file>#

Importiert eine Übersetzung aus der Datei, um sie als Vorschlag für die angegebene Übersetzung zu verwenden. Doppelte Übersetzungen werden übersprungen; es werden nur unterschiedliche Übersetzungen hinzugefügt.

--author USER@EXAMPLE.COM#

E-Mail des Autors für die Vorschläge. Dieser Benutzer muss vor dem Import existieren (Sie können ihn bei Bedarf in der Adminoberfläche anlegen).

Beispiel:

weblate --author michal@cihar.com add_suggestions weblate application cs /tmp/suggestions-cs.po

auto_translate#

weblate auto_translate <project> <component> <language>#

Geändert in Version 4.6: Parameter für Übersetzungsmodus hinzugefügt.

Führt eine automatische Übersetzung auf der Grundlage von anderen Komponentenübersetzungen durch.

--source PROJECT/COMPONENT#

Gibt die Komponente an, die als Quelle für die Übersetzung verwendet werden soll. Alle Komponenten im Projekt werden verwendet, wenn nichts angegeben wird.

--user USERNAME#

Gibt den Benutzernamen an, der als Autor der Übersetzungen aufgeführt wird. „Anonymer Benutzer“ wird verwendet, wenn nichts angegeben wird.

--overwrite#

Ob vorhandene Übersetzungen überschrieben werden sollen.

--inconsistent#

Ob vorhandene, inkonsistente Übersetzungen überschrieben werden sollen (siehe Inkonsistent).

--add#

Fügt Sprache automatisch hinzu, wenn eine bestimmte Übersetzung nicht vorhanden ist.

--mt MT#

Verwendet maschinelle Übersetzung anstelle anderer Komponenten als maschinelle Übersetzungen.

--threshold THRESHOLD#

Ähnlichkeitsschwelle für maschinelle Übersetzung, standardmäßig 80.

--mode MODE#

Gibt den Übersetzungsmodus an, Standard ist translate, aber fuzzy oder suggest können verwendet werden.

Beispiel:

weblate auto_translate --user nijel --inconsistent --source weblate/application weblate website cs

celery_queues#

weblate celery_queues#

Zeigt die Länge der Celery-Aufgabenwarteschlangen an.

checkgit#

weblate checkgit <project|project/component>#

Gibt den aktuellen Status des Git-Repositorys im Backend aus.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application) oder Sie verwenden --all, um alle vorhandenen Komponenten zu aktualisieren.

commitgit#

weblate commitgit <project|project/component>#

Committet etwaige ausstehende Änderungen an das Backend-Git-Repository.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application), --all verwenden, um alle vorhandenen Komponenten zu aktualisieren oder --file-format verwenden, um anhand des Dateiformats zu filtern.

commit_pending#

weblate commit_pending <project|project/component>#

Committet ausstehende Änderungen, die älter als ein bestimmtes Alter sind.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application) oder Sie verwenden --all, um alle vorhandenen Komponenten zu aktualisieren.

--age HOURS#

Alter in Stunden für die Übergabe. Wenn nicht angegeben, wird der in der Komponentenkonfiguration konfigurierte Wert verwendet.

Bemerkung

Dies wird automatisch im Hintergrund von Weblate durchgeführt, so dass es keine wirkliche Notwendigkeit gibt, dies manuell aufzurufen, abgesehen von der Erzwingung einer früheren Übergabe als durch die Komponentenkonfiguration angegeben.

cleanuptrans#

weblate cleanuptrans#

Bereinigt verwaiste Qualitätsprüfungen und Übersetzungsvorschläge. Normalerweise ist es nicht nötig, dies manuell auszuführen, da die Bereinigungen automatisch im Hintergrund erfolgen.

cleanup_ssh_keys#

weblate cleanup_ssh_keys#

Neu in Version 4.9.1.

Führt eine Bereinigung der gespeicherten SSH-Hostschlüssel durch:

  • Entfernt veraltete RSA-Schlüssel für GitHub, die zu Problemen bei der Verbindung mit GitHub führen können.

  • Entfernt doppelte Einträge in Hostschlüsseln.

Siehe auch

SSH-Repositorys

createadmin#

weblate createadmin#

Erstellt ein admin-Benutzerkonto mit einem zufälligen Passwort, sofern es nicht angegeben ist.

--password PASSWORD#

Gibt ein Passwort auf der Befehlszeile an, um kein zufälliges zu generieren.

--no-password#

Setzt kein Passwort, dies kann bei –update nützlich sein.

--username USERNAME#

Verwendet den angegebenen Namen anstelle von admin.

--email USER@EXAMPLE.COM#

Gibt die E-Mail-Adresse des Administrators an.

--name#

Gibt den Namen des Administrators an (sichtbar).

--update#

Aktualisiert den bestehenden Benutzer (damit können auch Passwörter geändert werden).

dump_memory#

weblate dump_memory#

Exportiert eine JSON-Datei mit dem Inhalt des Weblate-Übersetzungsspeichers.

dumpuserdata#

weblate dumpuserdata <file.json>#

Schreibt die Benutzerdaten in eine Datei zur späteren Verwendung durch importuserdata.

Hinweis

Dies ist sehr nützlich, wenn Sie Weblate-Instanzen migrieren oder zusammenführen.

import_demo#

weblate import_demo#

Neu in Version 4.1.

Erstellt ein Demoprojekt mit Komponenten auf der Grundlage von <https://github.com/WeblateOrg/demo>. Vergewissern Sie sich, dass die celery-Tasks laufen, bevor Sie diesen Befehl ausführen.

Dies kann bei der Entwicklung von Weblate nützlich sein.

--delete#

Entfernt ein bestehendes Demoprojekt.

import_json#

weblate import_json <json-file>#

Batch-Import von Komponenten basierend auf JSON-Daten.

Die Struktur der importierten JSON-Datei entspricht im Wesentlichen dem Komponentenobjekt (siehe GET /api/components/(string:project)/(string:component)/). Sie müssen die Felder name und filemask einschließen.

--project PROJECT#

Gibt an, woher die Komponenten importiert werden sollen.

--main-component COMPONENT#

Verwendet das angegebene VCS-Repository aus dieser Komponente für alle anderen.

--ignore#

Überspringt (bereits) importierte Komponenten.

--update#

Aktualisiert (bereits) importierte Komponenten.

Beispiel für eine JSON-Datei:

[
  {
    "slug": "po",
    "name": "Gettext PO",
    "file_format": "po",
    "filemask": "po/*.po",
    "new_lang": "none"
  },
  {
    "name": "Android",
    "filemask": "android/values-*/strings.xml",
    "template": "android/values/strings.xml",
    "repo": "weblate://test/test",
    "file_format": "aresource"
  }
]

Siehe auch

import_memory

import_memory#

weblate import_memory <file>#

Importiert eine TMX- oder JSON-Datei in den Weblate-Übersetzungsspeicher.

--language-map LANGMAP#

Ermöglicht die Zuordnung von Sprachen im TMX zum Weblate-Übersetzungsspeicher. Die Sprachcodes werden nach der Normalisierung, die normalerweise von Weblate vorgenommen wird, zugeordnet.

--language-map en_US:en importiert beispielsweise alle en_US-Zeichenketten als en.

Dies kann nützlich sein, wenn die Gebietsschemas Ihrer TMX-Datei nicht mit denen übereinstimmen, die Sie in Weblate verwenden.

import_project#

weblate import_project <project> <gitrepo> <branch> <filemask>#

Batch-Import von Komponenten in das Projekt auf der Grundlage der Dateimaske. Basierend auf der Erweiterung Komponentenerkennung, so dass Sie stattdessen vielleicht diese verwenden sollten.

<project> benennt ein vorhandenes Projekt, in das die Komponenten importiert werden sollen.

Das <gitrepo> definiert die zu verwendende Git-Repository-URL, und <branch> steht für den Git-Branch. Um zusätzliche Übersetzungskomponenten aus einer vorhandenen Weblate-Komponente zu importieren, verwenden Sie eine weblate://<project>/<component>-URL für das <gitrepo>.

Die <Dateimaske> definiert die Dateisuche für das Repository. Sie kann entweder mit Platzhaltern vereinfacht werden oder die ganze Macht der regulären Ausdrücke nutzen.

Der einfache Abgleich verwendet ** für den Komponentennamen und * für die Sprache, zum Beispiel: **/*.po

Der reguläre Ausdruck muss Gruppen mit den Namen component und language enthalten. Zum Beispiel: (?P<language>[^/]*)/(?P<component>[^-/]*)\.po

Der Import gleicht vorhandene Komponenten auf der Grundlage von Dateien ab und fügt diejenigen hinzu, die noch nicht vorhanden sind. Bereits vorhandene Komponenten werden dabei nicht verändert.

--name-template TEMPLATE#

Passt den Namen einer Komponente mit der Syntax der Django-Vorlage an.

Zum Beispiel: Documentation: {{ component }}

--base-file-template TEMPLATE#

Passt die Basisdatei für einsprachige Übersetzungen an.

Zum Beispiel: {{ component }}/res/values/string.xml

--new-base-template TEMPLATE#

Passt die Basisdatei an, um neue Übersetzungen hinzuzufügen.

Zum Beispiel: {{ component }}/ts/en.ts

--file-format FORMAT#

Auch das zu verwendende Dateiformat kann angeben werden (siehe Unterstützte Dateiformate), die Voreinstellung ist automatische Erkennung.

--language-regex REGEX#

Mit diesem Parameter kann die Sprachfilterung (siehe Komponentenkonfiguration) angeben werden. Er muss ein gültiger regulärer Ausdruck sein.

--main-component#

Es kann festlegt werden, welche Komponente als Hauptkomponente ausgewählt werden soll – die Komponente, die das VCS-Repository enthält.

--license NAME#

Gibt die Lizenz für die Gesamt-, Projekt- oder Komponentenübersetzung an.

--license-url URL#

Gibt die URL an, unter der die Übersetzungslizenz zu finden ist.

--vcs NAME#

Falls angegeben werden muss, welche Versionsverwaltung verwendet werden soll, kann man dies hier tun. Die Standardversionsverwaltung ist Git.

Um Ihnen einige Beispiele zu geben, importieren wir zwei Projekte.

Zuerst die Übersetzungen des Debian-Handbuchs, wobei jede Sprache einen eigenen Ordner mit den Übersetzungen der einzelnen Kapitel hat:

weblate import_project \
    debian-handbook \
    git://anonscm.debian.org/debian-handbook/debian-handbook.git \
    squeeze/master \
    '*/**.po'

Dann das Tanaguru-Tool, wo das Dateiformat angegeben werden muss, zusammen mit der Basisdatei-Vorlage, und wie alle Komponenten und Übersetzungen in einem einzigen Ordner gespeichert werden:

weblate import_project \
    --file-format=properties \
    --base-file-template=web-app/tgol-web-app/src/main/resources/i18n/%s-I18N.properties \
    tanaguru \
    https://github.com/Tanaguru/Tanaguru \
    master \
    web-app/tgol-web-app/src/main/resources/i18n/**-I18N_*.properties

Ein komplexeres Beispiel für das Analysieren von Dateinamen, um die richtige Komponente und Sprache aus einem Dateinamen wie src/security/Numerous_security_holes_in_0.10.1.de.po zu erhalten:

weblate import_project \
    tails \
    git://git.tails.boum.org/tails master \
    'wiki/src/security/(?P<component>.*)\.(?P<language>[^.]*)\.po$'

Nur Übersetzungen einer bestimmten Sprache filtern:

./manage import_project \
    --language-regex '^(cs|sk)$' \
    weblate \
    https://github.com/WeblateOrg/weblate.git \
    'weblate/locale/*/LC_MESSAGES/**.po'

Importieren von Sphinx-Dokumentation, aufgeteilt auf mehrere Dateien:

$ weblate import_project --name-template 'Documentation: %s' \
    --file-format po \
    project https://github.com/project/docs.git master \
    'docs/locale/*/LC_MESSAGES/**.po'

Importieren von Sphinx-Dokumentation, aufgeteilt auf mehrere Dateien und Verzeichnisse:

$ weblate import_project --name-template 'Directory 1: %s' \
    --file-format po \
    project https://github.com/project/docs.git master \
    'docs/locale/*/LC_MESSAGES/dir1/**.po'
$ weblate import_project --name-template 'Directory 2: %s' \
    --file-format po \
    project https://github.com/project/docs.git master \
    'docs/locale/*/LC_MESSAGES/dir2/**.po'

Siehe auch

Ausführlichere Beispiele finden Sie im Kapitel Mit der Internationalisierung beginnen, alternativ können Sie auch import_json verwenden.

importuserdata#

weblate importuserdata <file.json>#

Importiert Benutzerdaten aus einer mit dumpuserdata erstellten Datei.

importusers#

weblate importusers --check <file.json>#

Importiert Benutzer aus dem JSON-Auszug der Django-auth_users-Datenbank.

--check#

Mit dieser Option wird lediglich geprüft, ob eine bestimmte Datei importiert werden kann und es werden mögliche Konflikte aufgrund von Benutzernamen oder E-Mails gemeldet.

Sie können Benutzer aus der bestehenden Django-Installation auslagern:

weblate dumpdata auth.User > users.json

install_addon#

weblate install_addon --addon ADDON <project|project/component>#

Installiert eine Erweiterung zu einem Satz von Komponenten.

--addon ADDON#

Name der zu installierenden Erweiterung. Zum Beispiel weblate.gettext.customize.

--configuration CONFIG#

JSON-kodierte Konfiguration einer Erweiterung.

--update#

Aktualisiert die vorhandene Konfiguration der Erweiterung.

Sie können entweder festlegen, in welchem Projekt oder in welcher Komponente die Erweiterung installiert werden soll (z. B. weblate/application), oder Sie verwenden --all, um alle vorhandenen Komponenten einzuschließen.

Um Ausgabe von gettext anpassen für alle Komponenten zu installieren:

weblate install_addon --addon weblate.gettext.customize --configuration '{"width": -1}' --update --all

Siehe auch

Erweiterungen

install_machinery#

Neu in Version 4.18.

weblate install_machinery --service SERVICE#

Installiert einen plattformweiten automatischen Vorschlagsdienst.

--service SERVICE#

Name des zu installierenden Dienstes. Zum Beispiel deepl.

--configuration CONFIG#

JSON-kodierte Konfiguration eines Dienstes.

--update#

Aktualisiert die vorhandene Dienstkonfiguration.

Um DeepL zu installieren:

weblate install_service --service deepl --configuration '{"key": "x", "url": "https://api.deepl.com/v2/"}' --update

list_languages#

weblate list_languages <locale>#

Listet die unterstützten Sprachen in der MediaWiki-Auszeichnung auf – Sprachcodes, englische Namen und lokalisierte Namen.

Dies wird zur Erstellung von <https://wiki.l10n.cz/Slovn%C3%ADk_s_n%C3%A1zvy_jazyk%C5%AF> verwendet.

list_translators#

weblate list_translators <project|project/component>#

Listet die Übersetzer für das angegebene Projekt nach beigetragener Sprache auf:

[French]
Jean Dupont <jean.dupont@example.com>
[English]
John Doe <jd@example.com>
--language-code#

Listet die Namen nach dem Sprachcode anstelle vom Sprachenname auf.

Sie können entweder festlegen, welches Projekt oder welche Komponente verwendet werden soll (z. B. weblate/application), oder --all verwenden, um die Übersetzer aller vorhandenen Komponenten aufzulisten.

list_versions#

weblate list_versions#

Listet alle Weblate-Abhängigkeiten und ihre Versionen auf.

loadpo#

weblate loadpo <project|project/component>#

Lädt Übersetzungen von der Festplatte nach (z. B. wenn Sie einige Aktualisierungen im VCS-Repository vorgenommen haben).

--force#

Erzwingt das Aktualisieren, auch wenn die Dateien aktuell sein sollten.

--lang LANGUAGE#

Beschränkt die Verarbeitung auf eine einzige Sprache.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application) oder Sie verwenden --all, um alle vorhandenen Komponenten zu aktualisieren.

Bemerkung

Sie müssen diese Funktion nur selten aufrufen, da Weblate geänderte Dateien bei jedem VCS-Update automatisch lädt. Dies ist erforderlich, wenn Sie ein zugrunde liegendes Weblate-VCS-Repository manuell geändert haben oder in einigen speziellen Fällen nach einem Upgrade.

lock_translation#

weblate lock_translation <project|project/component>#

Verhindert die weitere Übersetzung einer Komponente.

Hinweis

Nützlich für den Fall, dass Sie einige Wartungsarbeiten am zugrunde liegenden Repository durchführen möchten.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application) oder Sie verwenden --all, um alle vorhandenen Komponenten zu aktualisieren.

Siehe auch

unlock_translation

migrate#

weblate migrate#

Migriert die Datenbank in das aktuelle Weblate-Schema. Die Befehlszeilenoptionen sind unter Django migrate beschrieben.

Hinweis

Wenn Sie die Installation nicht interaktiv durchführen möchten, können Sie weblate migrate --noinput verwenden und dann mit dem Befehl createadmin einen Administrator-Benutzer anlegen.

move_language#

weblate move_language source target#

Ermöglicht es Ihnen, Sprachinhalte zusammenzuführen. Dies ist nützlich, wenn Sie auf eine neue Version aktualisieren, die Aliase für zuvor unbekannte Sprachen enthält, die mit dem Suffix (generated) erstellt wurden. Der gesamte Inhalt wird von der source-Sprache in target verschoben.

Beispiel:

weblate move_language cze cs

Nachdem der Inhalt verschoben wurde, sollten Sie überprüfen, ob noch etwas übrig ist (dies kann passieren, wenn jemand in der Zwischenzeit das Repository aktualisiert) und die Sprache (generated) entfernen.

pushgit#

weblate pushgit <project|project/component>#

Pusht committete Änderungen in das Upstream-VCS-Repository.

--force-commit#

Erzwingt einen Commit für alle ausstehenden Änderungen vor dem Pushen.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application) oder Sie verwenden --all, um alle vorhandenen Komponenten zu aktualisieren.

Bemerkung

Weblate pusht Änderungen automatisch, wenn Bei Commit gleichzeitig Pushen in der Komponentenkonfiguration eingeschaltet ist, dies ist der Standard.

unlock_translation#

weblate unlock_translation <project|project/component>#

Entsperrt eine bestimmte Komponente und macht sie für die Übersetzung verfügbar.

Hinweis

Nützlich für den Fall, dass Sie einige Wartungsarbeiten am zugrunde liegenden Repository durchführen möchten.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application) oder Sie verwenden --all, um alle vorhandenen Komponenten zu aktualisieren.

Siehe auch

lock_translation

setupgroups#

weblate setupgroups#

Konfiguriert Standardgruppen und weist optional alle Benutzer dieser Standardgruppe zu.

--no-privs-update#

Schaltet die automatische Aktualisierung bestehender Gruppen aus (fügt nur neue Gruppen hinzu).

--no-projects-update#

Verhindert die automatische Aktualisierung von Gruppen für bestehende Projekte. Dies ermöglicht das Hinzufügen neu hinzugefügter Gruppen zu bestehenden Projekten, siehe Projekt-Zugriffssteuerung.

setuplang#

weblate setuplang#

Aktualisiert die Liste der Sprachdefinitionen in Weblate.

--no-update#

Schaltet die automatische Aktualisierung bestehender Sprachen aus (fügt nur neue hinzu).

updatechecks#

weblate updatechecks <project|project/component>#

Aktualisiert alle Qualitätsprüfungen für alle Zeichenketten.

Hinweis

Nützlich für Upgrades, die größere Änderungen an Qualitätsprüfungen vornehmen.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application) oder Sie verwenden --all, um alle vorhandenen Komponenten zu aktualisieren.

Bemerkung

Die Qualitätsprüfungen werden von Weblate regelmäßig im Hintergrund neu berechnet, die Häufigkeit kann über BACKGROUND_TASKS konfiguriert werden.

updategit#

weblate updategit <project|project/component>#

Ruft Remote-VCS-Repositorys ab und aktualisiert den internen Cache.

Sie können entweder festlegen, welches Projekt oder welche Komponente aktualisiert werden soll (z. B. weblate/application) oder Sie verwenden --all, um alle vorhandenen Komponenten zu aktualisieren.

Bemerkung

Normalerweise ist es besser, Hooks im Repository so zu konfigurieren, dass sie Benachrichtigungs-Hooks auslösen, anstatt die Aktualisierungen regelmäßig mit updategit auszulösen.