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

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

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

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

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

Найкомфортнішим способом розпочати розробку Weblate є виконання настанов розділу ../admin/install/source. Виконання цих настанов надасть вам змогу отримати віртуальне середовище із придатними до редагування початковими кодами Weblate.

  1. Клонувати джерельний код Weblate:

    git clone https://github.com/WeblateOrg/weblate.git
    cd weblate
    
  2. Створіть virtualenv:

    virtualenv .venv
    .venv/bin/activate
    
  3. Встановіть Weblate (це потребуватиме декількох залежностей у системі, див. ../admin/install/source):

    pip install -e .
    
  1. Встановити всі корисні для розробки залежності:

    pip install -r requirements-dev.txt
    
  2. Запустити сервер розробки:

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

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

    . scripts/test-database
    ./manage.py test
    

Запуск Weblate локально у Docker

Якщо у вас встановлено Docker і docker-compose, ви можете запустити середовище розробки простими командами:

./rundev.sh

У результаті буде створено і запущено образ Docker для розробки. Weblate працюватиме за адресою <http://127.0.0.1:8080/>, і ви зможете увійти від імені користувача admin із паролем admin. Новий встановлений екземпляр буде порожнім, тому ви можете продовжити з Додавання проєктів і складників перекладу.

Файли Dockerfile і docker-compose.yml для цього екземпляра зберігатимуться у каталозі dev-docker.

Крім того, скрипт приймає декілька параметрів. Щоб виконати перевірки, запустіть його з параметром test, а потім вкажіть будь-які параметри test. Приклад:

./rundev.sh test --failfast weblate.trans

Примітка

Переконайтеся, що ваші контейнери Docker запущено, і вони працюють, перш ніж запускати тести. Зробити це можна за допомогою команди docker ps.

Для перегляду журналів:

./rundev.sh logs

Щоб зупинити контейнери, які працюють у фоновому режимі, віддайте таку команду:

./rundev.sh stop

Запуск скрипту без аргументів призведе до повторного створення контейнера Docker і його перезапуску.

Примітка

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

Програмування Weblate з використанням PyCharm

PyCharm є відомим комплексним середовищем розробки для Python. У цьому розділі наведено декілька порад, які допоможуть вам налаштувати ваш проєкт Weblate.

Припустімо, що ви вже створили клон сховища GitHub і відкрили теку, до якої було клоновано код, у PyCharm. Після відкриття вікна середовища розробки першим кроком є визначення потрібного вам інтерпретатора:

../_images/pycharm-1.png

Ви можете або дозволити PyCharm створити для вас віртуальне середовище, або вибрати наявне середовище:

../_images/pycharm-2.png

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

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

../_images/pycharm-3.png

Be careful, the Django project root is the root of the repository, not the weblate sub-directory. About the settings, you could use the weblate/settings_test.py from the repository, but you could create your own setting and set it there.

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

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

Підказка

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

Bootstrapping your devel instance

Ймовірно, вам варто скористатися import_demo для створення демонстраційних перекладів і createadmin, щоб створити запис користувача-адміністратора.