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ă.
Vezi și
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.9/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:
Creați un folder pentru pachetul dumneavoastră (vom folosi weblate_customization).
Î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"], )
Creați un folder pentru modulul Python (numit și
weblate_customization
) pentru codul de personalizare.În cadrul acestuia, creați un fișier
__init__.py
pentru a vă asigura că Python poate importa modulul.Acest pachet poate fi instalat acum folosind pip install -e. Mai multe informații pot fi găsite în Editable installs.
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.
Schimbarea logo-ului#
Creați o aplicație Django simplă care să conțină fișierele statice pe care doriți să le suprascrieți (a se vedea Crearea unui modul Python).
Brandingul apare în următoarele fișiere:
icons/weblate.svg
Logo afișat în bara de navigare.
logo-*.png
Pictogramele web depind de rezoluția ecranului și de browserul web.
favicon.ico
Pictograma web utilizată de browserele vechi.
weblate-*.png
Avataruri pentru roboți sau utilizatori anonimi. Unele browsere web le folosesc ca pictograme de scurtătură.
email-logo.png
Folosit în e-mailurile de notificare.
Adăugați-l la
INSTALLED_APPS
:INSTALLED_APPS = ( # Add your customization as first "weblate_customization", # Weblate apps are here… )
Rulați
weblate collectstatic --noinput
, pentru a colecta fișierele statice servite clienților.
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:
Plasați fișierele în modulul Python care conține personalizarea Weblate (a se vedea Crearea unui modul Python).
Adăugați calea sa complet calificată la clasa Python în setările dedicate (
WEBLATE_ADDONS
,CHECK_LIST
sauAUTOFIX_LIST
):
# Checks
CHECK_LIST += ("weblate_customization.checks.FooCheck",)
# Autofixes
AUTOFIX_LIST += ("weblate_customization.autofix.FooFixer",)
# Add-ons
WEBLATE_ADDONS += ("weblate_customization.addons.ExamplePreAddon",)