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 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
pyproject.tomldosyası oluşturun:[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 = []
Python modülü için bir klasör oluşturun
src/weblate_customizationİçinde bir
__init__.pydosyası oluşturarak modülün Python tarafından içe aktarabildiğinden emin olun.Bu paket artık uv pip install -e kullanılarak kurulabilir. Ayrıntılı bilgi almak için: Düzenlenebilir paketler belgeleri.
Kurulduktan sonra, modül Weblate yapılandırmasında kullanılabilir (
weblate_customization.checks.FooCheckgibi).
Paket yapınız şöyle görünmelidir:
weblate_customization
├── pyproject.toml
└── src
└── 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.svgGezinme çubuğunda görüntülenecek logo.
logo-*.pngEkran çözünürlüğüne ve tarayıcıya bağlı olarak internet simgeleri.
favicon.icoEski tarayıcılar tarafından kullanılan internet simgesi.
weblate-*.pngBotlar ve anonim kullanıcılar için avatarlar. Bazı tarayıcılar bunları kısayol simgeleri olarak kullanır.
email-logo.pngBildirim e-postalarında kullanılır.
INSTALLED_APPSiç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 --noinputkomutunu yürütün.
Özel kalite denetimleri, eklentiler, kendiliğinden öneriler ve kendiliğinden düzeltmeler¶
Weblate üzerine Özel kendiliğinden düzeltmeler, Kendi denetimlerinizi oluşturmak, Özel makine çevirisi 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 veya Kodu özelleştirmek).
Özel ayarlardaki Python sınıfına tam yolunu ekleyin:
# 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",)