Menyesuaikan Weblate¶
Luaskan dan sesuaikan menggunakan Django dan Python. Kontribusikan perubahan Anda di hulu agar semua orang dapat memperoleh manfaatnya. Ini mengurangi biaya pemeliharaan Anda; kode di Weblate ditangani saat mengubah antarmuka internal atau melakukan refaktor kode.
Petunjuk
Anda juga dapat menyesuaikan tampilan Weblate di Penyesuaian tampilan.
Peringatan
Baik antarmuka internal maupun templat tidak dianggap sebagai API yang stabil. Harap tinjau kustomisasi Anda untuk setiap peningkatan, ntarmuka atau semantiknya dapat berubah tanpa pemberitahuan.
Lihat juga
Membuat modul Python¶
Jika Anda tidak familier dengan Python, Anda mungkin ingin membaca Python untuk Pemula, yang menjelaskan dasarnya dan mengarahkan ke tutorial lebih lanjut.
Untuk menulis berkas dengan kode Python khusus (disebut modul), diperlukan tempat untuk menyimpannya, baik di jalur sistem (biasanya seperti /usr/lib/python3.12/site-packages/) atau di direktori Weblate, yang juga ditambahkan ke jalur pencarian interpreter.
Petunjuk
Saat menggunakan Docker, Anda dapat menempatkan modul Python di /app/data/python/ (lihat Volume kontainer Docker), sehingga modul tersebut dapat dimuat oleh Weblate, misalnya dari berkas penimpaan pengaturan.
Lebih baik lagi, ubah penyesuaian Anda menjadi paket Python yang tepat:
Buat map untuk paket Anda (kita akan menggunakan weblate_customization).
Di dalamnya, buat berkas
pyproject.tomluntuk mendeskripsikan paket:[build-system] requires = ["uv_build>=0.8.18,<0.9.0"] build-backend = "uv_build" [project] name = "weblate-customization" version = "0.1.0" description = "Add your description here" requires-python = ">=3.13" dependencies = []
Buat map untuk modul Python:
src/weblate_customizationDi dalamnya, buat berkas
__init__.pyuntuk memastikan Python dapat mengimpor modul tersebut.Paket ini sekarang dapat dipasang menggunakan uv pip install -e. Informasi selengkapnya dapat ditemukan di Dokumentasi paket yang dapat disunting.
Setelah terpasang, modul dapat digunakan dalam konfigurasi Weblate (misalnya
weblate_customization.checks.FooCheck).
Struktur paket Anda akan terlihat seperti ini:
weblate_customization
├── pyproject.toml
└── src
└── weblate_customization
├── __init__.py
├── addons.py
└── checks.py
Anda dapat menemukan contoh penyesuaian Weblate di <https://github.com/WeblateOrg/customize-example>, yang mencakup semua topik yang dijelaskan di bawah ini.
Mengubah logo¶
Buat aplikasi Django sederhana yang berisi berkas statis yang ingin Anda timpa (lihat Membuat modul Python).
Merek muncul pada berkas berikut:
icons/weblate.svgLogo ditampilkan di bilah navigasi.
logo-*.pngIkon web tergantung pada resolusi layar dan peramban web.
favicon.icoIkon web yang digunakan oleh peramban lawas.
weblate-*.pngAvatar untuk bot atau pengguna anonim. Beberapa peramban web menggunakannya sebagai ikon pintasan.
email-logo.pngDigunakan dalam notifikasi surel.
Tambahkan ke
INSTALLED_APPS:INSTALLED_APPS = ( # Add your customization as first "weblate_customization", # Weblate apps are here… )
Jalankan
weblate collectstatic --noinput, untuk mengumpulkan berkas statis yang disajikan kepada klien.
Pemeriksaan kualitas khusus, pengaya, saran otomatis, dan perbaikan otomatis¶
Untuk memasang kode Anda untuk Perbaikan otomatis kustom, Menulis pemeriksaan sendiri, Terjemahan mesin kustom atau Menulis pengaya di Weblate:
Tempatkan berkas ke dalam modul Python Anda yang berisi kustomisasi Weblate (lihat Membuat modul Python atau Menyesuaikan kode).
Tambahkan jalur yang sepenuhnya memenuhi syarat ke kelas Python di pengaturan khusus:
# Checks
CHECK_LIST += ("weblate_customization.checks.FooCheck",)
# Autofixes
AUTOFIX_LIST += ("weblate_customization.autofix.FooFixer",)
# Add-ons
WEBLATE_ADDONS += ("weblate_customization.addons.ExamplePreAddon",)
# Automatic suggestions
WEBLATE_MACHINERY += ("weblate_customization.machinery.SampleTranslation",)