Prispôsobenie Weblate

Rozširujte a prispôsobujte pomocou Django a Pythonu. Poskytujte svoje zmeny upstream, aby z nich mali prospech všetci. Tým sa znižujú náklady na údržbu; o kód vo Weblate sa stará pri zmene interných rozhraní alebo refaktorovaní kódu.

Rada

Vzhľad Weblate môžete tiež prispôsobiť v Prispôsobenie vzhľadu.

Varovanie

Ani interné rozhrania, ani šablóny nie sú považované za stabilné API. Prosím, skontrolujte svoje prispôsobenia pri každej aktualizácii, rozhrania alebo ich sémantika sa môžu zmeniť bez upozornenia.

Vytvorenie modulu Python

Ak nie ste oboznámení s Pythonom, môžete sa pozrieť na Python pre začiatočníkov, ktorý vysvetľuje základy a odkazuje na ďalšie tutoriály.

Na napísanie súboru s vlastným kódom Python (nazvaným modul) je potrebné miesto na jeho uloženie, buď v systémovej ceste (zvyčajne niečo ako /usr/lib/python3.12/site-packages/) alebo v adresári Weblate, ktorý je tiež pridaný do vyhľadávacej cesty interpretov.

Rada

Pri používaní Docker môžete umiestniť moduly Python do /app/data/python/ (pozri Zväzky Docker kontajnera), aby ich mohlo načítať Weblate, napríklad z súboru na prepísanie nastavení.

Ešte lepšie, premeňte svoje prispôsobenie na riadny balík Python:

  1. Vytvorte priečinok pre váš balík (použijeme weblate_customization).

  2. V ňom vytvorte súbor pyproject.toml na opis balíka:

    [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. Vytvorte priečinok pre modul Python: src/weblate_customization

  4. V ňom vytvorte súbor __init__.py, aby sa zabezpečilo, že Python môže importovať modul.

  5. Tento balík je teraz možné nainštalovať pomocou uv pip install -e. Viac informácií nájdete v Dokumentácii k editovateľným balíkom.

  6. Po inštalácii je možné modul použiť v konfigurácii Weblate (napríklad weblate_customization.checks.FooCheck).

Štruktúra vášho balíka by mala vyzerať takto:

weblate_customization
├── pyproject.toml
└── src
    └── weblate_customization
        ├── __init__.py
        ├── addons.py
        └── checks.py

Príklad prispôsobenia Weblate nájdete na <https://github.com/WeblateOrg/customize-example>, pokrýva všetky témy opísané nižšie.

Custom quality checks, add-ons, translation services and auto-fixes

Na inštaláciu vášho kódu pre Vlastné automatické opravy, Písanie vlastných kontrol, Vlastný strojový preklad alebo Písanie doplnku vo Weblate:

  1. Umiestnite súbory do vášho modulu Python obsahujúceho prispôsobenie Weblate (pozri Vytvorenie modulu Python alebo Prispôsobovanie kódu).

  2. Pridajte jeho plne kvalifikovanú cestu k triede Python do vyhradených nastavení:

# Checks
CHECK_LIST += ("weblate_customization.checks.FooCheck",)

# Autofixes
AUTOFIX_LIST += ("weblate_customization.autofix.FooFixer",)

# Add-ons
WEBLATE_ADDONS += ("weblate_customization.addons.ExamplePreAddon",)

# Translation services
WEBLATE_MACHINERY += ("weblate_customization.machinery.SampleTranslation",)