Weblate-Client#

Installation#

Der Weblate-Client wird separat ausgeliefert und enthält das Python-Modul. Um die folgenden Befehle zu verwenden, müssen Sie wlc installieren:

pip install wlc

Verwendung von Docker#

Der Weblate-Client ist auch als Docker-Image verfügbar.

Das Image ist auf Docker Hub veröffentlicht: https://hub.docker.com/r/weblate/wlc

Installieren:

docker pull weblate/wlc

Der Docker-Container verwendet die Standardeinstellungen von Weblate und verbindet sich mit der auf localhost bereitgestellten API. Die API-URL und der API_KEY können über die von Weblate akzeptierten Argumente konfiguriert werden.

Der Befehl zum Starten des Containers hat die folgende Syntax:

docker run --rm weblate/wlc [WLC_ARGS]

Beispiel:

docker run --rm weblate/wlc --url https://hosted.weblate.org/api/ list-projects

Vielleicht möchten Sie Ihre Konfigurationsdateien an den Docker-Container übergeben, am einfachsten ist es, wenn Sie Ihr aktuelles Verzeichnis als /home/weblate-Volume hinzufügen:

docker run --volume $PWD:/home/weblate --rm weblate/wlc show

Erste Schritte#

Die wlc-Konfiguration wird in ~/.config/weblate gespeichert (siehe Konfigurationsdateien für andere Speicherorte), bitte erstellen Sie sie passend zu Ihrer Einsatzumgebung:

[weblate]
url = https://hosted.weblate.org/api/

[keys]
https://hosted.weblate.org/api/ = APIKEY

Sie können dann Befehle auf dem Standardserver aufrufen:

wlc ls
wlc commit sandbox/hello-world

Kurzfassung#

wlc [arguments] <command> [options]

Die Befehle geben an, welcher Vorgang ausgeführt werden soll.

Beschreibung#

Weblate Client ist eine Python-Bibliothek und ein Befehlszeilenprogramm zur Fernverwaltung von Weblate über Weblates REST-API. Das Befehlszeilenprogramm kann als wlc aufgerufen werden und ist in wlc integriert.

Argumente#

Das Programm akzeptiert die folgenden Argumente, die das Ausgabeformat oder die zu verwendende Weblate-Instanz definieren. Diese müssen vor jedem Befehl eingegeben werden.

--format {csv,json,text,html}#

Gibt das Ausgabeformat an.

--url URL#

Gibt die API-URL an. Überschreibt jeden Wert, der in der Konfigurationsdatei gefunden wird, siehe Konfigurationsdateien. Die URL sollte mit /api/ enden, zum Beispiel https://hosted.weblate.org/api/.

--key KEY#

Gibt den zu verwendenden API-Benutzerschlüssel an. Überschreibt jeden in der Konfigurationsdatei gefundenen Wert, siehe Konfigurationsdateien. Sie können Ihren Schlüssel in Ihrem Profil auf Weblate finden.

--config PATH#

Überschreibt den Pfad der Konfigurationsdatei, siehe Konfigurationsdateien.

--config-section SECTION#

Überschreibt den Abschnitt der verwendeten Konfigurationsdatei, siehe Konfigurationsdateien.

Befehle#

Die folgenden Befehle sind verfügbar:

version#

Gibt die aktuelle Version aus.

list-languages#

Listet die in Weblate verwendeten Sprachen auf.

list-projects#

Listet die Projekte in Weblate auf.

list-components#

Listet die Komponenten in Weblate auf.

list-translations#

Listet die Übersetzungen in Weblate auf.

show#

Zeigt das Weblate-Objekt an (Übersetzung, Komponente oder Projekt).

ls#

Listet das Weblate-Objekt auf (Übersetzung, Komponente oder Projekt).

commit#

Committet Änderungen am Weblate-Objekt (Übersetzung, Komponente oder Projekt).

pull#

Zieht Änderungen aus einem Remote-Repository in ein Weblate-Objekt (Übersetzung, Komponente oder Projekt).

push#

Pusht Änderungen an Weblate-Objekten in ein Remote-Repository (Übersetzung, Komponente oder Projekt).

reset#

Neu in Version 0.7: Unterstützt seit wlc 0.7.

Setzt Änderungen im Weblate-Objekt zurück, damit es mit dem Remote-Repository übereinstimmt (Übersetzung, Komponente oder Projekt).

cleanup#

Neu in Version 0.9: Unterstützt seit wlc 0.9.

Entfernt alle nicht nachverfolgten Änderungen im Weblate-Objekt, um es an das Remote-Repository anzupassen (Übersetzung, Komponente oder Projekt).

repo#

Zeigt den Repository-Status für ein bestimmtes Weblate-Objekt an (Übersetzung, Komponente oder Projekt).

stats#

Zeigt detaillierte Statistiken für ein bestimmtes Weblate-Objekt an (Übersetzung, Komponente oder Projekt).

lock-status#

Neu in Version 0.5: Unterstützt seit wlc 0.5.

Zeigt den Sperrstatus an.

lock#

Neu in Version 0.5: Unterstützt seit wlc 0.5.

Sperrt die Komponente vor weiterer Übersetzung in Weblate.

unlock#

Neu in Version 0.5: Unterstützt seit wlc 0.5.

Entsperrt die Übersetzung der Weblate-Komponente.

changes#

Neu in Version 0.7: Unterstützt seit wlc 0.7 und Weblate 2.10.

Zeigt Änderungen für ein bestimmtes Objekt an.

download#

Neu in Version 0.7: Unterstützt seit wlc 0.7.

Lädt eine Übersetzungsdatei herunter.

--convert#

Wandelt das Dateiformat um, wenn nicht angegeben, erfolgt keine Umwandlung auf dem Server und die Datei wird unverändert in das Repository heruntergeladen.

--output#

Gibt die Datei an, in der die Ausgabe gespeichert werden soll; wenn sie nicht angegeben wird, wird sie auf stdout ausgegeben.

upload#

Neu in Version 0.9: Unterstützt seit wlc 0.9.

Lädt eine Übersetzungsdatei hoch.

--overwrite#

Überschreibt vorhandene Übersetzungen beim Hochladen.

--input#

Datei, aus welcher der Inhalt gelesen wird; wenn nicht angegeben, wird er von stdin gelesen.

--method#

Zu verwendende Upload-Methode, siehe Importmethoden.

--fuzzy#

Verarbeitung von ungenauen (zur Bearbeitung markierte) Zeichenketten (leer, process, approve)

--author-name#

Autor-Name, um den aktuell authentifizierten Benutzer zu überschreiben

--author-email#

Autor-E-Mail, um den aktuell authentifizierten Benutzer zu überschreiben

Hinweis

Genauere Informationen zum Aufruf einzelner Befehle erhalten Sie, wenn Sie --help übergeben, zum Beispiel: wlc ls --help.

Konfigurationsdateien#

.weblate, .weblate.ini, weblate.ini

Pro Projekt-Konfigurationsdatei

C:\Users\NAME\AppData\weblate.ini

Benutzer-Konfigurationsdatei unter Windows.

~/.config/weblate

Benutzer-Konfigurationsdatei

/etc/xdg/weblate

Systemweite Konfigurationsdatei

Das Programm folgt der XDG-Spezifikation, so dass Sie die Platzierung der Konfigurationsdateien durch die Umgebungsvariablen XDG_CONFIG_HOME oder XDG_CONFIG_DIRS anpassen können. Unter Windows ist das Verzeichnis APPDATA der bevorzugte Ort für die Konfigurationsdatei.

Die folgenden Einstellungen können im Abschnitt [weblate] konfiguriert werden (Sie können dies mit --config-section anpassen):

key

API-Schlüssel für den Zugang zu Weblate.

url

API-Server-URL, standardmäßig http://127.0.0.1:8000/api/.

translation

Pfad zur Standardübersetzung – Komponente oder Projekt.

Die Konfigurationsdatei ist eine INI-Datei, zum Beispiel:

[weblate]
url = https://hosted.weblate.org/api/
key = APIKEY
translation = weblate/application

Zusätzlich können API-Schlüssel im Abschnitt [keys] gespeichert werden:

[keys]
https://hosted.weblate.org/api/ = APIKEY

Dies erlaubt Ihnen, Schlüssel in Ihren persönlichen Einstellungen zu speichern, während Sie die .weblate-Konfiguration im VCS-Repository verwenden, damit wlc weiß, mit welchem Server es sprechen soll.

Beispiele#

Aktuelle Programmversion ausgeben:

$ wlc version
version: 0.1

Alle Projekte auflisten:

$ wlc list-projects
name: Hello
slug: hello
url: http://example.com/api/projects/hello/
web: https://weblate.org/
web_url: http://example.com/projects/hello/

Übersetzungsdatei hochladen:

$ wlc upload project/component/language --input /tmp/hello.po

Sie können auch angeben, an welchem Projekt wlc arbeiten soll:

$ cat .weblate
[weblate]
url = https://hosted.weblate.org/api/
translation = weblate/application

$ wlc show
branch: main
file_format: po
source_language: en
filemask: weblate/locale/*/LC_MESSAGES/django.po
git_export: https://hosted.weblate.org/git/weblate/application/
license: GPL-3.0+
license_url: https://spdx.org/licenses/GPL-3.0+
name: Application
new_base: weblate/locale/django.pot
project: weblate
repo: git://github.com/WeblateOrg/weblate.git
slug: application
template:
url: https://hosted.weblate.org/api/components/weblate/application/
vcs: git
web_url: https://hosted.weblate.org/projects/weblate/application/

Mit dieser Einrichtung können ausstehende Änderungen im aktuellen Projekt einfach committet werden:

$ wlc commit