Începeți să contribuiți cu cod la Weblate¶
Înțelegeți codul sursă Weblate, parcurgând Codul sursă Weblate, Weblate front-end și Interne Weblate.
Pornind de la baza de cod¶
Familiarizați-vă cu baza de cod Weblate, încercând să vă familiarizați cu bug-urile etichetate ca fiind prima problemă bună.
You are welcome to start working on these issues without asking. Just announce that in the issue, so that it’s clear that somebody is working on that issue.
Rularea Weblate la nivel local¶
The most comfortable approach to get started with Weblate development is to follow Instalarea din surse. It will get you a Python environment with editable Weblate sources.
Clonați codul sursă Weblate:
git clone https://github.com/WeblateOrg/weblate.git cd weblate
Install Weblate and all dependencies useful for development:
uv sync --all-extras --dev
Porniți un server de dezvoltare:
uv run weblate runserver
În funcție de configurația dvs., este posibil să doriți, de asemenea, să porniți Celery workers:
uv run ./weblate/examples/celery start
To run tests (see Local testing of Weblate for more details):
. scripts/test-database.sh uv run pytest
Vezi și
Rularea Weblate la nivel local în Docker¶
If you have Docker and the docker-compose-plugin installed, you need an additional tool
called jq which you can install through your favorite package manager. Then, you can
spin up the development environment by simply running:
./rundev.sh
Se va crea o imagine Docker de dezvoltare și se va porni. Weblate rulează pe <http://127.0.0.1:8080/> și vă puteți autentifica ca utilizator admin folosind admin ca parolă. Noua instalare este goală, așa că poate doriți să continuați cu Adăugarea de proiecte și componente de traducere.
Weblate is configured to use maildev container as a e-mail server. The delivered e-mails can be seen at <http://127.0.0.1:1080/>.
The Dockerfile and docker-compose.yml for this are located in the
dev-docker directory. For easier access to the database during development,
the container running PostgreSQL is exposed on port 5433.
Scriptul acceptă și câțiva parametri, pentru a executa teste, rulați-l cu parametrul test și apoi specificați orice parametru test, de exemplu rularea doar a testelor din modulul weblate.machine:
./rundev.sh test --exitfirst weblate/machine
Notă
Aveți grijă ca containerele Docker să fie funcționale înainte de a rula testele. Puteți verifica acest lucru executând comanda docker ps.
Pentru a afișa jurnalele:
./rundev.sh logs
Pentru a opri containerele din fundal, rulați:
./rundev.sh stop
Rularea scriptului fără argumente va re-crea containerul Docker și îl va reporni.
Atenționare
This container is not suitable for production use. Security is sacrificed to make the development easier.
Inițializarea instanței voastre de dezvoltare¶
You might want to use import_demo to create demo translations and
createadmin to make an admin user.
If you have Facturare installed as well, you can use
billing_demo to create a demo billing project.
Codarea Weblate cu PyCharm¶
PyCharm este un IDE cunoscut pentru Python, iată câteva linii directoare pentru a vă ajuta să vă configurați proiectul Weblate în el.
Având în vedere că tocmai ați clonat depozitul GitHub într-un folder, deschideți-l cu PyCharm. Odată ce IDE-ul este deschis, primul pas este să specificați interpretorul pe care doriți să îl utilizați:
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.
Al doilea pas este de a seta informațiile corecte pentru a utiliza Django în mod nativ în PyCharm: Ideea este de a putea declanșa imediat testele unitare în IDE. Pentru aceasta trebuie să specificați calea rădăcină a proiectului Django și calea către setările acestuia:
Aveți grijă, Django project root este rădăcina reală a depozitului, nu subdirectorul Weblate. În ceea ce privește setările, ați putea folosi fișierul weblate/settings_test.py din depozit, dar ați putea să vă creați propriile setări și să le definiți acolo.
Ultimul pas este rularea serverului și plasarea de puncte de întrerupere în cod pentru a putea depana. Acest lucru se face prin crearea unei noi configurații Django Server:
Sugestie
Aveți grijă la proprietatea numită No reload: Aceasta previne reîncărcarea serverului în direct dacă modificați fișiere. Acest lucru permite ca punctele de întrerupere existente în debugger să persiste, în timp ce în mod normal acestea ar fi eliminate la reîncărcarea serverului.