This chapter will give you basic overview of Weblate internals.
Weblate is based on Django and most of its code structure comes from that. If you are not familiar with Django, you might want to check Django at a glance to get basic understanding of files structure.
Weblate consists of several Django applications (some of them are optional, see Optional Weblate modules):
User account, profiles and notifications.
Addons to tweak Weblate behavior, see Addons.
API based on Django REST framework.
Authentication and permissions.
The optional Billing module.
File formats abstraction layer based on translate-toolkit.
The optional Git exporter module.
Module defining language and plural models.
Language data definitions.
The optional Legal module.
Machine translation services integration.
Built in translation memory, see Translation Memory.
Screenshots management and OCR module.
Main module handling translations.
Various helper utilities.
Version control system abstraction.
Django admin interface customization.