A Weblate testreszabása

A Weblate bővíthető és testreszabható Django és Python segítségével. A módosítások forrásba történő visszajuttatásával mindenki számára előnyös lehetőségeket teremthet, valamint csökkentheti saját karbantartási költségeit. A Weblate kódját aktívan gondozzák, így a belső interfészek változása vagy a kód átalakítása során a testreszabott megoldások is naprakészek maradhatnak.

Tipp

A Weblate megjelenése is testreszabható a Megjelenés testreszabása oldalon keresztül.

Figyelem

Fontos megjegyezni, hogy sem a belső interfészek, sem a sablonok nem tekinthetők stabil API-nak. Érdemes minden frissítés után átvizsgálni a testreszabásokat, mivel az interfészek vagy azok működése értesítés nélkül is változhat.

Python modul létrehozása

Amennyiben nem ismeri a Pythont, érdemes először megismerkedni az alapokkal, például a Python kezdőknek útmutató segítségével, amely további oktatóanyagokat is ajánl.

Egyedi Python kód (modul) írásához szükséges egy hely, ahol ezt tárolni tudja – például a rendszer elérési útvonalán (általában valami hasonló: /usr/lib/python3.12/site-packages/) vagy a Weblate könyvtárában, amely szintén hozzá van adva az értelmező keresési útvonalához.

Tipp

Docker használata esetén Python modulokat a /app/data/python/ könyvtárba is helyezhet (lásd: Docker-konténer kötetek), így ezek betölthetők a Weblate által, például egy beállítás felülírási fájl segítségével.

Még jobb megoldás, ha a testreszabását egy megfelelő Python csomag formájában készíti el:

  1. Hozzon létre egy mappát a csomag számára (például weblate_customization néven).

  2. Ebben a mappában hozzon létre egy setup.py fájlt a csomag leírására:

    from setuptools import setup
    
    setup(
        name="weblate_customization",
        version="0.0.1",
        author="Your name",
        author_email="yourname@example.com",
        description="Sample Custom check for Weblate.",
        license="GPLv3+",
        keywords="Weblate check example",
        packages=["weblate_customization"],
    )
    
  3. A testreszabási kódok számára hozzon létre egy mappát (szintén weblate_customization néven).

  4. Ebben a mappában hozzon létre egy __init__.py fájlt, hogy a Python importálni tudja a modult.

  5. Az így létrehozott csomag pip install -e paranccsal telepíthető. Erről bővebb információ a Editable installs oldalon található.

  6. Miután telepítette, a modult már használhatja a Weblate konfigurációjában (például: weblate_customization.checks.FooCheck).

A csomagstruktúrája a így kell, hogy kinézzen:

weblate_customization
├── setup.py
└── weblate_customization
    ├── __init__.py
    ├── addons.py
    └── checks.py

A Weblate testreszabására egy példát talál a következő címen: <https://github.com/WeblateOrg/customize-example>, amely az alábbi témákat is bemutatja.

Egyedi minőség-ellenőrzések, kiegészítők és automatikus javítások

Ha saját kódot szeretne telepíteni Egyéni automatikus javítások, Egyedi ellenőrzések írása vagy Kiegészítő írása céljára a Weblate-ben:

  1. Helyezze el a fájlokat a Weblate testreszabására létrehozott Python modulban (lásd: Python modul létrehozása).

  2. Adja meg az osztály teljesen kvalifikált útvonalát a megfelelő beállításokban (WEBLATE_ADDONS, CHECK_LIST vagy AUTOFIX_LIST):

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

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

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