Customizing Weblate¶
Amplieu i personalitzeu amb Django i Python. Aporteu els vostres canvis aigües amunt perquè tothom pugui beneficiar-se. Això redueix els costos de manteniment; El codi a Weblate es té en compte quan es canvia les interfícies internes o es refactoritza el codi.
Suggeriment
També podeu personalitzar l’aspecte de Weblate a Appearance customization.
Avís
Ni les interfícies internes ni les plantilles es consideren una API estable. Reviseu les vostres personalitzacions per a cada actualització, les interfícies o la seva semàntica poden canviar sense previ avís.
Vegeu també
Creació d’un mòdul Python¶
Si no esteu familiaritzat amb Python, potser voldreu mirar Python per a principiants, explicant els fonaments bàsics i apuntant a més tutorials.
Per escriure un fitxer amb codi Python personalitzat (anomenat mòdul), es necessita un lloc on emmagatzemar-lo, ja sigui a la ruta del sistema (normalment alguna cosa com /usr/lib/python3.12/site-packages/) o al directori Weblate, que també s’afegeix a la ruta de cerca de l’intèrpret.
Suggeriment
When using Docker, you can place Python modules in
/app/data/python/ (see Volums de contenidors Docker), so they can be loaded
by Weblate, for example from a settings override file.
Millor encara, converteix la teva personalització en un paquet Python adequat:
Creeu una carpeta per al vostre paquet (utilitzarem weblate_customization).
Dins d’ell, creeu un fitxer
pyproject.tomlper descriure el paquet:[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 = []
Creeu una carpeta per al mòdul Python:
src/weblate_customizationDins d’ell, creeu un fitxer
__init__.pyper assegurar-vos que Python pugui importar el mòdul.Aquest paquet ara es pot instal·lar amb uv pip install -e. Trobareu més informació a Documentació de paquets editables.
Un cop instal·lat, el mòdul es pot utilitzar a la configuració de Weblate (per exemple
weblate_customization.checks.FooCheck).
L’estructura del vostre paquet hauria de ser així:
weblate_customization
├── pyproject.toml
└── src
└── weblate_customization
├── __init__.py
├── addons.py
└── checks.py
Podeu trobar un exemple de personalització de Weblate a <https://github.com/WeblateOrg/customize-example>, que cobreix tots els temes que es descriuen a continuació.
Canvi de logotip¶
Creeu una aplicació Django senzilla que contingui els fitxers estàtics que voleu sobreescriure (vegeu Creació d’un mòdul Python).
La marca apareix als fitxers següents:
icons/weblate.svgLogotip que es mostra a la barra de navegació.
logo-*.pngIcones web segons la resolució de la pantalla i el navegador web.
favicon.icoIcona web utilitzada pels navegadors antics.
weblate-*.pngAvatars per a robots o usuaris anònims. Alguns navegadors web els utilitzen com a icones de drecera.
email-logo.pngS’utilitza en els correus electrònics de notificacions.
Afegiu-lo a
INSTALLED_APPS:INSTALLED_APPS = ( # Add your customization as first "weblate_customization", # Weblate apps are here… )
Executeu
weblate collectstatic --noinput, per recopilar fitxers estàtics servits als clients.
Custom quality checks, add-ons, automatic suggestions and auto-fixes¶
Per instal·lar el vostre codi per a Correccions automàtiques personalitzades, Redacció de xecs propis, Traducció automàtica personalitzada o Writing add-on a Weblate:
Col·loqueu els fitxers al vostre mòdul Python que conté la personalització de Weblate (vegeu Creació d’un mòdul Python o Customizing code).
Afegiu el seu camí completament qualificat a la classe Python a la configuració dedicada:
# Checks
CHECK_LIST += ("weblate_customization.checks.FooCheck",)
# Autofixes
AUTOFIX_LIST += ("weblate_customization.autofix.FooFixer",)
# Add-ons
WEBLATE_ADDONS += ("weblate_customization.addons.ExamplePreAddon",)
# Automatic suggestions
WEBLATE_MACHINERY += ("weblate_customization.machinery.SampleTranslation",)