Empezar a contribuir con código a Weblate

To understand Weblate source code, please first look into Código fuente de Weblate, Weblate frontend and Weblate por dentro.

Primeros pasos en el código

If looking for some bugs to familiarize yourself with the Weblate codebase, look for ones labelled good first issue.

Running Weblate locally

The most comfortable approach to get started with Weblate development is to follow Instalar desde el código fuente. It will get you a virtual env with editable Weblate sources.

  1. Clone Weblate source:

    git clone https://github.com/WeblateOrg/weblate.git
    cd weblate
  2. Create an virtualenv:

    virtualenv .venv
  3. Install Weblate (this will need some system deps, see Instalar desde el código fuente):

    pip install -e .
  1. Install all dependencies useful for development:

    pip install -r requirements-dev.txt
  2. Start a development server run:

    weblate runserver
  3. Depending on your configuration you might also want to start Celery workers:

    ./weblate/examples/celery start
  4. To run test (see Puesta a prueba local for more details):

    . scripts/test-database
    ./manage.py test

Running Weblate locally in Docker

If you have Docker and docker-compose installed, you can spin up the development environment simply by running:


It will create development Docker image and start it. Weblate is running on <> and you can sign in with admin user and admin password. The new installation is empty, so you might want to continue with Añadir proyectos y componentes de traducción.

The Dockerfile and docker-compose.yml for this are located in dev-docker directory.

The script also accepts some parameters, to execute tests run it with test parameter and then specify any test parameters, for example:

./rundev.sh test --failfast weblate.trans


Be careful that your Docker containers are up and running before running the tests. You can check that by running the docker ps command.

To display the logs:

./rundev.sh logs

To stop the background containers run:

./rundev.sh stop

Running the script without args will recreate Docker container and restart it.


This is not suitable setup for production, it includes several hacks which are insecure, but make development easier.

Trabajar en Weblate con PyCharm

PyCharm es un conocido EID para Python. A continuación le ofrecemos algunas recomendaciones para configurar Weblate en este programa.

Considering you have just cloned the Github repository, just open the folder in which you cloned it in PyCharm. Once the IDE is open, the first step is to specify the interpreter you want:


You can either choose to let PyCharm create the virtualenv for you, or select an already existing one:


Don’t forget to install the dependencies once the interpreter is set: you can do it, either through the console (the console from the IDE will directly use your virtualenv by default), or through the interface when you get a warning about missing dependencies.

The second step is to set the right information to use natively Django inside PyCharm: the idea is to be able to immediately trigger the unit tests in the IDE. For that you need to specify the root path of Django and the path of one setting:


Be careful, the Django project root is the root of the repository, not the weblate sub-directory. About the settings, I personally use the settings_test from the repository, but you could create your own setting and set it there.

Last step is to be able to run the server and to put breakpoints on the code to be able to debug it. This is done by creating a new Django Server configuration:

../_images/pycharm-4.png ../_images/pycharm-5.png

Be careful to properly checked «No reload»: you won’t get anymore the server live reload if you modify some files, but the debugger will be stopped on the breakpoint you set.

Bootstraping your devel instance

You might want to use import_demo to create demo translations and createadmin to create admin user.