Перші кроки у програмуванні коду Weblate¶
Щоб краще зрозуміти початковий код Weblate, будь ласка, спочатку зверніться до розділів Початковий код Weblate, Оболонка Weblate та Нутрощі Weblate.
Перші кроки на основі базового програмного коду¶
Якщо ви шукаєте якісь вади, які допоможуть ознайомитися із початковим кодом Weblate, зверніться до тих з них, які позначено міткою good first issue.
Ми будемо раді, якщо ви почнете роботу над цими проблемами, навіть нічого не питаючи. Просто повідомте про початок роботи у гілці звіту щодо вади, щоб усі знали, що над вирішенням проблеми уже хтось працює.
Локальний запуск Weblate¶
Найзручніший спосіб розпочати роботу з розробкою Weblate — це виконати команду Установлення з початкового коду. Це дозволить вам створити середовище Python із редагованими вихідними кодами Weblate.
Клонувати початковий код Weblate:
git clone https://github.com/WeblateOrg/weblate.git cd weblate
Install Weblate and all dependencies useful for development:
uv sync --all-extras --dev
Запустити сервер розробки:
uv run weblate runserver
Залежно від ваших налаштувань, вам може знадобитися запуск обробників Celery:
uv run ./weblate/examples/celery start
To run tests (see Локальне тестування Weblate for more details):
. scripts/test-database.sh uv run pytest
Дивись також
Запуск Weblate локально у Docker¶
Якщо у вас встановлено Docker і docker-compose-plugin, вам знадобиться додаткова програма із назвою jq, яка може встановлювати дані за допомогою вашої улюбленої програми для керування пакунками. Далі, ви можете запустити середовище розробки простими командами:
./rundev.sh
У результаті буде створено і запущено образ Docker для розробки. Weblate працюватиме за адресою <http://127.0.0.1:8080/>, і ви зможете увійти від імені користувача admin із паролем admin. Новий встановлений екземпляр буде порожнім, тому ви можете продовжити з Додавання проєктів і складників перекладу.
Weblate налаштовано на використання контейнера maildev як сервера електронної пошти. Доставлені електронні листи можна переглянути за адресою <http://127.0.0.1:1080/>.
Файли Dockerfile і docker-compose.yml для цього екземпляра зберігатимуться у каталозі dev-docker. Для полегшення доступу до бази даних під час розробки, контейнер з PostgreSQL виставляється на порт 5433.
Крім того, скрипт приймає декілька параметрів. Щоб виконати перевірки, запустіть його з параметром test, а потім вкажіть будь-які параметри test. Приклад запуску тестів лише у модулі weblate.machine:
./rundev.sh test --exitfirst weblate/machine
Примітка
Переконайтеся, що ваші контейнери Docker запущено, і вони працюють, перш ніж запускати тести. Зробити це можна за допомогою команди docker ps.
Для перегляду журналів:
./rundev.sh logs
Щоб зупинити контейнери, які працюють у фоновому режимі, віддайте таку команду:
./rundev.sh stop
Запуск скрипту без аргументів призведе до повторного створення контейнера Docker і його перезапуску.
Попередження
Цей контейнер не придатний для використання на виробництві. Безпека принесена в жертву заради полегшення розробки.
Самопобудова вашого екземпляра для розробки¶
Ймовірно, вам варто скористатися import_demo для створення демонстраційних перекладів і createadmin, щоб створити запис користувача-адміністратора.
Якщо у вас також встановлено Оплата, ви можете скористатися billing_demo для створення демонстраційного проєкту виставлення рахунків.
Програмування Weblate з використанням PyCharm¶
PyCharm є відомим комплексним середовищем розробки для Python. У цьому розділі наведено декілька порад, які допоможуть вам налаштувати ваш проєкт Weblate.
Припустімо, що ви вже створили клон сховища GitHub і відкрили теку, до якої було клоновано код, у PyCharm. Після відкриття вікна середовища розробки першим кроком є визначення потрібного вам інтерпретатора:
Select the .venv environment created by uv sync --all-extras --dev
to match the command-line development setup. You can also let PyCharm create a
Python environment for you, but the uv-managed environment is preferred:
Don’t forget to install the dependencies once the interpreter is set. When
using the preferred uv-managed environment, run uv sync --all-extras --dev
from the console.
Другим кроком є належне налаштовування для використання Django у PyCharm: основна проблема полягає в уможливленні негайного запуску тестів модулів у комплексному середовищі для розробки. Для цього вам слід вказати кореневий шлях до проєкту Django та шлях до його параметрів:
Будьте обережні, корінь проєкту Django є кореневою текою сховища, а не підкаталогом Weblate. Щодо параметрів, ви можете скористатися weblate/settings_test.py з сховища коду, але ви можете створити власні параметри і вказати їх у відповідному місці.
Останнім кроком є уможливлення запуску сервера і розставляння точок зупинки у коді, щоб уможливити його діагностування. Це можна зробити створенням нових налаштувань Django Server:
Підказка
Будьте обережні із властивістю із назвою Не перезавантажувати: якщо ви позначите цей пункт, під час внесення змін до файлів не відбуватиметься автоматичного перезавантаження сервера. Це уможливлює збереження поточних діагностичних точок зупинення для зневадження, які відкидаються у результаті перезавантаження.