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.

Sugestie

You can also customize Weblate look in Appearance customization.

Atenționare

Neither internal interfaces nor templates are considered a stable API. Please review your customizations for every upgrade, the interfaces or their semantics might change without notice.

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.

To write a file with custom Python code (called a module), a place to store it is needed, either in the system path (usually something like /usr/lib/python3.12/site-packages/) or in the Weblate directory, which is also added to the interpreter search path.

Sugestie

When using Docker, you can place Python modules in /app/data/python/ (see Volumele containerelor Docker), so they can be loaded by Weblate, for example from a settings override file.

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

Your package structure should look like this:

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