Weblate internals

Note

This chapter will give you basic overview of Weblate internals.

Weblate derives most of its code structure from, and is based on Django.

Directory structure

Quick overview of directory structure of Weblate main repository:

docs

Source code for this documentation, which can be built using Sphinx.

dev-docker

Docker code to run development server, see Running Weblate locally in Docker.

weblate

Source code of Weblate as a Django application, see Weblate internals.

weblate/static

Client files (CSS, Javascript and images), see Weblate frontend.

Modules

Weblate consists of several Django applications (some optional, see Optional Weblate modules):

accounts

User account, profiles and notifications.

addons

Add-ons to tweak Weblate behavior, see Add-ons.

api

API based on Django REST framework.

auth

Authentication and permissions.

billing

The optional Billing module.

checks

Translation string Quality checks module.

fonts

Font rendering checks module.

formats

File format abstraction layer based on translate-toolkit.

gitexport

The optional Git exporter module.

lang

Module defining language and plural models.

legal

The optional Legal module.

machinery

Integration of machine translation services.

memory

Built-in translation memory, see Translation Memory.

screenshots

Screenshots management and OCR module.

trans

Main module handling translations.

utils

Various helper utilities.

vcs

Version control system abstraction.

wladmin

Django admin interface customization.