---
name: "wlc"
section: "1"
platform: "linux"
package: "wlc"
version: "1.15-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/wlc"
---

# wlc(1)

Weblate Client Documentation New in version 2.7: The wlc utility is fully supported since Weblate 2.7. If you are using older version some incompatibilities with API might occur.

## NAME

wlc - Weblate Client Documentation

New in version 2.7: The wlc utility is fully supported since Weblate 2.7. If you are using older version some incompatibilities with API might occur.

## SYNOPSIS

```
wlc [parameter] <command> [options]
```

Commands actually indicate which operation should be performed.

## DESCRIPTION

Weblate Client is Python library and command line utility to manage Weblate remotely using api. The command line utility can be invoked as **wlc** and is build on **wlc**.

### Global options

The program accepts following global options, which must be entered before subcommand.

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

  Specify output format.

- **--url URL**

  Specify API URL. Overrides value from configuration file, see *Files*. The URL should end with **/api/**, for example **https://hosted.weblate.org/api/**.

- **--key KEY**

  Specify API user key to use. Overrides value from configuration file, see *Files*. You can figure out your key in your profile in Weblate.

- **--config PATH**

  Override path to configuration file, see *Files*.

- **--config-section SECTION**

  Override section to use in configuration file, see *Files*.

### Subcommands

Currently following subcommands are available:

- **version**

  Prints 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 Weblate object (translation, component or project).

- **ls**

  Lists Weblate object (translation, component or project).

- **commit**

  Commits changes in Weblate object (translation, component or project).

- **pull**

  Pulls remote repository changes into Weblate object (translation, component or project).

- **push**

  Pusches changes in Weblate object into remote repository (translation, component or project).

- **repo**

  Displays repository status for given Weblate object (translation, component or project).

- **statistics**

  Displays detailed statistics for 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 component from translating in Weblate.

- **unlock**

  New in version 0.5: Supported since wlc 0.5.

  Unlocks 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 XDG specification, so you can adjust placement of config files by environment variables **XDG\_CONFIG\_HOME** or **XDG\_CONFIG\_DIRS**.

Following settings can be configured in the **\[weblate\]** section (you can customize this by *--config-section*):

- **key**

  API KEY to access Weblate.

- **url**

  API server URL, defaults to **http://127.0.0.1:8000/api/**.

- **translation**

  Path of default translation, component or project.

The configuration file is 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** **.weblate configuration in the VCS repository so that wlc knows to which** **server it should talk.**

## 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 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 setup it is easy to commit pending changes in current project:**

```
$ wlc commit
```

## AUTHOR

**Michal Čihař**

## COPYRIGHT

**2012 - 2016, Michal Čihař** **2024       , Sérgio de Almeida Cipriano Júnior**
