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