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 virtualenv met bewerkbare bronnen voor Weblate.
Kloon de broncode van Weblate:
git clone https://github.com/WeblateOrg/weblate.git cd weblate
Maak een virtualenv:
uv venv .venv source .venv/bin/activate
Installeer Weblate (u heeft hiervoor enkele systeemafhankelijkheden nodig, bekijk Installeren uit bronnen) en alle afhankelijkheden die nuttig zijn bij ontwikkelen:
uv pip install -e '.[dev]'
Beginnen van een server voor ontwikkeling:
weblate runserver
Afhankelijk van uw configuratie wilt u misschien ook werkers van Celery starten:
./weblate/examples/celery start
Een test uitvoeren (bekijk Lokaal testen voor meer details):
. scripts/test-database.sh pytest
Zie ook
Weblate lokaal in Docker uitvoeren¶
Als u Docker en de docker-compose-plugin hebt geïnstalleerd, heeft u ene 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.
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.
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:

U kunt ervoor kiezen om PyCharm de virtualenv voor u te laten maken, of een reeds bestaande te selecteren:

Vergeet niet de afhankelijkheden te installeren als de interpreter eenmaal is ingesteld: Ofwel met de console (de console uit de IDE zal standaard direct uw virtualenv gebruiken), of met de interface als u een waarschuwing krijgt over ontbrekende afhankelijkheden.
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.