Перші кроки у програмуванні коду Weblate

Щоб краще зрозуміти початковий код Weblate, будь ласка, спочатку зверніться до розділів Початковий код Weblate, Оболонка Weblate та Нутрощі Weblate.

Перші кроки на основі базового програмного коду

Якщо ви шукаєте якісь вади, які допоможуть ознайомитися із початковим кодом Weblate, зверніться до тих з них, які позначено міткою good first issue.

Ми будемо раді, якщо ви почнете роботу над цими проблемами, навіть нічого не питаючи. Просто повідомте про початок роботи у гілці звіту щодо вади, щоб усі знали, що над вирішенням проблеми уже хтось працює.

Локальний запуск Weblate

The most comfortable approach to get started with Weblate development is to follow Установлення з початкового коду. It will get you a Python environment with editable Weblate sources.

  1. Клонувати початковий код Weblate:

    git clone https://github.com/WeblateOrg/weblate.git
    cd weblate
    
  2. Create a Python environment:

    uv venv .venv
    source .venv/bin/activate
    
  3. Установіть Weblate (це потребуватиме декількох залежностей у системі, див. Установлення з початкового коду) і усі залежності, які корисні для розробки:

    uv pip install -e '.[dev]'
    
  1. Запустити сервер розробки:

    weblate runserver
    
  2. Залежно від ваших налаштувань, вам може знадобитися запуск обробників Celery:

    ./weblate/examples/celery start
    
  3. Для запуску тестування (див. Локальне тестування Weblate, щоб дізнатися більше):

    . scripts/test-database.sh
    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. Після відкриття вікна середовища розробки першим кроком є визначення потрібного вам інтерпретатора:

../_images/pycharm-1.png

You can either choose to let PyCharm create the Python environment for you, or select an already existing one:

../_images/pycharm-2.png

Don’t forget to install the dependencies once the interpreter is set: Either through the console (the console from the IDE will directly use your Python environment by default), or through the interface when you get a warning about missing dependencies.

Другим кроком є належне налаштовування для використання Django у PyCharm: основна проблема полягає в уможливленні негайного запуску тестів модулів у комплексному середовищі для розробки. Для цього вам слід вказати кореневий шлях до проєкту Django та шлях до його параметрів:

../_images/pycharm-3.png

Будьте обережні, корінь проєкту Django є кореневою текою сховища, а не підкаталогом Weblate. Щодо параметрів, ви можете скористатися weblate/settings_test.py з сховища коду, але ви можете створити власні параметри і вказати їх у відповідному місці.

Останнім кроком є уможливлення запуску сервера і розставляння точок зупинки у коді, щоб уможливити його діагностування. Це можна зробити створенням нових налаштувань Django Server:

../_images/pycharm-4.png ../_images/pycharm-5.png

Підказка

Будьте обережні із властивістю із назвою Не перезавантажувати: якщо ви позначите цей пункт, під час внесення змін до файлів не відбуватиметься автоматичного перезавантаження сервера. Це уможливлює збереження поточних діагностичних точок зупинення для зневадження, які відкидаються у результаті перезавантаження.