Исходный код Weblate#

Weblate разрабатывается на GitHub’е. Вы можете создавать форки и открывать запросы на извлечение. Патчи в любой другой форме также приветствуются.

См.также

Чтобы понять, как Weblate устроен изнутри, посмотрите раздел Внутреннее устройство Weblate.

Рекомендации по написанию кода#

Любой код для Weblate’а должен писаться с оглядкой на Принципы «безопасности по проектированию» (Security by Design).

Весь код должен сопровождаться документацией, поясняющей его работу. Не забывайте документировать методы, сложные блоки кода и функционал, доступный пользователям.

Любой новый код должен использовать подсказки типа PEP 484. Мы пока не проверяем это в нашем CI, поскольку существующий код их еще не включает.

Стандарт и стиль программирования#

The code should follow PEP-8 coding guidelines and should be formatted using ruff code formatter.

To check the code quality, you can use ruff, its configuration is stored in pyproject.toml.

Самый простой способ реализовать все это — установить pre-commit. Репозиторий содержит конфигурацию для проверки работоспособности зафиксированных файлов. После установки (он уже включен в файл «requirements-lint.txt») включите его, запустив «pre-commit install» при оформлении заказа в Weblate. Таким образом, все ваши изменения будут автоматически проверены.

Также вы можете запустить эту проверку вручную, чтобы проверить все файлы, запустите:

pre-commit run --all