Prispôsobenie Weblate¶
Rozširujte a prispôsobujte pomocou Django a Pythonu. Poskytujte svoje zmeny upstream, aby z nich mali prospech všetci. Tým sa znižujú náklady na údržbu; o kód vo Weblate sa stará pri zmene interných rozhraní alebo refaktorovaní kódu.
Rada
Vzhľad Weblate môžete tiež prispôsobiť v Prispôsobenie vzhľadu.
Varovanie
Ani interné rozhrania, ani šablóny nie sú považované za stabilné API. Prosím, skontrolujte svoje prispôsobenia pri každej aktualizácii, rozhrania alebo ich sémantika sa môžu zmeniť bez upozornenia.
Viď aj
Vytvorenie modulu Python¶
Ak nie ste oboznámení s Pythonom, môžete sa pozrieť na Python pre začiatočníkov, ktorý vysvetľuje základy a odkazuje na ďalšie tutoriály.
Na napísanie súboru s vlastným kódom Python (nazvaným modul) je potrebné miesto na jeho uloženie, buď v systémovej ceste (zvyčajne niečo ako /usr/lib/python3.12/site-packages/) alebo v adresári Weblate, ktorý je tiež pridaný do vyhľadávacej cesty interpretov.
Rada
Pri používaní Docker môžete umiestniť moduly Python do /app/data/python/ (pozri Zväzky Docker kontajnera), aby ich mohlo načítať Weblate, napríklad z súboru na prepísanie nastavení.
Ešte lepšie, premeňte svoje prispôsobenie na riadny balík Python:
Vytvorte priečinok pre váš balík (použijeme weblate_customization).
V ňom vytvorte súbor
pyproject.tomlna opis balíka:[build-system] requires = ["uv_build>=0.8.18,<0.9.0"] build-backend = "uv_build" [project] name = "weblate-customization" version = "0.1.0" description = "Add your description here" requires-python = ">=3.13" dependencies = []
Vytvorte priečinok pre modul Python:
src/weblate_customizationV ňom vytvorte súbor
__init__.py, aby sa zabezpečilo, že Python môže importovať modul.Tento balík je teraz možné nainštalovať pomocou uv pip install -e. Viac informácií nájdete v Dokumentácii k editovateľným balíkom.
Po inštalácii je možné modul použiť v konfigurácii Weblate (napríklad
weblate_customization.checks.FooCheck).
Štruktúra vášho balíka by mala vyzerať takto:
weblate_customization
├── pyproject.toml
└── src
└── weblate_customization
├── __init__.py
├── addons.py
└── checks.py
Príklad prispôsobenia Weblate nájdete na <https://github.com/WeblateOrg/customize-example>, pokrýva všetky témy opísané nižšie.
Zmena loga¶
Vytvorte jednoduchú aplikáciu Django obsahujúcu statické súbory, ktoré chcete prepísať (pozri Vytvorenie modulu Python).
Branding sa objavuje v nasledujúcich súboroch:
icons/weblate.svgLogo zobrazené v navigačnom paneli.
logo-*.pngWebové ikony v závislosti od rozlíšenia obrazovky a webového prehliadača.
favicon.icoWebová ikona používaná staršími prehliadačmi.
weblate-*.pngAvatary pre botov alebo anonymných používateľov. Niektoré webové prehliadače ich používajú ako ikony skratiek.
email-logo.pngPoužíva sa v notifikačných e-mailoch.
Pridajte ju do
INSTALLED_APPS:INSTALLED_APPS = ( # Add your customization as first "weblate_customization", # Weblate apps are here… )
Spustite
weblate collectstatic --noinputna zhromaždenie statických súborov poskytovaných klientom.
Custom quality checks, add-ons, translation services and auto-fixes¶
Na inštaláciu vášho kódu pre Vlastné automatické opravy, Písanie vlastných kontrol, Vlastný strojový preklad alebo Písanie doplnku vo Weblate:
Umiestnite súbory do vášho modulu Python obsahujúceho prispôsobenie Weblate (pozri Vytvorenie modulu Python alebo Prispôsobovanie kódu).
Pridajte jeho plne kvalifikovanú cestu k triede Python do vyhradených nastavení:
# Checks
CHECK_LIST += ("weblate_customization.checks.FooCheck",)
# Autofixes
AUTOFIX_LIST += ("weblate_customization.autofix.FooFixer",)
# Add-ons
WEBLATE_ADDONS += ("weblate_customization.addons.ExamplePreAddon",)
# Translation services
WEBLATE_MACHINERY += ("weblate_customization.machinery.SampleTranslation",)