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 Weblate’s standaardinstellingen en verbindt met de API die is uitgerold op localhost. De URL voor de API en API_KEY kunnen worden geconfigureerd met de argumenten die worden geaccepteerd door Weblate.
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
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
Zie ook
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/, bijvoorbeeldhttps://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.
- --config PATH¶
Laad configuratie alleen vanuit
PATHin 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.iniGlobaal configuratiebestand op Windows in het geroamde profiel.
C:\Users\NAME\AppData\Local\weblate.iniGlobaal configuratiebestand op Windows in het lokale profiel.
~/.config/weblateGlobaal configuratiebestand op Unix-achtige systemen.
/etc/xdg/weblateSysteembreed 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.iniProject 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. Gebruikallowed_methodsom de methoden voor verzoekn te vermelden die opnieuw mogen worden geprobeerd. Momenteel geeft wlc deze instellingsnaam weer in plaats van de oudere optiemethod_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
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. In CI, behoud alleen de configuratie voor de opslagruimte in versiebeheer en injecteer de API-sleutel met WLC_KEY.
Omgevingsvariabelen¶
Added in version 1.18.0.
De API URL en sleutel kunnen ook worden geconfigureerd met omgevingsvariabelen. Dat is speciaal handig voor CI werkstromen waar de opslagruimte de projectconfiguratie verschaft en WLC_KEY als geheim wordt geïnjecteerd:
- WLC_URL¶
URL API
- WLC_KEY¶
Api-sleutel
Voorrang voor configuratie (van hoog naar laag) is:
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