Personalizarea Weblate

Extindeți și personalizați folosind Django și Python. Contribuiți la modificările dvs. în amonte, astfel încât toată lumea să poată beneficia. Acest lucru vă reduce costurile de întreținere; codul din Weblate este luat în grijă atunci când modificați interfețele interne sau refactorizați codul.

Atenționare

Nici interfețele interne, nici șabloanele nu sunt considerate o API stabilă. Vă rugăm să vă revizuiți propriile personalizări la fiecare actualizare, interfețele sau semantica acestora se pot modifica fără notificare prealabilă.

Crearea unui modul Python

Dacă nu sunteți familiarizat cu Python, ar fi bine să consultați Python pentru începători, care explică elementele de bază și indică alte tutoriale.

Pentru a scrie un cod Python personalizat (numit modul), este nevoie de un loc de stocare a acestuia, fie în calea sistemului (de obicei, ceva de genul /usr/lib/python3.7/site-packages/), fie în directorul Weblate, care este, de asemenea, adăugat la calea de căutare a interpretorului.

Mai bine, transformați-vă personalizarea într-un pachet Python propriu-zis:

  1. Creați un folder pentru pachetul dumneavoastră (vom folosi weblate_customization).

  2. În cadrul acestuia, creați un fișier setup.py pentru a descrie pachetul:

    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. Creați un folder pentru modulul Python (numit și weblate_customization) pentru codul de personalizare.

  4. În cadrul acestuia, creați un fișier __init__.py pentru a vă asigura că Python poate importa modulul.

  5. Acest pachet poate fi instalat acum folosind pip install -e. Mai multe informații pot fi găsite în Editable installs.

  6. Odată instalat, modulul poate fi utilizat în configurația Weblate (de exemplu weblate_customization.checks.FooCheck).

Structura modulului tău ar trebui să arate astfel:

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

Puteți găsi un exemplu de personalizare a Weblate la <https://github.com/WeblateOrg/customize-example>, care acoperă toate subiectele descrise mai jos.

Verificări personalizate ale calității, add-on-uri și corecții automate

Pentru a vă instala codul pentru Reparații automate personalizate, Întocmirea propriilor cecuri sau Add-on de scriere în Weblate:

  1. Plasați fișierele în modulul Python care conține personalizarea Weblate (a se vedea Crearea unui modul Python).

  2. Adăugați calea sa complet calificată la clasa Python în setările dedicate (WEBLATE_ADDONS, CHECK_LIST sau AUTOFIX_LIST):

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

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

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