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.
Ayrıca bakınız
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.12/site-packages/
gibi bir şey) veya yorumlayıcı arama yoluna da eklenen Weblate klasöründe bir depolama alanına gerek duyulur.
İ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:
Paketiniz için bir klasör oluşturun (`weblate_customization’ kullanacağız).
İç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"], )
Özelleştirme kodunun bulunduğu Python modülü için bir klasör oluşturun (
weblate_customization
olarak da adlandırılır).İçinde bir
__init__.py
dosyası oluşturarak modülün Python tarafından içe aktarabildiğinden emin olun.Bu paket artık pip install -e kullanılarak kurulabilir. Ayrıntılı bilgi almak için: Editable installs.
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.
Logoyu değiştirmek¶
Üzerine yazmak istediğiniz durağan dosyaların bulunduğu basit bir Django uygulaması oluşturun (ayrıntılı bilgi almak için: Bir Python modülü oluşturmak).
Marka şu dosyalarda bulunur:
icons/weblate.svg
Gezinme çubuğunda görüntülenecek logo.
logo-*.png
Ekran çözünürlüğüne ve tarayıcıya bağlı olarak internet simgeleri.
favicon.ico
Eski tarayıcılar tarafından kullanılan internet simgesi.
weblate-*.png
Botlar ve anonim kullanıcılar için avatarlar. Bazı 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¶
Weblate üzerine Özel kendiliğinden düzeltmeler, Kendi denetimlerinizi oluşturmak ya da Eklenti yazma kodunuzu kurmak için:
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).
Python sınıfının tam yolunu özel ayarlara ekleyin (
WEBLATE_ADDONS
,CHECK_LIST
ya daAUTOFIX_LIST
):
# Checks
CHECK_LIST += ("weblate_customization.checks.FooCheck",)
# Autofixes
AUTOFIX_LIST += ("weblate_customization.autofix.FooFixer",)
# Add-ons
WEBLATE_ADDONS += ("weblate_customization.addons.ExamplePreAddon",)