Weblate platformunu özelleştirmek
Extend and customize using Django and Python. Contribute your changes upstream so that everybody can benefit. This reduces your maintenance costs; code in Weblate is taken care of when changing internal interfaces or refactoring the code.
Uyarı
Neither internal interfaces nor templates are considered a stable API. Please review your own customizations for every upgrade, the interfaces or their semantics might change without notice.
Ayrıca bakınız
Bir Python modülü oluşturmak
If you are not familiar with Python, you might want to look into Python For Beginners, explaining the basics and pointing to further tutorials.
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.
3.8-5 sürümünde geldi: When using Docker, you can place Python modules in
/app/data/python/
(see Docker kapsayıcı birimleri), so they can be loaded
by Weblate, for example from a settings override file.
Better yet, turn your customization into a proper Python package:
Create a folder for your package (we will use weblate_customization).
Within it, create a
setup.py
file to describe the package: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"], )
Create a folder for the Python module (also called
weblate_customization
) for the customization code.Within it, create a
__init__.py
file to make sure Python can import the module.This package can now be installed using pip install -e. More info to be found in Editable installs.
Once installed, the module can be used in the Weblate configuration (for example
weblate_customization.checks.FooCheck
).
Your package structure should look like this:
weblate_customization
├── setup.py
└── weblate_customization
├── __init__.py
├── addons.py
└── checks.py
You can find an example of customizing Weblate at <https://github.com/WeblateOrg/customize-example>, it covers all the topics described below.
Changing the logo
Create a simple Django app containing the static files you want to overwrite (see Bir Python modülü oluşturmak).
Branding appears in the following files:
icons/weblate.svg
Gezinme çubuğunda görüntülenecek logo.
logo-*.png
Ekran çözünürlüğüne ve web tarayıcısına bağlı olarak web simgeleri.
favicon.ico
Eski tarayıcılar tarafından kullanılan web simgesi.
weblate-*.png
Botlar ve anonim kullanıcılar için avatarlar. Bazı web tarayıcıları bunları kısayol simgeleri olarak kullanır.
email-logo.png
Bildirim e-postalarında kullanılır.
INSTALLED_APPS
içine ekleyin:INSTALLED_APPS = ( # Add your customization as first "weblate_customization", # Weblate apps are here… )
İstemcilere sunuculacak durağan dosyaları derlemek için
weblate collectstatic --noinput
komutunu yürütün.
Özel kalite denetimleri, eklentiler ve kendiliğinden düzeltmeler
To install your code for Özel kendiliğinden düzeltmeler, Kendi denetimlerinizi oluşturmak or Eklenti yazma in Weblate:
Place the files into your Python module containing the Weblate customization (see Bir Python modülü oluşturmak).
Add its fully-qualified path to the Python class in the dedicated settings (
WEBLATE_ADDONS
,CHECK_LIST
orAUTOFIX_LIST
):
# Checks
CHECK_LIST += ("weblate_customization.checks.FooCheck",)
# Autofixes
AUTOFIX_LIST += ("weblate_customization.autofix.FooFixer",)
# Add-ons
WEBLATE_ADDONS += ("weblate_customization.addons.ExamplePreAddon",)