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¶
The most comfortable approach to get started with Weblate development is to follow Installeren uit bronnen. It will get you a Python environment with editable Weblate sources.
Kloon de broncode van Weblate:
git clone https://github.com/WeblateOrg/weblate.git cd weblate
Create a Python environment:
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 runserverAfhankelijk van uw configuratie wilt u misschien ook werkers van Celery starten:
./weblate/examples/celery startEen test uitvoeren (bekijk Lokaal testen van Weblate 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 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:
You can either choose to let PyCharm create the Python environment for you, or select an already existing one:
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.
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.