Eklentiler¶
Eklentiler, çeviri iş akışını özelleştirmesi ve kendiliğinden yapılması için yöntemler sağlar. Yöneticiler, her bir çeviri bileşenine İşlemler ↓ Eklentiler menüsünden eklentiler ekleyip yönetebilir. Eklentiler Yönetim arayüzü bölümünden de site genelinde kurulabilir.
İpucu
Eklentileri API, DEFAULT_ADDONS ya da install_addon kullanarak da yapılandırabilirsiniz.
Eklentileri tetikleyen olaylar¶
Eklenti kurulumu¶
Eklenti kurulurken tetiklenir.
Bileşen güncellemesi¶
Bir bileşende aşağıdaki gibi bir değişiklik olduğunda tetiklenir:
Depodaki dizgeler değiştirildiğinde.
Bir dizge eklendiğinde.
Yeni bir çeviri eklendi.
Günlük¶
Günlük olarak tetiklenir, ancak eklentiler genellikle BACKGROUND_TASKS seçeneğine bağlı olarak günlük yükü bileşenler arasında paylaştırır.
Değişiklik etkinliği¶
Bir değişiklik etkinliğinin kaydedilmesinden sonra tetiklenir.
Depo ekleme sonrası¶
Yeni çeviri eklendikten ve işlendikten hemen sonra tetiklenir.
Depo işleme sonrası¶
Değişiklikler işlendikten hemen sonra tetiklenir.
Depo itme sonrası¶
Depo yukarı akışa itildikten hemen sonra tetiklenir.
Depo güncelleme sonrası¶
Yukarı akış deposundan yeni değişiklikler her çekildiğinde tetiklenir.
Depo işleme öncesi¶
Değişiklikler işlenmeden hemen önce tetiklenir.
Depo itme öncesi¶
Depo yukarı akışa itilmeden hemen önce tetiklenir.
Depo güncelleme öncesi¶
Deponun güncellenmesi denenmeden hemen önce tetiklenir.
Birim kaydetme sonrası¶
Dizgenin kaydedilmesinden hemen sonra tetiklenir.
Birim eşitleme sonrası¶
Dizgenin sürüm denetimi sistemi ile eşitlenmesinden sonra tetiklenir.
Birim oluşturma öncesi¶
Yeni oluşturulan dizge kaydedildikten hemen sonra tetiklenir.
Hazır eklentiler¶
Kendiliğinden çeviri¶
- Eklenti kimliği:
weblate.autotranslate.autotranslate- Yapılandırma:
modeKendiliğinden çeviri kipi
Kullanılabilecek seçenekler:¶ suggestÖneri olarak ekle
translateÇeviri olarak ekle
fuzzy“Düzenlenmesi gerekli” olarak ekle
qSorgu
Lütfen tüm dizgeleri çevirdiğinizde var olan tüm çevirileri yok sayılacağını unutmayın.
auto_sourceKendiliğinden yapılmış çevirilerin kaynağı
Kullanılabilecek seçenekler:¶ othersDiğer çeviri bileşenleri
mtMakine çevirisi
componentBileşen
Kaynak olarak kullanılacak bir bileşenin kısaltmasını yazın. Geçerli projedeki tüm bileşenlerin kullanılması için boş bırakın.
enginesMakine çevirisi hizmetleri
thresholdSkor eşiği
- Tetikleyiciler:
Eklenti kurulumu, Bileşen güncellemesi, Günlük, Değişiklik etkinliği
Makine çevirisini ya da diğer bileşenleri kullanarak dizgeleri kendiliğinden çevirir.
JavaScript yerelleştirme CDN¶
Added in version 4.2.
- Eklenti kimliği:
weblate.cdn.cdnjs- Yapılandırma:
thresholdÇeviri eşiği
Çevirinin katılması için ulaşılması gereken çevrilmiş dizge yüzdesi.
css_selectorCSS seçici
Yerelleştirilebilir ögeleri algılamak için CSS seçici.
cookie_nameDil tanımlama bilgisinin adı
Dil seçiminin kaydedildiği tanımlama bilgisinin adı.
filesDizgeleri HTML dosyalarından ayıklama
Geçerli depoda ya da uzak adreslerde çevrilebilir dizgeler için işlenecek dosya adlarının listesi.
- Tetikleyiciler:
Eklenti kurulumu, Günlük, Depo işleme sonrası, Depo güncelleme sonrası
JavaScript ya da HTML yerelleştirmesinde kullanılmak üzere içerik dağıtım ağına çevirileri yayınlar.
Durağan HTML sayfalarını yerelleştirmek veya JavaScript kodunda yerelleştirmeyi yüklemek için kullanılabilir.
Bileşeniniz için, bunları yerelleştirmek amacıyla HTML sayfalarına ekleyebileceğiniz benzersiz bir adres oluşturur. Ayrıntılı bilgi almak için: Weblate içerik aktarım ağını kullanarak HTML ve JavaScript çevirmek.
Not
Bu eklenti için, Weblate sunucusunda ek yapılandırma gerekir. LOCALIZE_CDN_PATH, oluşturulan dosyaların nereye yazılacağını (bir dosya sisteminde) ayarlar ve LOCALIZE_CDN_URL, bunların nereden sunulacağını (adres) belirler. Dosyalar Weblate tarafından sunulmaz ve dışarıdan ayarlanması gerekir (genellikle bir CDN içerik dağıtımı ağı hizmeti kullanılarak).
Bu eklenti Hosted Weblate üzerinde yapılandırılmıştır ve dosyaları https://weblate-cdn.com/ adresinden sunar.
Boş dizgeleri silme¶
Added in version 4.4.
- Eklenti kimliği:
weblate.cleanup.blank- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
Eklenti kurulumu, Depo işleme sonrası, Depo güncelleme sonrası
Çeviri dosyalarından çevirisi olmayan dizgeleri kaldırır.
Çeviri dosyalarında boş dizgelerin görünmemesi için bunu kullanın (yerelleştirme kitaplığınızın kaynak dizgeyi kullanmak yerine boş dizgeler görüntülemesi gibi durumlarda).
Çeviri dosyalarını temizleme¶
- Eklenti kimliği:
weblate.cleanup.generic- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
Eklenti kurulumu, Depo güncelleme sonrası, Depo işleme öncesi
Tüm çeviri dosyalarını tek dilli temel dosyayla eşleşecek şekilde günceller. Bu işlem çoğu dosya biçiminde temel dosyada artık bulunmayan eski çeviri anahtarlarını kaldırır.
Çeviri dizgelerinin yanı sıra ek içerik barındıran biçimler için (HTML dosyaları, Windows RC dosyaları veya OpenDocument biçimi gibi) bu işlem çeviri dosyasını temel dosyayla eşitler.
Eksik dilleri ekleme¶
- Eklenti kimliği:
weblate.consistency.languages- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
Proje içindeki tüm bileşenler için tutarlı bir dil kümesinin kullanılmasını sağlar.
Not
Diğer projelerden paylaşılan bileşenler bu kapsamda değerlendirilmemiştir.
Eksik diller her 24 saatte bir ve Weblate üzerine yeni diller eklendiğinde denetlenir.
Diğerlerinden farklı olarak, bu eklenti tüm projeyi etkiler.
İpucu
Yeni eklenen dizgeler Kendiliğinden çeviri ile kendiliğinden çevrilir.
Bileşen keşfi¶
- Eklenti kimliği:
weblate.discovery.discovery- Yapılandırma:
matchÇeviri dosyalarıyla eşleştirilecek kurallı ifade
file_formatDosya biçimi
name_templateBileşen adını özelleştirme
base_file_templateTek dil temel dosya adını tanımlama
İki dilli çeviri dosyaları için boş bırakın.
new_base_templateYeni çeviriler için temel dosyayı tanımlama
Yeni çevirileri oluşturmak için kullanılan dosyanın adı. Gettext için .pot dosyası olarak seçin.
intermediate_templateAra dil dosyası
Ara çeviri dosyasının adı. Çoğu durumda bu dosya geliştiriciler tarafından sunulan bir çeviri dosyasıdır ve gerçek kaynak dizgeler oluşturulurken kullanılır.
language_regexDil süzgeci
Dosya maskesi taranırken çeviri dosyalarını süzmek için kullanılan kurallı ifade.
copy_addonsAna bileşendeki eklentileri yeni oluşturulanlara kopyalama
removeVar olmayan dosyalar için bileşenleri kaldırma
confirmYukarıdaki eşleşmelerin doğru göründüğünü onaylıyorum
- Tetikleyiciler:
Sürüm denetim sistemindeki dosya değişikliklerine göre proje bileşenlerini kendiliğinden ekler ya da siler.
Eşleştirme, karmaşık yapılandırmayı etkinleştiren kurallı ifadeler kullanılarak yapılır. Ancak bunu yapmak için bazı bilgiler gerekir. Yaygın kullanım örnekleri eklenti yardımı bölümünde bulunabilir.
Çeviri dosyalarını eşleştirmek için kurallı ifadede, bileşen ve dili eşleştirmek için iki adlandırılmış grup bulunmalıdır. Kurallı ifadedeki tüm adlandırılmış gruplar, kalıp alanlarında değişken olarak kullanılabilir.
Django kalıbındaki markup kodlarını tüm dosya adı alanlarında kullanabilirsiniz. Örneğin:
{{ component }}Bileşenin dosya adıyla eşleşir
{{ component|title }}İlk harfi büyük bileşenin dosya adıyla eşleşir
{{ path }}: {{ component }}Kurallı ifadedeki özel grup ile eşleşir
Kaydet üzerine tıkladığınızda, yapılandırmanın gereksinimlerinize uyup uymadığını denetleyebileceğiniz biçimde eşleşen bileşenlerin ön izlemesi sunulur:
Bileşen keşfi örnekleri¶
Her dil için ayrı klasör¶
Her dil için bileşenlerin çeviri dosyalarını içeren ayrı bir klasör kullanılır.
- Kurallı ifade:
(?P<language>[^/.]*)/(?P<component>[^/]*)\.po- Eşleşen dosyalar:
cs/application.pocs/website.pode/application.pode/website.po
Gettext yerelleri yerleşimi¶
Gettext PO dosyalarını kaydetmek için alışılmış yapı.
- Kurallı ifade:
locale/(?P<language>[^/.]*)/LC_MESSAGES/(?P<component>[^/]*)\.po- Eşleşen dosyalar:
locale/cs/LC_MESSAGES/application.polocale/cs/LC_MESSAGES/website.polocale/de/LC_MESSAGES/application.polocale/de/LC_MESSAGES/website.po
Karmaşık dosya adları¶
Dosya adında hem bileşen hem de dil adını kullanmak.
- Kurallı ifade:
src/locale/(?P<component>[^/]*)\.(?P<language>[^/.]*)\.po- Eşleşen dosyalar:
src/locale/application.cs.posrc/locale/website.cs.posrc/locale/application.de.posrc/locale/website.de.po
Yinelenen dil kodu¶
Yol ve dosya adında dili kullanmak.
- Kurallı ifade:
locale/(?P<language>[^/.]*)/(?P<component>[^/]*)/(?P=language)\.po- Eşleşen dosyalar:
locale/cs/application/cs.polocale/cs/website/cs.polocale/de/application/de.polocale/de/website/de.po
Android dizgeleri ayrılsın¶
Android kaynak dizgeleri, birkaç dosyaya ayrılmış.
- Kurallı ifade:
res/values-(?P<language>[^/.]*)/strings-(?P<component>[^/]*)\.xml- Eşleşen dosyalar:
res/values-cs/strings-about.xmlres/values-cs/strings-help.xmlres/values-de/strings-about.xmlres/values-de/strings-help.xml
Birkaç yolu eşleştirmek¶
Java öznitelikleri çevirileri ile birkaç modüllü Maven projesi.
- Kurallı ifade:
(?P<originalHierarchy>.+/)(?P<component>[^/]*)/src/main/resources/ApplicationResources_(?P<language>[^/.]*)\.properties- Bileşen adı:
{{ originalHierarchy }}: {{ component }}- Eşleşen dosyalar:
parent/module1/submodule/src/main/resources/ApplicationResources_fr.propertiesparent/module1/submodule/src/main/resources/ApplicationResource_es.propertiesparent/module2/src/main/resources/ApplicationResource_de.propertiesparent/module2/src/main/resources/ApplicationResource_ro.properties
İpucu
Bileşen bulma eklentisi İç Weblate adresleri kullanır. Sürüm denetimi sistemi kurulumunu birden çok bileşen arasında paylaşmanın kullanışlı bir yoludur. Bağlı bileşenler, ilgili her bir bileşenin Kaynak kod deposu alanına (İşlemler ↓ Ayarlar ↓ Sürüm denetimi sistemi) weblate://project/main-component doldurularak kurulan ana bileşenin yerel deposunu kullanır. Böylece yapılandırma ve sistem kaynakları açısından da zaman kazanılır.
İpucu
Yeni bileşende Eksik dilleri ekleme ile çevrilebilecek dillerin tam kümesinin bulunduğundan emin olun.
Uyarı
Yeni bir bileşenin keşfedilebilmesi için base_file_template ile eşleşen bir dosya ve match ile eşleşen bir adı olan en az bir dosya içermesi gerekir. Yani, bileşende bir temel dil dosyası ve en az bir var olan çeviri bulunmalıdır. Böyle değilse yok sayılır.
Ayrıca bakınız
Toplu düzenleme¶
- Eklenti kimliği:
weblate.flags.bulk- Yapılandırma:
qSorgu
stateAyarlanacak durum
Kullanılabilecek seçenekler:¶ -1Değiştirilmesin
10Düzenlenmesi gerekli
20Çevrilmiş
30Onaylanmış
add_flagsEklenecek çeviri imleri
remove_flagsKaldırılacak çeviri imleri
add_labelsEklenecek etiketler
remove_labelsKaldırılacak etiketler
- Tetikleyiciler:
Dizgelerin imlerini, etiketlerini veya durumlarını toplu düzenleyin.
Örnekler:
Arama sorgusu |
|
|---|---|
Eklenecek etiketler |
son |
Arama sorgusu |
|
|---|---|
Eklenecek çeviri imleri |
|
Arama sorgusu |
|
|---|---|
Eklenecek çeviri imleri |
|
Değiştirilmemiş çevirileri “Düzenlenmesi gerekli” olarak imleme¶
- Eklenti kimliği:
weblate.flags.same_edit- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
Sürüm denetimi sisteminden yeni bir çevrilebilir dizge içe aktarıldığında ve bir kaynak dizgeyle eşleştiğinde, Weblate üzerinde düzenlenmesi gerekli olarak imlenir. Özellikle çevrilmemiş dizgeler için kaynak dizgeleri içeren dosya biçimleri için kullanışlıdır.
İpucu
Ayrıca, Çeviri imleri için strict-same imini ekleyerek Çeviri değiştirilmemiş kalite denetimini sıkılaştırmak isteyebilirsiniz.
Ayrıca bakınız
Yeni kaynak dizgeleri “Düzenlenmesi gerekli” olarak imleme¶
- Eklenti kimliği:
weblate.flags.source_edit- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
Sürüm denetimi sisteminden yeni bir kaynak dizge içe her aktarıldığında, Weblate üzerinde düzenlenmesi gerekli olarak imlenir. Böylece geliştiriciler tarafından yazılan kaynak dizgeleri kolayca süzebilir ve düzenleyebilirsiniz.
Ayrıca bakınız
Yeni çevirileri “Düzenlenmesi gerekli” olarak imleme¶
- Eklenti kimliği:
weblate.flags.target_edit- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
Sürüm denetimi sisteminden yeni bir çevrilebilir dizge içeri her aktarıldığında, Weblate üzerinde düzenlenmesi gerekli olarak imlenir. Böylece geliştiricilerin oluşturduğu çevirileri kolayca süzebilir ve düzenleyebilirsiniz.
Ayrıca bakınız
Depodan güncellenmiş çevirileri “Düzenlenmesi gerekli” olarak imle¶
- Eklenti kimliği:
weblate.flags.target_repo_update- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
Sürüm denetimi sisteminden bir dizge çevirisi değiştirildiğinde, Weblate üzerinde düzenlenmesi gerekli olarak imlenir. Özellikle çeviri dosyaları sık sık el ile veya bir dış hizmet tarafından güncelleniyorsa kullanışlıdır.
Ayrıca bakınız
Salt okunur dizgeleri kaynak ile doldurma¶
Added in version 4.18.
- Eklenti kimliği:
weblate.generate.fill_read_only- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
Salt okunur dizgelerin çevirilerini kaynak dizgeler ile doldurur.
İstatistik oluşturma¶
- Eklenti kimliği:
weblate.generate.generate- Yapılandırma:
filenameOluşturulacak dosyanın adı
templateOluşturulacak dosyanın içeriği
- Tetikleyiciler:
Çeviri durumu ile ilgili ayrıntılı bilgiler içeren bir dosya oluşturur.
Hem dosya adında hem de içerikte bir Django kalıbı kullanabilirsiniz. Markup ile ilgili ayrıntılı bilgi almak için Kalıp kodlaması bölümüne bakabilirsiniz.
Örneğin, her çeviri için bir özet dosyası oluşturma:
- Oluşturulacak dosyanın adı
locale/{{ language_code }}.json- İçerik
{ "language": "{{ language_code }}", "strings": "{{ stats.all }}", "translated": "{{ stats.translated }}", "last_changed": "{{ stats.last_changed }}", "last_author": "{{ stats.last_author }}", }
Ayrıca bakınız
Çeviriyi kaynak dizgeyle önceden doldurma¶
Added in version 4.11.
- Eklenti kimliği:
weblate.generate.prefill- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
Çeviri dizgelerini kaynak dizgeler ile doldurur.
Bileşendeki tüm çevrilmemiş dizgeler kaynak dizgeyle doldurulur ve düzenlenmesi gerekli olarak imlenir. Çeviri dosyalarında boş dizge kabul edilmediğinde bunu kullanın.
Sözde yerel oluşturma¶
Added in version 4.5.
- Eklenti kimliği:
weblate.generate.pseudolocale- Yapılandırma:
sourceKaynak dizgeler
targetHedef çeviri
Bu çevirideki tüm dizgelerin üzerine yazılacak
prefixBaşa eklenmiş sabit yazı
var_prefixBaşa eklenmiş değişken yazı
suffixSona eklenmiş sabit yazı
var_suffixSona eklenmiş değişken yazı
var_multiplierDeğişken yazı çarpanı
Kaynak dizgenin uzunluğuna bağlı olarak değişken yazının kaç kez yineleneceği.
include_readonlySalt okunur dizgeleri katma
- Tetikleyiciler:
Kaynak dizgelere kendiliğinden ön ek ve son ek ekleyerek çeviri oluşturur.
Sözde yereller, yerelleştirme için hazırlanmamış dizgeleri bulmaya yarar. Böylece, uygulamayı sözde yerel dilde çalıştırırken değiştirilmemiş dizgelerin bulunmasını kolaylaştırmak için tüm çevrilebilir kaynak dizgeleri değiştirilir.
Yerelleştirilmiş karşılıkları yerleşime uymayabilecek dizgeler de bulunabilir.
Değişken bölümlerin kullanılması, yerelleştirmeden sonra kullanıcı arabirimine sığmayabilecek dizgelerin bulunmasını sağlar. İçerik kaynak dizge uzunluğuna göre genişletilir. Değişken yazılar, içeriğin uzunluğunun çarpanla çarpılmasıyla yinelenir. Örneğin, Merhaba dünya ve _ değişken yazısı ile değişken çarpanı 1 olduğunda Merhaba dünya___________ olur. Yazı kaynak dizgedeki her karakter için bir kez yinelenir.
Dizgeler şu model kullanılarak oluşturulacak:
Başa eklenmiş sabit yazı Başa eklenmiş değişken yazı Kaynak dizge Sona eklenmiş değişken yazı Sona eklenmiş sabit yazı
İpucu
Deneme için gerçek dilleri kullanabilirsiniz. Bunun yanında Weblate üzerinde en_XA ve ar_XB gibi bu iş için ayrılmış sahte ayarlar vardır.
İpucu
Bu eklentiyi, var olan bir dilin ya da benzer bir dilin yeni bir yerel ayarına çeviri başlatmak için kullanabilirsiniz. Çeviriyi bileşene ekledikten sonra, eklentiyi izleyin. Örnek: fr diliniz varsa ve fr_CA çevirisini başlatmak istiyorsanız, kaynak olarak fr, hedef olarak fr_CA ayarlayın ve ön ek ile son eki boş bırakın.
Kopyalamadan sonra yapılan çevirilerin Weblate tarafından değiştirilmesini önlemek için yeni çeviriyi doldurduktan sonra eklentiyi kaldırın.
Katılımcıları yorum bölümünde görüntüleme¶
- Eklenti kimliği:
weblate.gettext.authors- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
PO dosyası üst bilgilerinin yorum bölümü, katılımcı adlarını ve katkı yıllarını içerecek biçimde güncellenir.
PO dosya üst bilgileri şöyle görünür:
# Michal Čihař <michal@weblate.org>, 2012, 2018, 2019, 2020.
# Pavel Borecki <pavel@example.com>, 2018, 2019.
# Filip Hron <filip@example.com>, 2018, 2019.
# anonymous <noreply@weblate.org>, 2019.
“configure” dosyasındaki ALL_LINGUAS değişkeni güncelleme¶
- Eklenti kimliği:
weblate.gettext.configure- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
Yeni bir çeviri eklendiğinde configure, configure.in ya da herhangi bir configure.ac dosyasında ALL_LINGUAS değişkeni güncellenir.
Gettext çıktısını özelleştirme¶
Removed in version 5.13: Dosya biçimi parametreleri ile değiştirildi.
LINGUAS dosyasını güncelleme¶
- Eklenti kimliği:
weblate.gettext.linguas- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
Yeni bir çeviri eklendiğinde LINGUAS dosyası güncellenir.
MO dosyaları üretme¶
- Eklenti kimliği:
weblate.gettext.mo- Yapılandırma:
pathOluşturulan MO dosyasının yolu
Belirtilmemişse, PO dosyasının konumu kullanılır.
fuzzyDüzenlenmesi gereken dizgeler katılsın
Düzenlenmesi gereken (belirsiz) dizgeler genellikle çeviri olarak kullanılmaya hazır değildir.
- Tetikleyiciler:
PO dosyası her değiştirildiğinde MO dosyası kendiliğinden oluşturulur.
Oluşturulan MO dosyasının konumu özelleştirilebilir ve bunun için Kalıp kodlaması alanı kullanılır.
Not
Bir çeviri silinirse, PO dosyası depodan silinir, ancak bu eklenti tarafından oluşturulmuş MO dosyası silinmez. MO dosyası yukarı akıştan el ile kaldırılmalıdır.
PO dosyalarını POT ile eşleştirerek güncelleme (msgmerge)¶
5.13 sürümünde değişti: Ayarlar yapılandırması Dosya biçimi parametreleri konumuna taşındı.
- Eklenti kimliği:
weblate.gettext.msgmerge- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
Tüm PO dosyalarını (Dosya maskesi ile yapılandırıldığı gibi) msgmerge komutunu kullanarak POT dosyasıyla eşleşecek şekilde (Yeni çeviriler kalıbı ile yapılandırıldığı gibi) günceller.
Bu eklenti, POT (kalıb) dosyasının yeni dizgelerle ya da var olan dizgelerdeki değişikliklerle güncellendiği gettext PO dosyalarıyla çalışırken çok önemlidir. POT dosyası depoda güncellendiğinde, bu eklenti bu değişiklikleri otomatik olarak tüm dil PO dosyalarıyla birleştirerek şunları sağlar:
Yeni çevrilebilir dizgeler tüm dillerde görüntülenir
Kaldırılmış dizgeler kullanılmıyor olarak işaretlenir
Değiştirilmiş dizgeler gözden geçirilmesi gerekli olarak işaretlenir (bulanık)
Çoğu msgmerge komut satırı seçeneği dosya biçimi parametreleri yapılandırması ile ayarlanabilir.
Git işlemelerini bir araya toplar¶
- Eklenti kimliği:
weblate.git.squash- Yapılandırma:
squashİşlemeleri bir araya toplama
Kullanılabilecek seçenekler:¶ allTüm işlemeler bir arada
languageDile göre
fileDosyaya göre
authorKatkıda bulunana göre
append_trailersBir araya toplanmış işlemelerin iletisine art bilgiler eklensin
‘Co-authored-by: …’ gibi bir işleme iletisinin başka bir serbest biçim bölümünün sonunda, art bilgi satırları RFC 822 e-posta üst bilgilerine benzeyen satırlardır.
commit_messageİşleme iletisi
Bu işleme iletisi, bir araya toplanmış işleme iletilerinden gelen birleşik işleme iletileri yerine kullanılır.
- Tetikleyiciler:
Değişiklikleri yollamadan önce Git işlemelerini bir araya toplar.
İpucu
Gereksiz çakışmaları önlemek için, yukarı akış değişikliklerinin internet kancaları veya API ile kendiliğinden alınacak şekilde yapılandırmanız önerilir. Ayrıntılı bilgi almak için: Depoları güncellemek.
Git işlemeleri, değişiklikler itilmeden önce aşağıdaki kiplerden biri kullanılarak bir araya toplanabilir:
Tüm işlemeler bir arada
Dile göre
Dosyaya göre
Katkıda bulunana göre
Özgün işleme iletileri korunur. Ancak Katkıda bulunana göre olarak seçilmediği ya da işleme iletisi eklenecek şekilde özelleştirilmediği sürece katkıda bulunan bilgisi eksik kalır.
Özgün işleme iletileri, isteğe bağlı olarak özel bir işleme iletisiyle değiştirilebilir.
Art bilgiler (Co-authored-by: … gibi işleme satırları) isteğe bağlı olarak özgün işleme iletilerinden kaldırılabilir ve bir araya toplanmış işleme iletisinin sonuna eklenebilir. Bu aynı zamanda her çevirmen için özel bir Co-authored-by: bilgisi oluşturur.
JSON çıktısını özelleştirme¶
5.12 sürümünde değişti: Ayraçlardan sonra boşluk bırakılmasın seçeneği eklendi.
Removed in version 5.13: Dosya biçimi parametreleri ile değiştirildi.
Java özellikleri dosyasını biçimlendirme¶
- Eklenti kimliği:
weblate.properties.sort- Yapılandırma:
case_sensitiveBüyük/küçük harfe duyarlı anahtar sıralaması kullanılsın
- Tetikleyiciler:
Java özellikleri dosyasını biçimlendirir ve sıralar.
Yeni satır karakterlerini Unix karakterleri olarak değiştirir.
Unicode kaçınma dizilerini büyük harfle biçimlendirir (varsa).
Boş satırları ve yorumları siler.
Dizgeleri anahtarlara göre sıralar.
Yinelenen dizgeleri kaldırır.
Eski yorumları kaldırma¶
- Eklenti kimliği:
weblate.removal.comments- Yapılandırma:
ageTutulacak gün sayısı
- Tetikleyiciler:
Yorumların kaldırılması için bir zaman dilimi ayarlayabilirsiniz.
Bu özellik, güncelliğini yitirmiş olabilecek eski yorumları kaldırmak için yararlı olabilir. Bir yorumun eski olması önemini yitirdiği anlamına gelmediğinden dikkatli kullanın.
Eski önerileri kaldırma¶
- Eklenti kimliği:
weblate.removal.suggestions- Yapılandırma:
ageTutulacak gün sayısı
votesOy verme eşiği
Kaldırma eşiği. Oylama kapalıyken bu alanın herhangi bir etkisi yoktur.
- Tetikleyiciler:
Önerilerin kaldırılması için bir zaman dilimi ayarlayabilirsiniz.
Belirli bir zaman diliminde yeterince olumlu oy almayan önerilerin kaldırılması için öneri oylamayla (ayrıntılı bilgi almak için: Akran değerlendirmesi) bağlantılı olarak çok yararlı olabilir.
RESX dosyalarını güncelleme¶
- Eklenti kimliği:
weblate.resx.update- Yapılandırma:
Bu eklentinin yapılandırması yok.
- Tetikleyiciler:
Tüm çeviri dosyalarını tek dilli temel dosya ile eşleşecek biçimde günceller. Kullanılmayan dizgeler kaldırılır ve yeni dizgeler kaynak dizgenin kopyaları olarak eklenir.
İpucu
Yalnızca eski çeviri anahtarlarını kaldırmak istiyorsanız Çeviri dosyalarını temizleme kullanın.
Slack internet kancaları¶
Added in version 5.12.
- Eklenti kimliği:
weblate.webhook.slack- Yapılandırma:
webhook_urlİnternet kancası adresi
eventsDeğişiklik etkinlikleri
Kullanılabilecek seçenekler:¶ 0Kaynak güncellendi
1Çeviri tamamlandı
2Çeviri değiştirildi
3Yorum eklendi
4Öneri eklendi
5Çeviri eklendi
6Kendiliğinden çevrildi
7Öneri kabul edildi
8Çeviri geri alındı
9Çeviri yüklendi
13Kaynak dizge eklendi
14Bileşen kilitlendi
15Bileşenin kilidi açıldı
17Değişiklikler işlendi
18Değişiklikler itildi
19Depo sıfırlandı
20Depo birleştirildi
21Depo yeniden yerleştirildi
22Depo birleştirilemedi
23Depo yeniden yerleştirilemedi
24İşlenemedi
25Çeviri silindi
26Öneri silindi
27Çeviri değiştirildi
28Depo itilemedi
29Öneri temizleme sırasında silindi
30Kaynak dizge değiştirildi
31Dizge eklendi
32Durum toplu olarak değiştirildi
33Görünürlük değiştirildi
34Kullanıcı eklendi
35Kullanıcı silindi
36Çeviri onaylandı
37Düzenlenmek üzere imlendi
38Bileşen silindi
39Proje silindi
41Proje yeniden adlandırıldı
42Bileşen yeniden adlandırıldı
43Bileşen taşındı
45Katkıda bulunan katıldı
46Duyuru gönderildi
47Uyarı tetiklendi
48Dil eklendi
49Dil istendi
50Proje oluşturuldu
51Bileşen oluşturuldu
52Kullanıcı çağrıldı
53Depo bildirimi alındı
54Çeviri dosya yüklemesi ile değiştirildi
55Lisans değiştirildi
56Katılımcı lisans anlaşması değiştirildi
57Ekran görüntüsü eklendi
58Ekran görüntüsü yüklendi
59Depodaki dizge değiştirildi
60Eklenti kuruldu
61Eklenti yapılandırması değiştirildi
62Eklenti kaldırıldı
63Dizge kaldırıldı
64Yorum silindi
65Yorum çözümlendi
66Açıklama güncellendi
67Kategori silindi
68Kategori yeniden adlandırıldı
69Kategori taşındı
70Dizge kaydedilemedi
71Depoya dizge eklendi
72Yüklemedeki dizge güncellendi
73Yüklemeye dizge eklendi
74Çeviri kaynak yüklemesi ile değiştirildi
75Bileşen çevirisi tamamlandı
76Zorunlu denetim uygulandı
77Değişiklik yayıldı
78Dosya yüklendi
79Ek imler güncellendi
80Yazı tipi yüklendi
81Yazı tipi değiştirildi
82Yazı tipi silindi
83Çevirilerin eşitlenmesi dayatıldı
84Çevirilerin yeniden taranması dayatıldı
- Tetikleyiciler:
Seçilmiş etkinliklere göre bir Slack kanalına bildirim gönderir.
Uyarı
Bildirim içeriğinde HTML kod imleri görüntülenebilir. Bu durum, bilinen ve yakında ele alınacak olan bir sorundur. Ayrıntılı bilgi almak için: https://github.com/WeblateOrg/weblate/issues/15056.
İpucu
Bir internet kancası adresi edinmek için, Slack gelen internet kancaları belgesi içinde anlatılan adımları izleyin
İnternet kancası¶
Added in version 5.11.
- Eklenti kimliği:
weblate.webhook.webhook- Yapılandırma:
webhook_urlİnternet kancası adresi
secretParola
Base64 ile kodlanmış bir dizge
eventsDeğişiklik etkinlikleri
Kullanılabilecek seçenekler:¶ 0Kaynak güncellendi
1Çeviri tamamlandı
2Çeviri değiştirildi
3Yorum eklendi
4Öneri eklendi
5Çeviri eklendi
6Kendiliğinden çevrildi
7Öneri kabul edildi
8Çeviri geri alındı
9Çeviri yüklendi
13Kaynak dizge eklendi
14Bileşen kilitlendi
15Bileşenin kilidi açıldı
17Değişiklikler işlendi
18Değişiklikler itildi
19Depo sıfırlandı
20Depo birleştirildi
21Depo yeniden yerleştirildi
22Depo birleştirilemedi
23Depo yeniden yerleştirilemedi
24İşlenemedi
25Çeviri silindi
26Öneri silindi
27Çeviri değiştirildi
28Depo itilemedi
29Öneri temizleme sırasında silindi
30Kaynak dizge değiştirildi
31Dizge eklendi
32Durum toplu olarak değiştirildi
33Görünürlük değiştirildi
34Kullanıcı eklendi
35Kullanıcı silindi
36Çeviri onaylandı
37Düzenlenmek üzere imlendi
38Bileşen silindi
39Proje silindi
41Proje yeniden adlandırıldı
42Bileşen yeniden adlandırıldı
43Bileşen taşındı
45Katkıda bulunan katıldı
46Duyuru gönderildi
47Uyarı tetiklendi
48Dil eklendi
49Dil istendi
50Proje oluşturuldu
51Bileşen oluşturuldu
52Kullanıcı çağrıldı
53Depo bildirimi alındı
54Çeviri dosya yüklemesi ile değiştirildi
55Lisans değiştirildi
56Katılımcı lisans anlaşması değiştirildi
57Ekran görüntüsü eklendi
58Ekran görüntüsü yüklendi
59Depodaki dizge değiştirildi
60Eklenti kuruldu
61Eklenti yapılandırması değiştirildi
62Eklenti kaldırıldı
63Dizge kaldırıldı
64Yorum silindi
65Yorum çözümlendi
66Açıklama güncellendi
67Kategori silindi
68Kategori yeniden adlandırıldı
69Kategori taşındı
70Dizge kaydedilemedi
71Depoya dizge eklendi
72Yüklemedeki dizge güncellendi
73Yüklemeye dizge eklendi
74Çeviri kaynak yüklemesi ile değiştirildi
75Bileşen çevirisi tamamlandı
76Zorunlu denetim uygulandı
77Değişiklik yayıldı
78Dosya yüklendi
79Ek imler güncellendi
80Yazı tipi yüklendi
81Yazı tipi değiştirildi
82Yazı tipi silindi
83Çevirilerin eşitlenmesi dayatıldı
84Çevirilerin yeniden taranması dayatıldı
- Tetikleyiciler:
Standart Webhooks teknik özelliklerine uygun olarak, seçilmiş etkinliklere göre dış hizmetlere bildirim gönderir.
İstek yükü Weblate Messaging şeması ile uyumludur. OpenAPI açıklaması /api/docs/ adresinde de bulunabilir. Örnek istek gövdesi:
{
"change_id": 99,
"action": "Translation changed",
"timestamp": "2019-08-24T14:15:22Z",
"target": "Nazdar svete!",
"old": "Nazdar!",
"source": "Hello, world",
"url": "/translate/project-slug/component-slug/cs/?checksum=46add148a53cab6f",
"author": "author-username",
"user": "user-username",
"project": "project-slug",
"component": "component-slug",
"translation": "cs"
}
Kategoriler ile örnek istek gövdesi:
{
"change_id": 8910,
"action": "Component renamed",
"timestamp": "2025-06-11T07:15:09Z",
"target": ["new-name"],
"old": ["component-slug"],
"url": "/projects/project-slug/parent-category/child-category/sub-category/component-slug/",
"user": "testuser",
"project": "project-slug",
"component": "component-slug",
"category": [
"sub-category",
"child-category",
"parent-category"
]
}
Örnek istek üst bilgileri:
{
"webhook-id": "7f1c5477f6275a69af7b83236c20cb1a",
"webhook-timestamp": "1748505623.044281",
"webhook-signature": "v1,Ceo5qEr07ixe2NLpvHk3FH9bwy/WavXrAFQ/9tdO6mc="
}
Webhook-signature, secret dizgesi, istek yükü, webhook-timestamp ve webhook-id kullanılarak oluşturulan HMAC imzalarının boşluklarla ayrılmış bir listesidir. Bu imza internet kancası isteğinin gerçekliğini ve bütünlüğünü doğrular.
Bir isteği doğrulamak için standardwebhooks kitaplığındaki Webhook.verify yöntemini veya “Standart Webhooks teknik özelliklerinin” bir uygulamasını kullanabilirsiniz.
XML çıktısını özelleştirme¶
Added in version 4.15.
Removed in version 5.13: Dosya biçimi parametreleri ile değiştirildi.
YAML çıktısını özelleştirme¶
Removed in version 5.13: Dosya biçimi parametreleri ile değiştirildi.
Eklenti listesini özelleştirme¶
Eklenti listesi WEBLATE_ADDONS tarafından yapılandırılır. Başka bir eklenti eklemek için, bu seçeneğe mutlak sınıf adını eklemeniz yeterlidir.
Eklenti yazma¶
Kendi eklentilerinizi de yazabilir, eklenti üst verilerini tanımlamak için weblate.addons.base.BaseAddon alt sınıfını oluşturabilir ve ardından işlemi yapmak için bir geri çağırma ekleyebilirsiniz.
Ayrıca bakınız
Eklentiden betikleri çalıştırma¶
Eklentiler, dış betikleri yürütmek için de kullanılabilir. Bu özellik eskiden Weblate ile bütünleşikti. Ancak şimdi betikleri bir eklenti ile sarmalamak için bazı kodlar yazmanız gerekiyor.
# Copyright © Michal Čihař <michal@weblate.org>
#
# SPDX-License-Identifier: GPL-3.0-or-later
"""Example pre commit script."""
from __future__ import annotations
from typing import ClassVar
from django.utils.translation import gettext_lazy
from weblate.addons.events import AddonEvent
from weblate.addons.scripts import BaseScriptAddon
class ExamplePreAddon(BaseScriptAddon):
# Event used to trigger the script
events: ClassVar[set[AddonEvent]] = {
AddonEvent.EVENT_PRE_COMMIT,
}
# Name of the addon, has to be unique
name = "weblate.example.pre"
# Verbose name and long description
verbose = gettext_lazy("Execute script before commit")
description = gettext_lazy("This add-on executes a script.")
# Script to execute
script = "/bin/true"
# File to add in commit (for pre commit event)
# does not have to be set
add_file = "po/{{ language_code }}.po"
Kurulum ile ilgili ayrıntılı bilgi almak için: Özel kalite denetimleri, eklentiler, kendiliğinden öneriler ve kendiliğinden düzeltmeler.
Betik dosyası, belirtilen bileşen için sürüm denetimi sistemi deposunun kök klasörüne ayarlanmış geçerli klasör ile yürütülür.
Ek olarak, şu ortam değişkenleri kullanılabilir:
- WL_VCS¶
Kullanılan sürüm denetimi sistemi.
- WL_REPO¶
Yukarı akış deposu adresi.
- WL_PATH¶
Sürüm denetimi sistemi deposunun mutlak yolu.
- WL_BRANCH¶
Geçerli bileşende yapılandırılmış depo dalı.
- WL_FILEMASK¶
Geçerli bileşen için dosya maskesi.
- WL_TEMPLATE¶
Tek dilli çeviriler için kalıbın dosya adı (boş olabilir).
- WL_NEW_BASE¶
Yeni çeviriler oluşturmak için kullanılan dosyanın adı (boş olabilir).
- WL_FILE_FORMAT¶
Geçerli bileşende kullanılan dosya biçimi.
- WL_LANGUAGE¶
İşlenmekte olan çevirinin dili (bileşen düzeyinde kancalar için kullanılamaz).
- WL_PREVIOUS_HEAD¶
Güncellemeden sonra önceki HEAD (yalnızca güncelleme sonrası kancası çalıştırıldıktan sonra kullanılabilir).
- WL_COMPONENT_SLUG¶
Adresi oluşturmak için kullanılan bileşen kısaltması.
- WL_PROJECT_SLUG¶
Adresi oluşturmak için kullanılan proje kısaltması.
- WL_COMPONENT_NAME¶
Bileşen adı.
- WL_PROJECT_NAME¶
Proje adı.
- WL_COMPONENT_URL¶
Bileşen adresi.
- WL_ENGAGE_URL¶
Proje etkileşim sayfası adresi.
Ayrıca bakınız
Güncelleme sonrası depo işleme¶
Sürüm denetimi sistemi yukarı akış kaynağı değiştiğinde çeviri dosyalarını güncellemek için kullanılabilir. Bunu yapabilmek için lütfen Weblate tarafından yalnızca sürüm denetimi sistemine işlenmiş dosyaların görüldüğünü, bu nedenle değişiklikleri betiğin bir parçası olarak yapmanız gerektiğini unutmayın.
Örneğin Gulp ile bunu şu kodu kullanarak yapabilirsiniz:
#! /bin/sh
gulp --gulpfile gulp-i18n-extract.js
git commit -m 'Update source strings' src/languages/en.lang.json
Depoya işlenmeden önce çevirilerin işlenmesi¶
Bir çevirinin depoya kaydedilmesinden önce kendiliğinden değiştirilmesi için işleme betiğini kullanın.
Geçerli bir çevirinin dosya adından oluşan tek bir parametre olarak aktarılır.
Eklenti işlemleri günlüklerinin kaydedilmesi¶
Eklenti işlem günlüğü, eklentinin çalışmasını izler ve eklenti işlemlerini izlemek için kullanılabilir.
ADDON_ACTIVITY_LOG_EXPIRY seçeneği yapılandırılarak belirli bir zamandan önceki günlük kayıtları kaldırılabilir.