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.

  1. Kloon de broncode van Weblate:

    git clone https://github.com/WeblateOrg/weblate.git
    cd weblate
    
  2. Create a Python environment:

    uv venv .venv
    source .venv/bin/activate
    
  3. 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]'
    
  1. Beginnen van een server voor ontwikkeling:

    weblate runserver
    
  2. Afhankelijk van uw configuratie wilt u misschien ook werkers van Celery starten:

    ./weblate/examples/celery start
    
  3. Een test uitvoeren (bekijk Lokaal testen van Weblate voor meer details):

    . scripts/test-database.sh
    pytest
    

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:

../_images/pycharm-1.png

You can either choose to let PyCharm create the Python environment for you, or select an already existing one:

../_images/pycharm-2.png

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:

../_images/pycharm-3.png

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:

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

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.