A command-line utility for Weblate, translation tool with tight version control integration

i18n, l10n, gettext, git, mercurial, translate, command-line-tool, hacktoberfest, internationalization, python3, weblate
pip install wlc==1.14



Weblate is libre software web-based continuous localization system, used by over 2500 libre projects and companies in more than 165 countries.


wlc is a Weblate command-line client using Weblate's REST API.

Website Translation status CII Best Practices PyPI package Documenation

PIP Installation

Install using pip:

pip3 install wlc

Sources are available at https://github.com/WeblateOrg/wlc.


Please see Weblate documentation for more complete documentation.

Command-line usage:

wlc list-projects
wlc list-components
wlc list-translations
wlc list-languages
wlc show
wlc ls
wlc commit
wlc push
wlc pull
wlc repo
wlc stats
wlc lock
wlc unlock
wlc lock-status
wlc download
wlc upload

Configuration is stored in ~/.config/weblate. The key/values (retries, timeout, method_whitelist, backoff_factor, status_forcelist) are closely coupled with the urllib3 parameters and allows the user to configure request parameters.

url = https://hosted.weblate.org/api/
retries = 3
method_whitelist = PUT,POST,GET
backoff_factor = 0.2
status_forcelist = 429,500,502,503,504
timeout = 30

https://hosted.weblate.org/api/ = APIKEY

Docker image

The image is published on Docker Hub.

Building locally:

docker build -t weblate/wlc .

Detailed documentation is available in Weblate documentation.

Docker hub tags

You can use following tags on Docker hub:

Tag name Description Use case
latest wlc stable release, matches latest tagged release Rolling updates in a production environment
edge wlc development Staging environment
version wlc stable release, see weblate/wlc Well defined deploy in a production environment

Every image is tested by our CI before it gets published, so even the bleeding version should be quite safe to use.


Contributions are welcome! See documentation for more information.