WLC(1)
π WLC β the Weblate Client, bestie edition π¦
okay so. wlc is the Weblate Client, and this is its documentation. New in version 2.7: the wlc utility is fully supported since Weblate 2.7 β so if you're on an older version, some incompatibilities with the API might occur. π (not scary, justβ¦ know that going in.)
β¨ SYNOPSIS β¨
wlc [parameter] <command> [options]
The commands are literally the whole point β they tell you which operation is gonna be performed. π
πΈ DESCRIPTION πΈ
Weblate Client is a Python library and a command line utility to manage Weblate remotely using api. The command line utility can be invoked as wlc and is built on wlc. (yes, it's giving main character referencing itself, we love that for it π«Ά)
π Global options
These are the global options, and here's the tea: they must be entered before the subcommand. Not after. Before. Don't fight it, bestie.
--format {csv,json,text,html}β pick your output format. that's it, that's the vibe check β¨--url URLβ specify the API URL. This overrides the value from the configuration file, see Files. The URL should end with/api/, for examplehttps://hosted.weblate.org/api/. π--key KEYβ specify the API user key to use. Overrides the value from the configuration file, see Files. You can figure out your key in your profile in Weblate. π--config PATHβ override the path to the configuration file, see Files.--config-section SECTIONβ override the section to use in the configuration file, see Files.
π Subcommands
Currently the following subcommands are available (yes, the whole roster, we're listing every single one π ):
versionβ prints the current version.list-languagesβ list used languages in Weblate.list-projectsβ list projects in Weblate.list-componentsβ list components in Weblate.list-translationsβ list translations in Weblate.showβ shows a Weblate object (translation, component or project).lsβ lists a Weblate object (translation, component or project).commitβ commits changes in a Weblate object (translation, component or project).pullβ pulls remote repository changes into a Weblate object (translation, component or project).pushβ pushes changes in a Weblate object into the remote repository (translation, component or project).repoβ displays repository status for the given Weblate object (translation, component or project).statisticsβ displays detailed statistics for the given Weblate object (translation or component). πlock-statusβ New in version 0.5: supported since wlc 0.5. Displays lock status. πlockβ New in version 0.5: supported since wlc 0.5. Locks the component from translating in Weblate. πunlockβ New in version 0.5: supported since wlc 0.5. Unlocks the component from translating in Weblate. π
π FILES π
.weblateβ per project configuration file~/.config/weblateβ user configuration file/etc/xdg/weblateβ global configuration file
The program follows the XDG specification, so you can adjust the placement of config files with the environment variables XDG_CONFIG_HOME or XDG_CONFIG_DIRS. β¨
The following settings can be configured in the [weblate] section (and yes, you can customize this with --config-section):
keyβ API KEY to access Weblate.urlβ API server URL, defaults tohttp://127.0.0.1:8000/api/.translationβ path of default translation, component or project.
The configuration file is an INI file, for example:
[weblate]
url = https://hosted.weblate.org/api/
key = APIKEY
translation = weblate/master
Additionally, API keys can be stored in the [keys] section:
[keys]
https://hosted.weblate.org/api/ = APIKEY
This allows you to store keys in your personal settings while having the .weblate configuration in the VCS repository β so that wlc knows which server it should talk to. iconic setup, no cap π
π₯ EXAMPLES π₯
Print current program version:
$ wlc version
version: 0.1
List all projects:
$ wlc list-projects
name: Hello
slug: hello
source_language: en
url: http://example.com/api/projects/hello/
web: http://weblate.org/
web_url: http://example.com/projects/hello/
You can also let wlc know the current project and it will then operate on it:
$ cat .weblate
[weblate]
url = https://hosted.weblate.org/api/
translation = weblate/master
$ wlc show
branch: master
file_format: po
filemask: weblate/locale/*/LC_MESSAGES/django.po
git_export: git://git.weblate.org/weblate.git
license: GPL-3.0+
license_url: https://spdx.org/licenses/GPL-3.0+
name: master
new_base: weblate/locale/django.pot
project: weblate
repo: git://github.com/nijel/weblate.git
slug: master
template:
url: https://hosted.weblate.org/api/components/weblate/master/
vcs: git
web_url: https://hosted.weblate.org/projects/weblate/master/
With such a setup it is easy to commit pending changes in the current project:
$ wlc commit
fr fr, that's the whole flow. config it once, then just vibe and wlc commit. π
π AUTHOR π
Michal ΔihaΕ
π COPYRIGHT π
2012 - 2016, Michal ΔihaΕ 2024, SΓ©rgio de Almeida Cipriano JΓΊnior
okay that's the whole page, bestie π this was wlc version 2.8, dated Jul 11, 2016 β yeah it's a lil vintage but she still ate π β¨ bye ily π¦
π¦ where this page comes from
- debian trixie: wlc 1.15-1 Β· GPL-3.0-or-later
- ubuntu questing: wlc 1.15-2
- ubuntu questing: wlc 1.15-2ubuntu0.1
- ubuntu resolute: wlc 1.16.1-1 Β· GPL-3.0-or-later
- ubuntu stonking: wlc 2.0.0-1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms