Beginnen met bijdragen van code aan Weblate¶
Begrijp de broncode van Weblate door Weblate broncode, Voorzijde van Weblate en Internen van Weblate te lezen.
Beginnen met de codebasis¶
Maak uzelf bekend met de codebasis van Weblate, door een poging te ondernemen met de problemen die zijn gelabeld good first issue.
U kunt aan deze problemen werken zonder dat te hoeven vragen. Kondig het aan in het issue, zodat het duidelijk is dat iemand aan dat issue werkt.
Weblate lokaal uitvoeren¶
De meest comfortabele benadering om te beginnen met de ontwikkeling van Weblate is door Installeren uit bronnen te volgen. Het geeft u een omgeving voor Python met bewerkbare bronnen voor Weblate.
Kloon de broncode van Weblate:
git clone https://github.com/WeblateOrg/weblate.git cd weblate
Installeer Weblate en alle afhankelijkheden die nuttig zijn voor ontwikkelen:
uv sync --all-extras --dev
Beginnen van een server voor ontwikkeling:
uv run weblate runserver
Afhankelijk van uw configuratie wilt u misschien ook werkers van Celery starten:
uv run ./weblate/examples/celery start
Testen uitvoeren (bekijk Lokaal testen van Weblate voor meer details):
. scripts/test-database.sh uv run pytest
Zie ook
Weblate lokaal in Docker uitvoeren¶
Als u Docker en de docker-compose-plugin hebt geïnstalleerd, heeft u een aanvullend programma nodig, genaamd jq, dat u kunt installeren met uw favoriete pakketbeheerder. Dan kunt u de ontwikkelomgeving activeren door eenvoudigweg uit te voeren:
./rundev.sh
Het zal een Docker image voor ontwikkeling maken en die starten. Weblate wordt uitgevoerd op <http://127.0.0.1:8080/> en u kunt inloggen als de gebruiker admin met admin als het wachtwoord. De nieuw installatie is leeg, dus u wilt waarschijnlijk doorgaan met Vertaalprojecten en onderdelen toevoegen.
Weblate is geconfigureerd om de container maildev als een e-mailserver te gebruiken. De afgeleverde e-mails zijn te zien op <http://127.0.0.1:1080/>.
Het Dockerfile en docker-compose.yml hiervoor zijn geplaatst in de map dev-docker. Voor gemakkelijker toegang tot de database tijdens ontwikkeling wordt de container, die PostgreSQL uitvoert, weergegeven op poort 5433.
Het script accepteert ook enkele parameters, om testen uit te voeren, voer die uit met de parameter test en specificeer dan enkele parameters test , bijvoorbeeld voor het alleen uitvoeren van testen in de module weblate.machine:
./rundev.sh test --exitfirst weblate/machine
Notitie
Zorg ervoor dat uw Docker containers werken en worden uitgevoerd voordat de testen worden uitgevoerd. U kunt dat controleren door de opdracht docker ps uit te voeren.
De logs weergeven:
./rundev.sh logs
Voer, voor het stoppen van de containers op de achtergrond, uit:
./rundev.sh stop
Uitvoeren van het script zonder argumenten zal de Docker container opnieuw maken die herstarten.
Waarschuwing
Deze container is niet geschikt voor productie. Beveiliging is opgeofferd om ontwikkeling gemakkelijker te maken.
Bootstrappen van uw instantie voor ontwikkelen¶
U wilt misschien import_demo gebruiken om demo-vertalingen te maken en createadmin om een gebruiker admin te maken.
Als u ook Facturatie hebt geïnstalleerd, kunt u billing_demo gebruiken om een voorbeeld factuurproject te maken.
Coderen van Weblate met PyCharm¶
PyCharm is een bekende IDE voor Python, hier zijn enkele richtlijnen om u te helpen uw project voor Weblate daarin op te stellen.
Ervan uitgaande dat u zojuist de opslagruimte van GitHub hebt gekloond naar een map, open die dan met PyCharm. Als de IDE eenmaal is geopend, is de eerste stap om de interpreter die u wilt gaan gebruiken te specificeren:
Selecteer de omgeving .venv , gemaakt door uv sync --all-extras --dev om overeen te komen met de opstelling voor de opdrachtregel van de ontwikkeling. U kunt ook PyCharm een Python-omgeving voor u laten maken, maar de voorkeur gaat uit naar de uv-beheerde omgeving:
Vergeet niet de afhankelijkheden te installeren als de interpreter is ingesteld. Voer, bij het gebruiken van de uv-beheerde voorkeursomgeving, uv sync --all-extras --dev vanuit de console uit.
De tweede stap is om de juiste informatie in te stellen om eigen Django te gebruiken binnen PyCharm: Het idee is om in staat te zijn om onmiddellijk de eenheidstesten in de IDE te activeren. Daarvoor moet u het bronpad voor het project van Django specificeren en het pad naar zijn instellingen:
Wees voorzichtig, de Django project root is de feitelijke bron van de opslagruimte, niet de submap van Weblate. Voor de instellingen zou u het bestand weblate/settings_test.py uit de opslagruimte kunnen gebruiken, maar u zou uw eigen opstelling kunnen maken en die daar instellen.
De laatste stap is om de server uit te voeren en breekpunten in de code in te stellen om het te kunnen debuggen. Dat wordt gedaan door een nieuwe configuratie Django Server te maken:
Hint
Wees voorzichtig met de eigenschap, genaamd No reload: Het voorkomt dat de server live opnieuw wordt geladen als u bestanden aanpast. Dit stelt de bestaande breekpunten voor debuggen in staat behouden te blijven, terwijl zij normaal gesproken zouden worden genegeerd bij het opnieuw laden van de server.