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.

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:

  1. Buat map untuk paket Anda (kita akan menggunakan weblate_customization).

  2. Di dalamnya, buat berkas pyproject.toml untuk 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 = []
    
  3. Buat map untuk modul Python: src/weblate_customization

  4. Di dalamnya, buat berkas __init__.py untuk memastikan Python dapat mengimpor modul tersebut.

  5. Paket ini sekarang dapat dipasang menggunakan uv pip install -e. Informasi selengkapnya dapat ditemukan di Dokumentasi paket yang dapat disunting.

  6. 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.

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:

  1. Tempatkan berkas ke dalam modul Python Anda yang berisi kustomisasi Weblate (lihat Membuat modul Python atau Menyesuaikan kode).

  2. 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",)