Weblate kodlarına katkıda bulunmak¶
Weblate kaynak kodlarını anlamak için lütfen önce Weblate kaynak kodları, Weblate ön yüzü ve Weblate iç yapısı bölümlerine bakın.
Kod tabanı ile başlamak¶
Weblate kod tabanına alışmak için bazı hatalar arıyorsanız, good first issue olarak etiketlenmiş olanlara bakın.
Bu sorunlar üzerinde sormadan çalışmaya başlayabilirsiniz. Yalnızca çalışmaya başladığınızı duyurun. Böylece herkes birisinin bu sorun üzerinde çalıştığını bilir.
Weblate platformunu yerel olarak çalıştırma¶
Weblate geliştirmeye başlamanın en kolay yolu Kaynaklardan kurulum bölümündeki yönergeyi izlemektir. Böylece, düzenlenebilir Weblate kaynaklarını içeren bir Python ortamı oluşturabilirsiniz.
Weblate kaynak kodlarını kopyalayın:
git clone https://github.com/WeblateOrg/weblate.git cd weblate
Install Weblate and all dependencies useful for development:
uv sync --all-extras --dev
Bir geliştirme sunucusu başlatın:
uv run weblate runserver
Yapılandırmanıza bağlı olarak, Celery işlemlerini de başlatmak isteyebilirsiniz:
uv run ./weblate/examples/celery start
To run tests (see Weblate kurulumunu yerel olarak sınamak for more details):
. scripts/test-database.sh uv run pytest
Ayrıca bakınız
Weblate platformunu Docker üzerinde yerel olarak çalıştırma¶
Docker ve docker-compose-plugin kuruluysa, kullanmayı yeğlediğiniz paket yöneticisi ile kurabileceğiniz jq adında bir ek araca gerek duyacaksınız. Ardından yalnızca şu komutu yürüterek geliştirme ortamını çalıştırabilirsiniz:
./rundev.sh
Geliştirme için bir Docker kalıbı oluşturur ve başlatır. Weblate ile <http://127.0.0.1:8080/> adresinden admin kullanıcı adı ve admin parolası ile oturum açabilirsiniz. Yeni kurulum boştur, bu nedenle Çeviri projelerini ve bileşenleri eklemek ile ilerlemek isteyebilirsiniz.
Weblate, e-posta sunucusu olarak maildev kapsayıcısını kullanmak üzere yapılandırılmıştır. Teslim edilen e-postalar <http://127.0.0.1:1080/> adresinden görülebilir.
Bunun için Dockerfile ve docker-compose.yml, dev-docker klasöründe bulunur. Geliştirme sırasında veri tabanına daha kolay erişmek için PostgreSQL çalıştıran kapsayıcı 5433 bağlantı noktasına açılmıştır.
Betik ayrıca sınamaları yürütmek için bazı parametreleri kabul eder. test parametresiyle çalıştırılır ve ardından herhangi bir test parametresi belirtilir. Örneğin sınamaları yalnızca weblate.machine modülünde çalıştırır:
./rundev.sh test --exitfirst weblate/machine
Not
Sınamaları çalıştırmadan önce Docker kapsayıcılarınızın çalışır durumda olduğundan emin olun. Bunu docker ps komutunu çalıştırarak denetleyebilirsiniz.
Günlükleri görüntülemek için:
./rundev.sh logs
Arka plan kapsayıcılarını durdurmak için şunu çalıştırın:
./rundev.sh stop
Betiği bağımsız değişkenler olmadan çalıştırmak, Docker kapsayıcısını yeniden oluşturur ve yeniden başlatır.
Uyarı
Bu kapsayıcı üretim için uygun değildir. Geliştirmeyi kolaylaştırmak için güvenlikten ödün verilmiştir.
Devel kopyanızı ön yüklemek¶
Deneme çevirileri oluşturmak için import_demo ve yönetici kullanıcı oluşturmak için createadmin komutlarını kullanmak isteyebilirsiniz.
Faturalama kuruluysa, örnek bir faturalama projesi oluşturmak için billing_demo kullanabilirsiniz.
PyCharm ile Weblate kodlamak¶
PyCharm, Python için bilinen bir IDE uygulamasıdır. Weblate projenizi PyCharm içine kurmanıza yardımcı olacak bazı kuralları burada bulabilirsiniz.
GitHub deposunu bir klasöre kopyaladığınızı düşünürsek, PyCharm ile açmanız yeterlidir. IDE açıldıktan sonra, ilk adım kullanmak istediğiniz yorumlayıcıyı belirtmektir:
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.
İkinci adım, PyCharm içinde yerel olarak Django kullanmak için doğru bilgiyi ayarlamaktır: Buradaki fikir, IDE üzerindeki birim sınamalarını hemen tetikleyebilmektir. Bunun için Django projesinin kök yolunu ve ayarlarına giden yolu belirtmeniz gerekir:
Dikkatli olun, Django proje kökü deponun gerçek kök klasörüdür, Weblate alt klasörü değildir. Ayarlar ile ilgili olarak, depodaki weblate/settings_test.py dosyasını kullanabilirsiniz. Bununla birlikte kendi ayarınızı da oluşturarak oradan da ayarlayabilirsiniz.
Son adım, sunucuyu çalıştırmak ve hata ayıklayabilmek için koda kesme noktaları koymaktır. Bunun için, yeni bir Django Server yapılandırması oluşturulur:
İpucu
No reload özelliğine dikkat edin: Dosyaları değiştirirseniz sunucunun canlı olarak yeniden yüklenmesini engeller. Bu durum, var olan hata ayıklayıcı kesme noktalarının, normalde sunucu yeniden yüklendikten sonra yok sayılacakları zaman kalıcı olmasına yol açar.