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.

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.

Özel Python kodu (modül olarak adlandırılır) içeren bir dosya yazmak için, sistem yolunda (genellikle /usr/lib/python3.9/site-packages/ gibi bir şey) veya yorumlayıcı arama yoluna da eklenen Weblate klasöründe bir depolama alanına gerek duyulur.

3.8-5 sürümünde geldi: 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. 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 (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",)