Weblate Client

Installatie

De Weblate Client wordt afzonderlijk geleverd en bevat de module voor Python. U moet met pip wlc installeren om de opdrachten hieronder te kunnen gebruiken:

pip install wlc

U kunt het ook direct uitvoeren met uvx:

uvx wlc --help

Hint

U kunt ook dit wlc als een module voor Python gebruiken, bekijk wlc.

Docker gebruiken

De Weblate Client is ook beschikbaar als een Docker image.

De image wordt gepubliceerd op Docker Hub: https://hub.docker.com/r/weblate/wlc

Installeren:

docker pull weblate/wlc

De Docker-container gebruikt de standaarden van Weblate Client en verbindt met de API die is uitgerold op localhost. Configureer de API-URL en API-sleutel met de normale argumenten voor wlc of omgevingsvariabelen, bijvoorbeeld --url, --key, WLC_URL, en WLC_KEY. API-sleutels worden standaard afgewezen over niet-lokale http:// URL’s; gebruik HTTPS, loopback HTTP voor lokale ontwikkeling of expliciet opt in voor onveilige HTTP.

De opdracht om de container te starten gebruikt de volgende syntaxis:

docker run --rm weblate/wlc [WLC_ARGS]

Voorbeeld:

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

U wilt misschien uw Configuratiebestanden doorgeven aan de Docker container. Wanneer uw opslagruimte een projectconfiguratie bevat zoals .weblate, de gemakkelijkste benadering is om uw huidige map toe te voegen als het volume /home/weblate:

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

Wanneer de gemounte opslagruimte de API-URL verschaft in projectconfiguratie en u geeft een API-sleutel zonder bereik door aan de container, pin dan de URL ook expliciet: WLC_KEY vereist WLC_URL, en --key vereist --url.

Als de geconfigureerde API-URL niet-lokale http:// gebruikt en een API-sleutel wordt opgegeven, weigert de container de sleutel te verzenden, tenzij onveilige HTTP expliciet is ingeschakeld. Voorkeur voor HTTPS; voor verouderde uitrol, geef op --allow-insecure-http of stel WLC_ALLOW_INSECURE_HTTP in.

Beginnen

De gemakkelijkste manier om te beginnen is om een persoonlijke configuratie van wlc te maken in ~/.config/weblate (bekijk Configuratiebestanden voor de volledige regels voor het ontdekken en andere locaties):

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

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

U kunt dan opdrachten aanroepen op de standaard server:

wlc ls
wlc commit sandbox/hello-world

Verouderde configuratie

Veranderd in versie 1.17: De verouderde configuratie die key zonder bereik gebruikte, wordt niet langer ondersteund.

Verouderde configuratie migreren:

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

Naar een configuratie met sleutel die een API URL als bereik heeft:

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

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

Synopsis

wlc [arguments] <command> [options]

Opdrachten geven feitelijk aan welke bewerking zou moeten worden uitgevoerd.

Omschrijving

Weblate Client is een bibliotheek van Python en een hulpprogramma om Weblate op afstand te beheren met de Weblate REST API. Het hulpprogramma voor de opdrachtregel kan worden aangeroepen als wlc en is ingebouwd in wlc.

Argumenten

Het programma accepteert de volgende argumenten die de indeling voor de uitvoer definiëren of welke instantie van Weblate te gebruiken. Deze moeten worden ingevoerd voor een opdracht.

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

Specificeren van de indeling van de uitvoer.

--url URL

Specificeer de URL van de API. Overschrijft elke waarde die wordt gevonden in het configuratiebestand, bekijk Configuratiebestanden. De URL zou moeten eindigen met /api/, bijvoorbeeld https://hosted.weblate.org/api/.

--key KEY

Specificeer de te gebruiken gebruikerssleutel voor de API. Overschrijft elke gevonden waarde in het configuratiebestand, bekijk Configuratiebestanden. U kunt uw sleutel vinden in uw profiel in Weblate. Wanneer de API-URL wordt geladen vanuit een automatisch ontdekte projectconfiguratie, moet --key samen worden gebruikt met --url. API-sleutels worden standaard geweigerd over niet-lokale http://-URL’s.

--allow-insecure-http

Sta het verzenden van API-sleutels over niet-lokale URL’s http:// toe. Voorkeur voor HTTPS of in plaats daarvan loopback HTTP; deze optie is alleen bedoeld voor verouderde uitrollen waar HTTPS niet beschikbaar is. Deze optie schakelt onveilige HTTP alleen in voor de huidige uitvoering; weglaten ervan schakelt allow_insecure_http niet uit in de configuratie.

--config PATH

Laad configuratie alleen vanuit PATH in plaats van de gevonden globale en projectconfiguratiebestanden, bekijk Configuratiebestanden.

--config-section SECTION

Overschrijft het in gebruik zijnde gedeelte van het configuratiebestand, bekijk Configuratiebestanden.

Opdrachten

De volgende opdrachten zijn beschikbaar:

version

Drukt de huidige versie af.

list-languages

Somt de gebruikte talen in Weblate op.

list-projects

Somt projecten in Weblate op.

list-components

Somt onderdelen in Weblate op.

list-translations

Somt vertalingen in Weblate op.

show

Geeft object van Weblate weer (vertaling, onderdeel of project).

ls

Somt object van Weblate op (vertaling, component of project).

commit

Dient wijzigingen in die zijn gemaakt in een object van Weblate (vertaling, onderdeel of project).

pull

Haalt wijzigingen vanuit de opslagruimte op afstand op naar een object van Weblate (vertaling, onderdeel of project).

push

Pusht wijzigingen in een object van Weblate naar de opslagruimte op afstand (vertaling, onderdeel of project).

reset

Herstelt wijzigingen in object van Weblate om overeen te komen met de opslagruimte op afstand (vertaling, onderdeel of project).

cleanup

Verwijdert niet bijgehouden wijzigingen in een object van Weblate om overeen te komen met de opslagruimte op afstand (vertaling, onderdeel of project).

repo

Geeft de status van de opslagruimte weer voor een bepaald object van Weblate (vertaling, onderdeel of project).

stats

Geeft gedetailleerde statistieken weer voor een bepaald object van Weblate (vertaling, onderdeel of project).

lock-status

Geeft de status van de vergrendeling weer.

lock

Vergrendelt onderdeel tegen verdere vertaling in Weblate.

unlock

Heft de vergrendeling tegen de vertaling van het onderdeel van Weblate op.

changes

Geeft wijzigingen weer voor een bepaald object.

download

Downloadt een vertaalbestand.

--convert

Converteert bestandsindeling, indien niet gespecificeerd wordt er geen conversie uitgevoerd op de server en het bestand wordt, zoals het is, gedownload naar de opslagruimte.

--output

Specificeert het bestand waarin de uitvoer moet worden opgeslagen, indien niet gespecificeerd wordt het afgedrukt naar stdout.

upload

Uploadt een vertaalbestand.

--overwrite

Overschrijf bestaande vertalingen bij uploaden.

--input

Bestand waaruit inhoud wordt gelezen, indien niet gespecificeerd wordt het gelezen vanuit stdin.

--method

Te gebruiken methode voor uploaden, bekijk Methoden voor importeren.

--fuzzy

Verwerken fuzzy tekenreeksen (gemarkeerd om te bewerken) (empty, process, approve)

--author-name

Naam van de auteur, om de momenteel geauthenticeerde gebruiker te overschrijven

--author-email

E-mail van de auteur, om de momenteel geauthenticeerde gebruiker te overschrijven

Hint

U kunt meer gedetailleerde informatie over het aanroepen van individuele opdrachten krijgen door in te voeren --help, bijvoorbeeld: wlc ls --help.

Configuratiebestanden

Wanneer --config wordt opgegeven, laadt wlc alleen dat bestand.

Zonder --config, laad wlc eerst het gevonden globale configuratiebestand vanaf de standaard platform-specifieke locaties:

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

Globaal configuratiebestand op Windows in het geroamde profiel.

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

Globaal configuratiebestand op Windows in het lokale profiel.

~/.config/weblate

Globaal configuratiebestand op Unix-achtige systemen.

/etc/xdg/weblate

Systeembreed configuratiebestand om op terug te vallen.

Het programma volgt de specificatie XDG, dus kunt u de plaatsing van configuratiebestanden aanpassen met de omgevingsvariabelen XDG_CONFIG_HOME of XDG_CONFIG_DIRS.

Op Windows zijn de mappen APPDATA en LOCALAPPDATA de voorkeurslocaties voor het configuratiebestand.

Na het laden van de globale configuratie, laad wlc het dichtstbij gelegen projectconfiguratiebestand vanuit de huidige map of diens ouders:

.weblate, .weblate.ini, weblate.ini

Project configuratiebestand geplaatst in de projectmap.

Alleen het dichtstbijzijnde projectconfiguratiebestand wordt geladen. Configuratiebestanden in verder weg gelegen oudermappen worden genegeerd.

De volgende instellingen kunnen worden geconfigureerd in het gedeelte [weblate] (u kunt dit aanpassen met --config-section):

key

Removed in version 1.17: Gebruik het gedeelte [keys] om sleutels te specificeren die als bereik individuele API URL’s hebben, bekijk Verouderde configuratie.

url

API server URL, standaard is http://127.0.0.1:8000/api/.

translation

Pad naar de standaard vertaling - onderdeel of project.

allow_insecure_http

Sta het verzenden van API-sleutels over niet-lokale URL’s http:// toe is standaard false. Loopback HTTP URL’s, zoals http://127.0.0.1:8000/api/, blijven toegestaan voor lokale ontwikkeling zonder deze optie. Voorkeur voor HTTPS in plaats van het inschakelen van deze instelling. Automatisch ontdekte bestanden voor projectconfiguratie kunnen deze optie niet inschakelen; stel het in een gebruikersconfiguratie in, een expliciet bestand --config, WLC_ALLOW_INSECURE_HTTP, of --allow-insecure-http. De instelling is cumulatief: elke vertrouwde bron die onveilige HTTP inschakelt is voldoende, en waarden false of niet ingesteld vanaf de opdrachtregel of omgevingsbronnen schakelen het niet uit.

retries, timeout, allowed_methods, backoff_factor, status_forcelist

Optionele instelling voor HTTP opnieuw proberen en time-out doorgegeven aan urllib3. Gebruik allowed_methods om de methoden voor verzoekn te vermelden die opnieuw mogen worden geprobeerd. Momenteel geeft wlc deze instellingsnaam weer in plaats van de oudere optie method_whitelist.

Het configuratiebestand is een INI-bestand, bijvoorbeeld:

[weblate]
url = https://hosted.weblate.org/api/
translation = weblate/application
retries = 3
allowed_methods = PUT,POST,GET
backoff_factor = 0.2
status_forcelist = 429,500,502,503,504
timeout = 30
allow_insecure_http = false

De sleutels voor de API worden opgeslagen in het gedeelte [keys]:

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

Dit stelt u in staat sleutels op te slaan in uw persoonlijke instellingen, bij het gebruiken van de configuratie .weblate in de opslagruimte van het VCS zodat wlc weet met welke server het zou moeten praten. De zoekactie [keys] heeft als bereik de exacte API-URL.

In CI moeten sleutels zonder bereik de API-URL expliciet vermelden: stel zowel WLC_URL als WLC_KEY in, of gebruik --url samen met --key.

Omgevingsvariabelen

Added in version 1.18.0.

Veranderd in versie 2.0.1: API-sleutels zonder bereik vereisen een expliciete API-URL als de projectconfiguratie automatisch wordt vastgesteld. API-sleutels worden afgewezen over niet-lokale URL’s http://, tenzij onveilige HTTP expliciet is ingeschakeld.

De API URL en sleutel kunnen ook worden geconfigureerd met omgevingsvariabelen. Dat is speciaal handig voor CI werkstromen waar WLC_URL het doel bepaalt en WLC_KEY als geheim wordt geïnjecteerd:

WLC_URL

URL API

WLC_KEY

API-sleutel. Wanneer de API-URL anders zou komen uit een automatisch vastgestelde projectconfiguratie, wordt WLC_KEY alleen geaccepteerd samen met WLC_URL. API-sleutels worden standaard afgewezen over niet-lokale URL’s http://.

WLC_ALLOW_INSECURE_HTTP

Stel in op 1, true, yes, of on om API-sleutels over niet-lokale URL’s http:// toe te staan. Voorkeur voor HTTPS of in plaats daarvan loopback HTTP. Andere waarden, zoals 0 of false, worden behandeld als niet ingesteld en schakelen allow_insecure_http niet uit in de configuratie.

Dezelfde beveiliging is van toepassing voor argumenten voor de opdrachtregel: --key wordt alleen geaccepteerd met automatisch vastgestelde projectconfiguratie als --url wordt opgegeven.

Voorrang voor configuratie van de API-URL en sleutel (van hoog naar laag) is:

  1. Argumenten opdrachtregel (--url, --key).

  2. Omgevingsvariabelen (WLC_URL, WLC_KEY).

  3. Configuration geladen uit --config, of vanuit de gevonden globale configuratie plus de dichtstbij gelegen projectconfiguratie, wanneer --config niet wordt gebruikt.

De opt-in voor onveilige HTTP is alleen-inschakelen, in plaats van een normale instelling voor voorkeuren. Het wordt ingeschakeld als --allow-insecure-http wordt doorgegeven, wanneer WLC_ALLOW_INSECURE_HTTP een waarde true heeft, of wanneer allow_insecure_http is ingeschakeld in een vertrouwde configuratie. Automatisch vastgestelde projectconfiguratie kan het niet inschakelen; stel het in een gebruikersconfiguratie in of geef in plaats daarvan een expliciet bestand --config door.

Voorbeelden

Huidige programmaversie afdrukken:

$ wlc version
version: 0.1

Alle projecten opsommen:

$ 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/

Vertaalbestand uploaden:

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

U kunt ook bepalen met welk project wlc zou moeten werken:

$ 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/

Met deze opstelling is het gemakkelijk om openstaande wijzigingen in te dienen in het huidige project:

$ wlc commit