Weblate platformunu özelleştirmek

Django ve Python kullanarak zenginleştirebilir ve özelleştirebilirsiniz. Herkesin yararlanabilmesi için değişikliklerinizi yukarı akışa katın. Bu yöntem, bakım maliyetlerinizi azaltır. İç arayüzler değiştirilirken veya kod yeniden düzenlenirken Weblate üzerindeki kod ele alınır.

İpucu

Weblate görünümünü Görünüm özelleştirmesi bölümünden de özelleştirebilirsiniz.

Uyarı

Ne iç arayüzler ne de kalıplar kararlı bir API olarak kabul edilmez. Lütfen her yükseltme için kendi özelleştirmelerinizi gözden geçirin. Arayüzler veya bağlamları önceden bildirilmeksizin değişebilir.

Bir Python modülü oluşturmak

Python ile ilgili değilseniz, temel bilgileri açıklayan ve eğitimlerin bulunduğu ‘Yeni başlayanlar için Python <https://www.python.org/about/gettingstarted/>’_ bölümüne bakmak isteyebilirsiniz.

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.

İpucu

Docker kullanıldığında, Python modüllerini /app/data/python/ (see Docker kapsayıcısı birimleri) içine yerleştirebilirsiniz. Böylece Weblate bunları yükleyebilir. Örneğin bir ayar değiştirme dosyası kullanabilirsiniz.

Daha da iyisi, özelleştirmenizi uygun bir Python paketine dönüştürebilirsiniz:

  1. Paketiniz için bir klasör oluşturun (`weblate_customization’ kullanacağız).

  2. İçinde paketi açıklayan bir setup.py dosyası oluşturun:

    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"],
    )
    
  3. Özelleştirme kodunun bulunduğu Python modülü için bir klasör oluşturun (weblate_customization olarak da adlandırılır).

  4. İçinde bir __init__.py dosyası oluşturarak modülün Python tarafından içe aktarabildiğinden emin olun.

  5. Bu paket artık pip install -e kullanılarak kurulabilir. Ayrıntılı bilgi almak için: Editable installs.

  6. Kurulduktan sonra, modül Weblate yapılandırmasında kullanılabilir (weblate_customization.checks.FooCheck gibi).

Paket yapınız şöyle görünmelidir:

weblate_customization
├── setup.py
└── weblate_customization
    ├── __init__.py
    ├── addons.py
    └── checks.py

<https://github.com/WeblateOrg/customize-example> adresinde bir Weblate özelleştirme örneği bulabilirsiniz. Bu örnek aşağıda açıklanan tüm konuları kapsar.

Özel kalite denetimleri, eklentiler ve kendiliğinden düzeltmeler

Weblate üzerine Özel kendiliğinden düzeltmeler, Kendi denetimlerinizi oluşturmak ya da Eklenti yazma kodunuzu kurmak için:

  1. Dosyaları Weblate özelleştirmesinin bulunduğu Python modülünüze yerleştirin (ayrıntılı bilgi almak için: Bir Python modülü oluşturmak).

  2. Python sınıfının tam yolunu özel ayarlara ekleyin (WEBLATE_ADDONS, CHECK_LIST ya da AUTOFIX_LIST):

# Checks
CHECK_LIST += ("weblate_customization.checks.FooCheck",)

# Autofixes
AUTOFIX_LIST += ("weblate_customization.autofix.FooFixer",)

# Add-ons
WEBLATE_ADDONS += ("weblate_customization.addons.ExamplePreAddon",)