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

The Docker container uses Weblate Client defaults and connects to the API deployed on localhost. Configure the API URL and API key using the normal wlc arguments or environment variables, for example --url, --key, WLC_URL, and WLC_KEY.

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

When the mounted repository provides the API URL in project configuration and you pass an unscoped API key to the container, also pin the URL explicitly: WLC_KEY requires WLC_URL, and --key requires --url.

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

Specify the API user key to use. Overrides any value found in the configuration file, see Configuratiebestanden. You can find your key in your profile on Weblate. When the API URL is loaded from automatically discovered project configuration, --key must be used together with --url.

--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.

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

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

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

This allows you to store keys in your personal settings, while using the .weblate configuration in the VCS repository so that wlc knows which server it should talk to. The [keys] lookup is scoped to the exact API URL.

In CI, unscoped keys must pin the API URL explicitly: set both WLC_URL and WLC_KEY, or use --url together with --key.

Omgevingsvariabelen

Added in version 1.18.0.

Veranderd in versie 2.0.1: Unscoped API keys require an explicit API URL when project configuration is discovered automatically.

The API URL and key can also be configured using environment variables. This is especially useful for CI workflows where WLC_URL pins the destination and WLC_KEY is injected as a secret:

WLC_URL

URL API

WLC_KEY

API key. When the API URL would otherwise come from automatically discovered project configuration, WLC_KEY is accepted only together with WLC_URL.

The same protection applies to command-line arguments: --key is accepted with automatically discovered project configuration only when --url is provided.

Voorrang voor configuratie (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.

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