Quick setup guide


This is just a quick guide for installing and starting to use Weblate for testing purposes. Please check Installation instructions for more real world setup instructions.

Choosing installation method

Choose best installation method depending on your environment and customization you need:

  1. Choose Docker if you are familiar with that and if you are not going to change Weblate code, see Installing using Docker.
  2. If you are not going to change Weblate code, but want to avoid Docker install in virtual env, see Installing in a virtualenv.
  3. If you want to develop and/or change Weblate code, grab Weblate from Git, see Installing from sources.

Installing in a virtualenv

If you’d just like to do a quick installation locally on your device to find out if Weblate is for you, you can install it using a virtual environment for Python 2, a simple (and slow!) SQLite database, and the lightweight Django development server.

  1. Install development files for libraries needed for building some Python modules:

    # Debian/Ubuntu:
    apt install libxml2-dev libxslt-dev libfreetype6-dev libjpeg-dev libz-dev libyaml-dev python3-dev build-essential
    # openSUSE/SLES:
    zypper install libxslt-devel libxml2-devel freetype-devel libjpeg-devel zlib-devel libyaml-devel python3-devel
    # Fedora/RHEL/CentOS:
    dnf install libxslt-devel libxml2-devel freetype-devel libjpeg-devel zlib-devel libyaml-devel python3-devel
  2. Install pip and virtualenv. Usually they are shipped by your distribution or with Python:

    # Debian/Ubuntu:
    apt install python3-pip python3-virtualenv virtualenv
    # openSUSE/SLES:
    zypper install python3-pip python3-virtualenv
    # Fedora/RHEL/CentOS:
    dnf install python3-pip python3-virtualenv
  3. Create the virtualenv for Weblate:

    virtualenv --python=python3 ~/weblate-env
  4. Activate the virtualenv for Weblate, so Weblate will look for Python libraries there first:

    . ~/weblate-env/bin/activate
  5. Install Weblate including all dependencies. You can also use pip to install the optional dependencies:

    pip install Weblate
    # Optional deps
    pip install pytz python-bidi PyYAML pyuca
    # Install database backend for PostgreSQL
    pip install psycopg2-binary
    # Install database backend for MySQL
    apt install default-libmysqlclient-dev
    pip install mysqlclient
  6. Copy the file ~/weblate-env/lib/python3.7/site-packages/weblate/settings_example.py to ~/weblate-env/lib/python3.7/site-packages/weblate/settings.py

  7. Optionally, adjust the values in the new settings.py file.

  8. Create the SQLite database and its structure for Weblate:

    weblate migrate
  9. Create the administrator user account and copy the password it outputs to the clipboard, and maybe also save it to a text file for later use:

    weblate createadmin
  10. Start the development server:

    weblate runserver
  11. Open a web browser, go to http://localhost:8000/accounts/login/ and login with the user name admin and paste the password in.

  12. Proceed with Adding translation to add some translatable contents to your test installation.

You can stop the test server with Ctrl+C, and leave the virtual environment with deactivate. If you want to resume testing later, you need to repeat the steps 4, 8 and 11 each time to start the development server.

Installing from sources

  1. Grab Weblate sources (either using Git or download a tarball) and unpack them, see Installing Weblate.

  2. Install all required dependencies into an virtual env (also see Software requirements):

    virtualenv --python=python3 .venv
    . .venv/bin/activate
    pip install -r /path/to/weblate/requirements.txt
  3. Copy weblate/settings_example.py to weblate/settings.py and adjust it to match your setup. You will at least need to configure the database connection (possibly adding user and creating the database). Check Configuration for Weblate specific configuration options.

  4. Create the database which will be used by Weblate, see Database setup for Weblate.

  5. Build Django tables, static files and initial data (see Filling up the database and Serving static files):

    ./manage.py migrate
    ./manage.py collectstatic
    ./scripts/generate-locales # If you are using Git checkout
  6. Configure webserver to serve Weblate, see Running server.

Installing using Docker

  1. Clone weblate-docker repo:

    git clone https://github.com/WeblateOrg/docker-compose.git weblate-docker
    cd weblate-docker
  2. Start Weblate containers:

    docker-compose up

See also

See Running Weblate with Docker for more detailed instructions and customization options.

Installing on OpenShift 2

  1. You can install Weblate on OpenShift PaaS directly from its Git repository using the OpenShift Client Tools:

    rhc -aweblate app create -t python-2.7 --from-code https://github.com/WeblateOrg/weblate.git --no-git
  2. After installation everything should be preconfigured and you can immediately start to add a translation project as described below.

See also

For more information, including on how to retrieve the generated admin password, see Running Weblate on OpenShift 2.

Adding translation

  1. Open admin interface (http://localhost/admin/) and create project you want to translate. See Project configuration for more details.

    All you need to specify here is project name and its website.

  2. Create component which is the real object for translating - it points to VCS repository and selects which files to translate. See Component configuration for more details.

    The important fields here being component name, VCS repository address and mask for finding translatable files. Weblate supports a wide range of formats including Gettext PO files, Android resource strings, OS X string properties, Java properties or Qt Linguist files, see Supported file formats for more details.

  3. Once the above is completed (it can be lengthy process depending on size of your VCS repository and number of messages to translate), you can start translating.