Mulai berkontribusi kode ke Weblate¶
Pahami kode sumber Weblate dengan membaca Kode sumber Weblate, Frontend Weblate dan Internal Weblate.
Mulai dengan basis kode¶
Biasakan diri Anda dengan basis kode Weblate, dengan mencoba mengatasi kerusakan yang diberi label isu pertama yang bagus.
Silakan mulai mengerjakan isu ini tanpa perlu bertanya. Cukup umumkan di dalam isu, agar jelas bahwa ada yang sedang mengerjakan isu tersebut.
Menjalankan Weblate secara lokal¶
Cara paling mudah untuk memulai pengembangan Weblate adalah dengan mengikuti Memasang dari sumber. Itu akan memberi Anda lingkungan Python dengan kode sumber Weblate yang dapat disunting.
Kloning kode sumber Weblate:
git clone https://github.com/WeblateOrg/weblate.git cd weblate
Install Weblate and all dependencies useful for development:
uv sync --all-extras --dev
Mulai server pengembangan:
uv run weblate runserver
Tergantung pada konfigurasi Anda, mungkin Anda juga ingin mulai menggunakan pekerja Celery:
uv run ./weblate/examples/celery start
To run tests (see Pengujian lokal Weblate for more details):
. scripts/test-database.sh uv run pytest
Lihat juga
Menjalankan Weblate secara lokal di Docker¶
Jika Anda sudah memasang Docker dan docker-compose-plugin, Anda memerlukan alat tambahan bernama jq yang dapat dipasang melalui pengelola paket favorit Anda. Kemudian, Anda dapat menjalankan lingkungan pengembangan dengan menjalankan:
./rundev.sh
Ini akan membuat gambar Docker pengembangan dan memulainya. Weblate berjalan di <http://127.0.0.1:8080/> dan Anda dapat masuk sebagai pengguna admin dengan kata sandi admin. Pemasangan baru ini kosong, jadi Anda mungkin ingin melanjutkan dengan Menambahkan proyek dan komponen terjemahan.
Weblate dikonfigurasikan untuk menggunakan kontainer maildev sebagai server surel. Surel yang terkirim dapat dilihat di <http://127.0.0.1:1080/>.
Dockerfile dan docker-compose.yml untuk ini terletak di direktori dev-docker. Untuk memudahkan akses ke basis data selama pengembangan, kontainer yang menjalankan PostgreSQL diekspos pada port 5433.
Skrip juga menerima beberapa parameter, untuk menjalankan pengujian, jalankan dengan parameter test lalu tentukan parameter test apa pun, misalnya jalankan hanya pengujian dalam modul weblate.machine:
./rundev.sh test --exitfirst weblate/machine
Catatan
Pastikan kontainer Docker Anda sudah aktif dan berjalan sebelum menjalankan pengujian. Anda dapat memeriksanya dengan menjalankan perintah docker ps.
Untuk menampilkan catatan:
./rundev.sh logs
Untuk menghentikan kontainer latar belakang, jalankan:
./rundev.sh stop
Menjalankan skrip tanpa argumen akan membuat ulang kontainer Docker dan memulai ulangnya.
Peringatan
Kontainer ini tidak cocok untuk keperluan produksi. Keamanan dikorbankan demi kemudahan pengembangan.
Bootstrapping instansi pengembangan Anda¶
Anda mungkin ingin menggunakan import_demo untuk membuat terjemahan demo dan createadmin untuk membuat pengguna admin.
Jika Anda juga telah memasang Penagihan, Anda dapat menggunakan billing_demo untuk membuat proyek tagihan demo.
Mengkode Weblate dengan PyCharm¶
PyCharm adalah IDE yang terkenal untuk Python, berikut adalah beberapa panduan untuk membantu Anda menyiapkan proyek Weblate di dalamnya.
Mengingat Anda baru saja mengkloning repositori GitHub ke sebuah map, buka saja dengan PyCharm. Setelah IDE terbuka, langkah pertama adalah mespesifikasikan interpreter yang ingin Anda gunakan:
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.
Langkah kedua adalah mengatur informasi yang tepat untuk menggunakan Django secara asli di dalam PyCharm: Tujuannya adalah agar pengujian unit dapat langsung dipicu di IDE. Untuk itu, Anda perlu menentukan jalur root proyek Django dan jalur ke pengaturannya:
Hati-hati, root proyek Django adalah root repositori yang sebenarnya, bukan subdirektori Weblate. Mengenai pengaturannya, Anda bisa menggunakan weblate/settings_test.py dari repositori, tetapi Anda bisa membuat pengaturan sendiri dan mengaturnya di sana.
Langkah terakhir adalah menjalankan server dan menambahkan breakpoint ke dalam kode agar dapat diawakutu. Ini dilakukan dengan membuat konfigurasi Django Server baru:
Petunjuk
Hati-hati dengan properti bernama Tidak muat ulang: Properti ini mencegah server dimuat ulang secara langsung jika Anda memodifikasikan berkas. Hal ini memungkinkan breakpoint pengawakutu yang ada tetap ada, padahal biasanya akan dihapus saat server dimuat ulang.