English | Русский |
Прежде всего, благодарим вас за желание внести вклад в этот проект.
Для работы с проектом необходимо установить следующие инструменты:
- Python 3.11 или выше: Требуется для зависимостей проекта и скриптов (используется модуль tomllib, доступный начиная с Python 3.11)
- Docker: Требуется для сборки и запуска контейнеров
- Docker Compose: Требуется для сборки и запуска контейнеров
- make: Требуется для запуска целей Makefile
- uv: Менеджер пакетов и проектов для Python
Установка make и uv:
sudo apt update
sudo apt install make
sudo apt install python3-pip
pip install uv
Интернационализация реализована с помощью Django i18n.
Проект поддерживает два языка: английский и русский.
Файлы переводов находятся в src/imgtests/web/locale/. Файлы .po содержат переводы, а файлы .mo компилируются при сборке Docker.
В шаблонах оборачивайте переводимые строки в {% translate %} для простых строк и в {% blocktranslate %} для строк с переменными:
{% load i18n %}
{% translate "Test Dashboard" %}
{% blocktranslate %}Size: {{ report.size|filesizeformat }}{% endblocktranslate %}
После добавления или изменения тегов {% translate %}, перегенерируйте .po файлы:
cd src/imgtests/web
django-admin makemessages -l ru
django-admin makemessages -d djangojs -l ruЗатем отредактируйте .po файл и заполните поля msgstr.
- Добавьте код языка в список
LANGUAGESвsettings.py(src/imgtests/web/tests/settings.py). - Сгенерируйте
.poфайл:cd src/imgtests/web django-admin makemessages -l <код_языка>
- Переведите строки в созданном
.poфайле.
При сборке образа Docker файлы .mo компилируются с помощью msgfmt. Файлы .mo не хранятся в git.
Проверить все файлы репозитория с помощью предварительных проверок (pre-commit hooks), описанных в файле .pre-commit-config.yaml:
make pre-commit-check
Запустить все юнит-тесты в директориях tests/unit и tests/misc:
make unit-test
Конфигурация юнит-тестов описана в файле pyproject.toml. Файлы и функции начинаются с префикса test_.