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 İşlemlerEklentiler 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.

El ile tetiklenmeyi yeğleyen eklentiler, eklenti yönetiminden veya API ile çalıştırılabilir. Sonuçlar eklentinin etkinlik günlüğüne kaydedilir.

../_images/addons.webp

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.

El ile tetikleme

Bir eklenti, eklenti yönetiminden veya API üzerinden el ile çalıştırıldığında 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 kaldırma sonrası

Bir çevirinin kaldırılmasından 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:

mode

Kendiliğinden çeviri kipi

Kullanılabilecek seçenekler:

suggest

Öneri olarak ekle

translate

Çeviri olarak ekle

fuzzy

“Düzenlenmesi gerekli” olarak ekle

q

Sorgu

Lütfen tüm dizgeleri çevirdiğinizde var olan tüm çevirileri yok sayılacağını unutmayın.

auto_source

Kendiliğinden yapılmış çevirilerin kaynağı

Kullanılabilecek seçenekler:

others

Diğer çeviri bileşenleri

mt

Makine çevirisi

component

Bileşen

Kaynak olarak kullanılacak bir bileşenin adres son ekini yazın. Geçerli projedeki tüm bileşenlerin kullanılması için boş bırakın.

engines

Makine çevirisi hizmetleri

Makine çevirisi hizmetleri

threshold

Skor 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_selector

CSS seçici

Yerelleştirilebilir ögeleri algılamak için CSS seçici.

cookie_name

Dil tanımlama bilgisinin adı

Dil seçiminin kaydedildiği tanımlama bilgisinin adı.

files

Dizgeleri 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 kaldırma 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.

Çeviri dosyaları CDN

Added in version 2026.5.

Eklenti kimliği:

weblate.cdn.files

Yapılandırma:

Bu eklentinin yapılandırması yok.

Tetikleyiciler:

Eklenti kurulumu, Bileşen güncellemesi, Depo işleme sonrası, Depo kaldırma sonrası, Depo güncelleme sonrası

Çeviri dosyalarını içerik dağıtım ağına yayınlar.

Publishes translation files without converting them to another format. Files are written below the add-on specific CDN directory and served from LOCALIZE_CDN_URL/<add-on UUID>/. Single-file translations use the language code and original file extension, for example cs.json or de.po. Multi-file translations are served below the language code using paths relative to the translation directory. Monolingual components include the source language file, while bilingual components publish only target-language files. See Yerelleştirme CDN for secure serving guidance.

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:

Eklenti kurulumu, Günlük, Depo ekleme sonrası

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

Kurallı ifade de, bileşen ve dil için adlandırılmış gruplar tanımlanmalıdır.

file_format

Dosya biçimi

Dosya biçimi

name_template

Bileşen adını özelleştirme

Django kalıbı sözdizimini kullanın. Bu kalıpta {{ bileşen }} bulunmalıdır.

base_file_template

Tek dil temel dosyası adını tanımlayın

İki dilli çeviri dosyaları için boş bırakın. Ayarlandığında, bu kalıpta {{ bileşen }} bulunmalıdır.

new_base_template

Yeni çeviriler için temel dosyayı tanımlama

Yeni çeviriler oluşturmak için kullanılan dosyanın adı. Gettext için .pot dosyasını seçin. Bu kalıpta {{ bileşen }} bulunmalıdır.

intermediate_template

Ara dil dosyası

Ara çeviri dosyasının dosya adı. Çoğu durumda bu, geliştiriciler tarafından sağlanan bir çeviri dosyasıdır ve gerçek kaynak dizgeleri oluştururken kullanılır. Bu kalıpta {{ bileşen }} bulunmalıdır.

language_regex

Dil süzgeci

Dosya maskesi taranırken çeviri dosyalarını süzmek için kullanılan kurallı ifade.

copy_addons

Ana bileşendeki eklentileri yeni oluşturulanlara kopyalama

remove

Var olmayan dosyalar için bileşenleri kaldırma

Tetikleyiciler:

Eklenti kurulumu, Depo güncelleme sonrası

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 biraz bilgi gereklidir. Çeviri dosyalarını eşleştirmek için kurallı ifadede, bileşen ve dil ile eşleşecek 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.

Keşif gereksinimleri

Bir bileşenin başarılı bir şekilde keşfedilmesi için yapılandırma şunların tümünü yapmalıdır:

  • Kurallı ifadede, bileşen ve dil adlandırılmış grupları tanımlanmalıdır.

  • Her bileşen için dosyaları adlandırmak veya bulmak için kullanılan kalıp alanlarında {{ bileşen }} bulunmalıdır. Böylece oluşturulan değer aslında keşfedilen her bileşen için değişir.

  • Tek dilli biçimler için, bileşende base_file_template ile eşleşen bir dosya ve eşleşme ile eşleşen en az bir çeviri dosyası bulunmalıdır.

Çalışan örnek: news_<dil>.md

Bu, yaygın bir dosya adı temelli dil değişkeni düzenidir:

  • docs/news_en.md

  • docs/news_cs.md

  • docs/guide_en.md

Başlangıç noktası için Dosya adı temelli dil çeşitleri hazır ayarını kullanın. Ardından eşleşen dosya biçimini seçin ve doldurulmuş değerleri gözden geçirin.

Kurallı ifade:

(?:(?P<path>.*/))?(?P<component>.+?)_(?P<language>[A-Za-z]{2,3}(?:[_-][A-Za-z0-9]+)*)\.(?P<extension>[^/.]+)

Bileşen adı:

{{ component }}

Keşfedilen dosya maskeleri:
  • docs/news_*.md

  • docs/guide_*.md

Bu örnekte, {{ bileşen }} dil son ekinden önce temel adına çözümlenir. Bu nedenle docs/news_en.md, docs/news_pt_BR.md ve docs/news_pt-BR.md dosyalarının tümü news bileşeni haline gelir.

Django kalıbındaki markup kodlarını tüm dosya adı alanlarında kullanabilirsiniz. Örneğin:

{{ component }}

Bileşen adı bileşen eşleşme grubundan ayrıştırıldı

{{ 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:

../_images/addon-discovery.webp

Bileşen keşfi örnekleri

Yukarıdaki çalışan örnek, en yaygın dosya adı temelli değişken düzenini kapsar. Aşağıdaki örnekler, eşleştirebileceğiniz diğer depo yapılarını göstermektedir.

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.po

  • cs/website.po

  • de/application.po

  • de/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.po

  • locale/cs/LC_MESSAGES/website.po

  • locale/de/LC_MESSAGES/application.po

  • locale/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.po

  • src/locale/website.cs.po

  • src/locale/application.de.po

  • src/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.po

  • locale/cs/website/cs.po

  • locale/de/application/de.po

  • locale/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.xml

  • res/values-cs/strings-help.xml

  • res/values-de/strings-about.xml

  • res/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.properties

  • parent/module1/submodule/src/main/resources/ApplicationResource_es.properties

  • parent/module2/src/main/resources/ApplicationResource_de.properties

  • parent/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 (İşlemlerAyarlarSü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.

Ayrıca bakınız

Fedora Messaging

Added in version 5.15.

Eklenti kimliği:

weblate.fedora_messaging.publish

Yapılandırma:

events

Değişiklik etkinlikleri

Değişiklik etkinlikleri

amqp_host

AMQP işleyici sunucusu

Bağlantı kurulacak AMQP işleyici.

amqp_ssl

AMQP bağlantısı için SSL kullanılsın

ca_cert

Sertifika yetkilisi sertifikaları

Sunucu tarafından sunulan sertifikayı doğrulamak için kullanılan PEM ile kodlanmış CA sertifikaları paketi.

client_key

İstemci SSH anahtarı

PEM ile kodlanmış istemci kişisel SSL anahtarı.

client_cert

İstemci SSL sertifikaları

PEM ile kodlanmış istemci SSL sertifikası.

Tetikleyiciler:

Değişiklik etkinliği

Fedora Messaging uyumlu bir AMQP değişimine bildirimler gönderir.

Fedora Messaging, Weblate üzerinde yapılan tüm değişiklikleri ileten AMQP temelli bir yayınlayıcıdır. Bunu kullanarak Weblate üzerindeki değişikliklere ek hizmetler bağlayabilirsiniz.

İleti konusu

Tüm iletiler weblate.<action>.<project>.<component>.<translation> konuludur. İşlem, boşluk yerine alt çizgilerle işlemin küçük harfli yazısal temsilidir. Örneğin resource_update, diğer tüm parçalar isteğe bağlıdır ve nesnenin veya bir dil kodunun adres son eklerini temsil eder.

İleti gövdesi

Gövde aşağıdaki alanlardan oluşur (etkinlik için uygun oldukları göz önüne alındığında):

change_id

Değişikliğin sayısal kimliği

action

Değişikliğin ayrıntılı adı.

timestamp

ISO biçiminde zaman damgası

target

Değişikliğin yeni değeri (örneğin dizgenin yeni çevirisi)

old

Değişikliğin eski değeri (örneğin dizgenin önceki çevirisi)

source

Kaynak dizge.

url

İlgili nesneyi görüntüleyecek mutlak adres.

author

Yazar kullanıcı adı (örneğin önerileri kabul ederken kullanıcıdan farklı olabilir)

user

İşlemi yapan kullanıcı adı

project

Projenin adres son eki

component

Bileşenin adres son eki

translation

Çeviri dili kodu

İleti üst bilgileri

Yönlendirme için de kullanabileceğiniz ek üst bilgiler bulunur:

action

Değişikliğin ayrıntılı adı.

project

Projenin adres son eki

component

Bileşenin adres son eki

Örnek iletiler

Depo birleştirme etkinliği:

{
  "id": 1,
  "action": "Merged repository",
  "timestamp": "2017-06-15T11:30:47.325000+00:00",
  "url": "http://example.com/projects/test/test/",
  "component": "test"
}

Yeni kaynak dizge etkinliği:

{
  "id": 2,
  "action": "New source string",
  "timestamp": "2017-06-15T11:30:47.372000+00:00",
  "url": "http://example.com/translate/test/test/cs/?checksum=6412684aaf018e8e",
  "component": "test",
  "translation": "cs",
  "source": ["Hello, world!\n"]
}

Kaynak güncellendi etkinliği:

{
  "id": 6,
  "action": "Resource update",
  "timestamp": "2017-06-15T11:30:47.410000+00:00",
  "url": "http://example.com/projects/test/test/cs/",
  "project": "test",
  "component": "test",
  "translation": "cs"
}
{
  "id": 7,
  "action": "Resource update",
  "timestamp": "2017-06-15T11:30:47.510000+00:00",
  "url": "http://example.com/projects/test/test/de/",
  "project": "test",
  "component": "test",
  "translation": "de"
}
{
  "id": 8,
  "action": "Resource update",
  "timestamp": "2017-06-15T11:30:47.595000+00:00",
  "url": "http://example.com/projects/test/test/it/",
  "project": "test",
  "component": "test",
  "translation": "it"
}

Proje silindi etkinliği:

{
  "id": 9,
  "action": "Removed project",
  "timestamp": "2019-10-17T15:57:08.559420+00:00",
  "target": "test",
  "user": "testuser"
}

Yeni katılımcı etkinliği:

{
  "id": 11,
  "action": "New contributor",
  "timestamp": "2019-10-17T15:57:08.759960+00:00",
  "url": "http://example.com/translate/test/test/cs/?checksum=6412684aaf018e8e",
  "author": "testuser",
  "user": "testuser",
  "project": "test",
  "component": "test",
  "translation": "cs",
  "source": ["Hello, world!\n"]
}

Yeni çeviri etkinliği:

{
  "id": 12,
  "action": "New translation",
  "timestamp": "2019-10-17T15:57:08.772591+00:00",
  "url": "http://example.com/translate/test/test/cs/?checksum=6412684aaf018e8e",
  "target": ["Ahoj svete!\n"],
  "author": "testuser",
  "user": "testuser",
  "project": "test",
  "component": "test",
  "translation": "cs",
  "source": ["Hello, world!\n"]
}

Toplu düzenleme

Eklenti kimliği:

weblate.flags.bulk

Yapılandırma:

q

Sorgu

state

Ayarlanacak durum

Kullanılabilecek seçenekler:

-1

Değiştirilmesin

10

Düzenlenmesi gerekli

11

Düzenlenmesi gerekli (Yeniden yazılmalı)

12

Düzenlenmesi gerekli (Denetlenmesi gerekli)

20

Çevrilmiş

30

Onaylanmış

add_flags

Eklenecek çeviri imleri

remove_flags

Kaldırılacak çeviri imleri

add_labels

Eklenecek etiketler

remove_labels

Kaldırılacak etiketler

Tetikleyiciler:

Eklenti kurulumu, Bileşen güncellemesi

Dizgelerin imlerini, etiketlerini veya durumlarını toplu düzenleyin.

Örnekler:

Yeni dizgeler kendiliğinden etiketlensin

Arama sorgusu

NOT has:label

Eklenecek etiketler

son

Tüm Uygulama mağazası üst veri dosyaları değişiklik günlüğü dizgelerini salt okunur olarak imleme

Arama sorgusu

language:en AND key:changelogs/

Eklenecek çeviri imleri

read-only

Belirli dizgeleri salt okunur olarak imleme

Arama sorgusu

source:r"^\`\`[.a-zA-Z0-9_-]*\`\`$" AND language:en

Eklenecek çeviri imleri

read-only

Değiştirilmemiş çevirileri “Yeniden yazılmalı” olarak imleme

Eklenti kimliği:

weblate.flags.same_edit

Yapılandırma:

Bu eklentinin yapılandırması yok.

Tetikleyiciler:

Birim oluşturma öncesi

Sürüm denetimi sisteminden yeni bir çevrilebilir dizge içe aktarıldığında ve bir kaynak dizgeyle eşleştiğinde, Weblate üzerinde yeniden yazılmalı 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

Çeviri durumları

Yeni kaynak dizgeleri “Denetlenmesi gerekli” olarak imleme

Eklenti kimliği:

weblate.flags.source_edit

Yapılandırma:

Bu eklentinin yapılandırması yok.

Tetikleyiciler:

Birim oluşturma öncesi

Sürüm denetimi sisteminden yeni bir kaynak dizge içe her aktarıldığında, Weblate üzerinde denetlenmesi gerekli olarak imlenir. Böylece geliştiriciler tarafından yazılan kaynak dizgeleri kolayca süzebilir ve düzenleyebilirsiniz.

Ayrıca bakınız

Çeviri durumları

Yeni çevirileri “Yeniden yazılmalı” olarak imleme

Eklenti kimliği:

weblate.flags.target_edit

Yapılandırma:

Bu eklentinin yapılandırması yok.

Tetikleyiciler:

Birim oluşturma öncesi

Sürüm denetimi sisteminden yeni bir çevrilebilir dizge içeri her aktarıldığında, Weblate üzerinde yeniden yazılmalı olarak imlenir. Böylece geliştiricilerin oluşturduğu çevirileri kolayca süzebilir ve düzenleyebilirsiniz.

Ayrıca bakınız

Çeviri durumları

Depodan güncellenmiş çevirileri “Yeniden yazılmalı” olarak imle

Eklenti kimliği:

weblate.flags.target_repo_update

Yapılandırma:

Bu eklentinin yapılandırması yok.

Tetikleyiciler:

Birim eşitleme sonrası

Sürüm denetimi sisteminden bir dizge çevirisi değiştirildiğinde, Weblate üzerinde yeniden yazılmalı 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

Çeviri durumları

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:

Eklenti kurulumu, Bileşen güncellemesi, Günlük

Salt okunur dizgelerin çevirilerini kaynak dizgeler ile doldurur.

İstatistik oluşturma

Eklenti kimliği:

weblate.generate.generate

Yapılandırma:

filename

Oluşturulacak dosyanın adı

template

Oluşturulacak dosyanın içeriği

Tetikleyiciler:

Eklenti kurulumu, Depo işleme öncesi

Ç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

Kalıp kodlaması

Ç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:

Eklenti kurulumu, Bileşen güncellemesi, Günlük

Ç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. .. AUTOGENERATED START: weblate.generate.pseudolocale .. Bu bölüm ./manage.py list_addons tarafından kendiliğinden oluşturulur. El ile düzenlemeyin.

Sözde yerel oluşturma

Added in version 4.5.

Eklenti kimliği:

weblate.generate.pseudolocale

Yapılandırma:

source

Kaynak dizgeler

target

Hedef çeviri

Bu çevirideki tüm dizgelerin üzerine yazılacak

prefix

Başa eklenmiş sabit yazı

var_prefix

Başa eklenmiş değişken yazı

suffix

Sona eklenmiş sabit yazı

var_suffix

Sona eklenmiş değişken yazı

var_multiplier

Değişken yazı çarpanı

Kaynak dizgenin uzunluğuna bağlı olarak değişken yazının kaç kez yineleneceği.

include_readonly

Salt okunur dizgeleri katma

Tetikleyiciler:

Eklenti kurulumu, Bileşen güncellemesi, Günlük

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:

Depo işleme öncesi

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:

Eklenti kurulumu, Günlük, Depo ekleme sonrası, Depo kaldırma sonrası

Bir çeviri eklendiğinde veya kaldırıldığında “configure”, “configure.in” veya “configure.ac” dosyalarındaki ALL_LINGUAS değişkenini günceller.

Bir çeviri eklendiğinde veya kaldırıldığında, configure, configure.in veya herhangi bir configure.ac dosyasındaki ALL_LINGUAS değişkenini günceller.

Gettext çıktısını özelleştirme

Removed in version 5.13: Dosya biçimi parametreleri ile değiştirildi.

Update gettext template (Django)

Added in version 5.17.

Eklenti kimliği:

weblate.gettext.django

Yapılandırma:

interval

Güncelleme sıklığı

Bileşen yenilendiğinde eklentinin POT dosyasının ne sıklıkta güncellemesi gerektiği.

Kullanılabilecek seçenekler:

daily

Günlük

weekly

Haftalık

monthly

Aylık

normalize_header

POT üst bilgisini normalleştirme

Gettext üst bilgilerini günceller ve yer belirtici POT yorumlarını değiştirir.

Tetikleyiciler:

Eklenti kurulumu, El ile tetikleme, Depo güncelleme sonrası

Hazır Django makemessages komutunu kullanarak gettext kalıbını günceller.

LINGUAS dosyasını güncelleme

Eklenti kimliği:

weblate.gettext.linguas

Yapılandırma:

Bu eklentinin yapılandırması yok.

Tetikleyiciler:

Eklenti kurulumu, Günlük, Depo ekleme sonrası, Depo kaldırma sonrası

Yeni bir çeviri eklendiğinde ya da kaldırıldığında LINGUAS dosyası güncellenir.

POT dosyasını güncelle (Meson)

Added in version 5.17.

Eklenti kimliği:

weblate.gettext.meson

Yapılandırma:

interval

Güncelleme sıklığı

Bileşen yenilendiğinde eklentinin POT dosyasının ne sıklıkta güncellemesi gerektiği.

Kullanılabilecek seçenekler:

daily

Günlük

weekly

Haftalık

monthly

Aylık

normalize_header

POT üst bilgisini normalleştirme

Gettext üst bilgilerini günceller ve yer belirtici POT yorumlarını değiştirir.

comment_mode

Kod yorumları

Hiç bir xgettext yorumu ayıklanmayacak, tüm yorumlar ayıklanacak veya yalnızca belirli bir etiketle imlenmiş yorumlar ayıklanacak olarak seçin.

Kullanılabilecek seçenekler:

off

Yorumlar ayıklanmasın

all

Tüm yorumlar ayıklansın

tagged

Belirli bir etiketteki yorumlar ayıklansın

comment_tag

Yorum etiketi

Etiketli yorum kipini kullanırken yorum ayıklaması için xgettext üzerine aktarılan etiket.

checks

xgettext denetimleri

Ayıklanan iletileri etkinleştirmek için ek xgettext doğrulama denetimleri.

Kullanılabilecek seçenekler:

ellipsis-unicode

ellipsis-unicode

space-ellipsis

space-ellipsis

quote-unicode

quote-unicode

bullet-unicode

bullet-unicode

keyword

Ek anahtar sözcük

İsteğe bağlı ek anahtar sözcük –keyword ile xgettext üzerine aktarıldı.

preset

Meson hazır ayarı

Meson gettext bütünleştirmesiyle eşleşen hazır xgettext değişkeni hazır ayarı. GLib hazır ayarı, Meson gettext yardımcısı tarafından kullanılan anahtar sözcük ve biçim-im seçeneklerini ekler.

Kullanılabilecek seçenekler:

glib

GLib

Tetikleyiciler:

Eklenti kurulumu, El ile tetikleme, Depo güncelleme sonrası

Meson gettext kurallarını kullanarak gettext kalıbını günceller.

MO dosyaları üretme

Eklenti kimliği:

weblate.gettext.mo

Yapılandırma:

path

Oluşturulan MO dosyasının yolu

Belirtilmemişse, PO dosyasının konumu kullanılır.

fuzzy

Düzenlenmesi gereken dizgeler katılsın

Düzenlenmesi gereken (belirsiz) dizgeler genellikle çeviri olarak kullanılmaya hazır değildir.

Tetikleyiciler:

Depo işleme öncesi

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:

Eklenti kurulumu, Depo güncelleme sonrası

Tüm PO dosyalarını (“Dosya maskesi” tarafından yapılandırıldığı gibi) msgmerge kullanarak POT dosyasıyla eşleşecek şekilde günceller (“Yeni çeviriler kalıbı” tarafından yapılandırıldığı gibi).

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.

POT dosyasını güncelle (Sphinx)

Added in version 5.17.

Eklenti kimliği:

weblate.gettext.sphinx

Yapılandırma:

interval

Güncelleme sıklığı

Bileşen yenilendiğinde eklentinin POT dosyasının ne sıklıkta güncellemesi gerektiği.

Kullanılabilecek seçenekler:

daily

Günlük

weekly

Haftalık

monthly

Aylık

normalize_header

POT üst bilgisini normalleştirme

Gettext üst bilgilerini günceller ve yer belirtici POT yorumlarını değiştirir.

filter_mode

Süzme

İsteğe bağlı olarak Sphinx ayıklamasından sonra çevrilmeye uygun olmayan dizgeleri kaldırır.

Kullanılabilecek seçenekler:

none

Yok

weblate_docs

Weblate belgeleri

Tetikleyiciler:

Eklenti kurulumu, El ile tetikleme, Depo güncelleme sonrası

Proje yapılandırmasını yüklemeden Sphinx gettext oluşturucusunu kullanarak gettext kalıbını günceller.

POT dosyasını güncelle (xgettext)

Added in version 5.17.

Eklenti kimliği:

weblate.gettext.xgettext

Yapılandırma:

interval

Güncelleme sıklığı

Bileşen yenilendiğinde eklentinin POT dosyasının ne sıklıkta güncellemesi gerektiği.

Kullanılabilecek seçenekler:

daily

Günlük

weekly

Haftalık

monthly

Aylık

normalize_header

POT üst bilgisini normalleştirme

Gettext üst bilgilerini günceller ve yer belirtici POT yorumlarını değiştirir.

comment_mode

Kod yorumları

Hiç bir xgettext yorumu ayıklanmayacak, tüm yorumlar ayıklanacak veya yalnızca belirli bir etiketle imlenmiş yorumlar ayıklanacak olarak seçin.

Kullanılabilecek seçenekler:

off

Yorumlar ayıklanmasın

all

Tüm yorumlar ayıklansın

tagged

Belirli bir etiketteki yorumlar ayıklansın

comment_tag

Yorum etiketi

Etiketli yorum kipini kullanırken yorum ayıklaması için xgettext üzerine aktarılan etiket.

checks

xgettext denetimleri

Ayıklanan iletileri etkinleştirmek için ek xgettext doğrulama denetimleri.

Kullanılabilecek seçenekler:

ellipsis-unicode

ellipsis-unicode

space-ellipsis

space-ellipsis

quote-unicode

quote-unicode

bullet-unicode

bullet-unicode

keyword

Ek anahtar sözcük

İsteğe bağlı ek anahtar sözcük –keyword ile xgettext üzerine aktarıldı.

input_mode

Giriş kaynağı

xgettext tarafından kaynak dosyalarının glob modellerinden mi yoksa bir POTFILES/POTFILES.in bildiriminden mi okunacağını seçin.

Kullanılabilecek seçenekler:

patterns

Kaynak dosya modelleri

potfiles

POTFILES envanteri

language

xgettext dili

Programlama dili xgettext üzerine aktarıldı, örneğin Python veya C.

source_patterns

Kaynak dosya modelleri

xgettext ile ayıklanacak dosyalar için yeni satır ile ayrılmış depoya göre glob modelleri.

potfiles_path

POTFILES yolu

POTFILES veya POTFILES.in dosyasına depoya göre yol. Kayıtlar depo kök klasörüne göre çözümlenir. Envanterin yanında varsa, POTFILES.skip listelenen dosyaları ayıklamaya katmaz.

Tetikleyiciler:

Eklenti kurulumu, El ile tetikleme, Depo güncelleme sonrası

Seçilmiş kaynak dosyalarda xgettext kullanarak gettext kalıbını günceller.

Git işlemelerini bir araya toplar

Eklenti kimliği:

weblate.git.squash

Yapılandırma:

squash

İşlemeleri bir araya toplama

Kullanılabilecek seçenekler:

all

Tüm işlemeler bir arada

language

Dile göre

file

Dosyaya göre

author

Katkıda bulunana göre

append_trailers

Bir 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:

Eklenti kurulumu, Depo işleme sonrası

Değişiklikleri yollamadan önce Git işlemelerini bir araya toplar.

İpucu

Gereksiz çelişkileri ö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.

Depoyu yukarı akışa sıfırla

Added in version 5.17.

Eklenti kimliği:

weblate.hosted.reset

Yapılandırma:

Bu eklentinin yapılandırması yok.

Tetikleyiciler:

Eklenti kurulumu, Günlük

Her gece Weblate deposundaki tüm değişiklikleri yok sayar.

Java özellikleri dosyasını biçimlendirme

Eklenti kimliği:

weblate.properties.sort

Yapılandırma:

case_sensitive

Büyük/küçük harfe duyarlı anahtar sıralaması kullanılsın

Tetikleyiciler:

Depo işleme öncesi

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:

age

Tutulacak gün sayısı

Tetikleyiciler:

Eklenti kurulumu, Günlük

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:

age

Tutulacak gün sayısı

votes

Oy verme eşiği

Threshold for removal. Leave empty to remove suggestions regardless of votes. This field has no effect with voting turned off.

Tetikleyiciler:

Eklenti kurulumu, Günlük

Ö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:

Eklenti kurulumu, Depo güncelleme sonrası

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

events

Değişiklik etkinlikleri

Değişiklik etkinlikleri

Tetikleyiciler:

Değişiklik etkinliği

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.

5.15 sürümünde değişti: Parola uzunluğunun teknik özelliklere uygunluğu doğrulandı.

Eklenti kimliği:

weblate.webhook.webhook

Yapılandırma:

webhook_url

İnternet kancası adresi

secret

İnternet kancası parolası

Standart internet kancaları parolası base64 kodlu bir dizgedir.

events

Değişiklik etkinlikleri

Değişiklik etkinlikleri

Tetikleyiciler:

Değişiklik etkinliği

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.

Belirtilen parola, 24 bayt (192 bit) ve 64 bayt (512 bit) arasında base64 kodlu bir dizgedir. Kolay tanımlama için whsec_ ön eki kullanılabilir.

Bir isteği doğrulamak için standardwebhooks kitaplığındaki Webhook.verify yöntemini veya “Standart Webhooks teknik özelliklerinin” bir uygulamasını kullanabilirsiniz.

Sahipsiz eklentiler

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.

Yaygın eklenti parametreleri

Makine çevirisi hizmetleri

Kullanılabilecek seçenekler:

alibaba

Alibaba

aws

Amazon Translate

anthropic

Anthropic

apertium-apy

Apertium APy

microsoft-translator

Azure AI Translator

azure-openai

Azure OpenAI

baidu

Baidu

cyrtranslit

CyrTranslit

deepl

DeepL

glosbe

Glosbe

google-translate-api-v3

Google Cloud Translation Advanced

google-translate

Google Cloud Translation Basic

ltengine

LTEngine

libretranslate

LibreTranslate

modernmt

ModernMT

mymemory

MyMemory

netease-sight

Netease Sight

ollama

Ollama

openai

OpenAI

sap-translation-hub

SAP Translation Hub

systran

Systran

weblate

Weblate

weblate-translation-memory

Weblate çeviri belleği

yandex

Yandex

yandex-v2

Yandex v2

youdao-zhiyun

Youdao Zhiyun

tmserver

tmserver

Dosya biçimi

Kullanılabilecek seçenekler:

apple-xliff

Apple eklentileriyle XLIFF 1.2

appstore

Uygulama mağazası üst veri dosyaları

arb

ARB dosyası

aresource

Android dizge kaynağı

asciidoc

AsciiDoc dosyası

ass

Advanced Substation Alpha alt yazı dosyası

catkeys

Haiku catkeys

cmp-resource

Çok platform kaynağı oluşturma

csv

CSV dosyası

csv-multi

Çok değerli CSV dosyası

csv-simple

Basit CSV dosyası

dokuwiki

DokuWiki metin dosyası

dtd

DTD dosyası

flatxml

Düz XML dosyası

fluent

Fluent dosyası

formatjs

Format.JS JSON dosyası

go-i18n-json

go-i18n v1 JSON dosyası

go-i18n-json-v2

go-i18n v2 JSON dosyası

go-i18n-toml

go-i18n TOML dosyası

gotext

gotext JSON dosyası

gwt

GWT özellikleri

html

HTML dosyası

i18next

i18next JSON dosyası v3

i18nextv4

i18next JSON dosyası v4

idml

IDML dosyası

ini

INI dosyası

islu

Inno Setup INI dosyası

joomla

Joomla dil dosyası

json

JSON dosyası

json-nested

JSON iç içe geçmiş yapı dosyası

laravel

Laravel PHP dizgeleri

markdown

Markdown dosyası

mdx

MDX file

mediawiki

MediaWiki metin dosyası

mi18n-lang

@draggable/i18n dil dosyası

moko-resource

Mobile Kotlin kaynağı

nextcloud-json

Nextcloud JSON dosyası

odf

OpenDocument dosyası

php

PHP dizgeleri

plainxliff

XLIFF 1.2 çeviri dosyası

po

gettext PO dosyası

po-mono

gettext PO dosyası (tek dilli)

poxliff

gettext eklentileriyle XLIFF 1.2

properties

Java özellikleri

rc

RC dosyası

resjson

RESJSON dosyası

resourcedictionary

ResourceDictionary dosyası

resx

.NET kaynak dosyası

ruby-yaml

Ruby YAML dosyası

srt

SubRip alt yazı dosyası

ssa

Substation Alpha alt yazı dosyası

strings

iOS dizgeleri

stringsdict

Stringsdict dosyası

sub

MicroDVD alt yazı dosyası

tbx

TermBase eXchange dosyası

toml

TOML dosyası

ts

Qt Linguist çeviri dosyası

txt

Düz metin dosyası

webextension

WebExtension JSON dosyası

wxl

WixLocalization dosyası

xliff

Yerleştirilebilir ögeler desteği olan XLIFF 1.2

xliff2

XLIFF 2.0 çeviri dosyası

xliff2-placeables

Yerleştirilebilir ögeler desteği olan XLIFF 2.0

xlsx

Excel Open XML

xwiki-fullpage

XWiki tam sayfası

xwiki-java-properties

XWiki Java özellikleri

xwiki-page-properties

XWiki sayfası özellikleri

yaml

YAML dosyası

Değişiklik etkinlikleri

Kullanılabilecek seçenekler:

0

Kaynak güncellendi

1

Çeviri tamamlandı

2

Çeviri değiştirildi

3

Yorum eklendi

4

Öneri eklendi

5

Çeviri eklendi

6

Kendiliğinden çevrildi

7

Öneri kabul edildi

8

Çeviri geri alındı

9

Çeviri yüklendi

13

Kaynak dizge eklendi

14

Bileşen kilitlendi

15

Bileşenin kilidi açıldı

17

Değişiklikler işlendi

18

Değişiklikler itildi

19

Depo sıfırlandı

20

Depo birleştirildi

21

Depo yeniden yerleştirildi

22

Depo birleştirilemedi

23

Depo yeniden yerleştirilemedi

24

İşlenemedi

25

Çeviri silindi

26

Öneri silindi

27

Çeviri değiştirildi

28

Depo itilemedi

29

Öneri temizleme sırasında silindi

30

Kaynak dizge değiştirildi

31

Dizge eklendi

32

Durum toplu olarak değiştirildi

33

Görünürlük değiştirildi

34

Kullanıcı eklendi

35

Kullanıcı silindi

36

Çeviri onaylandı

37

Düzenlenmek üzere imlendi

38

Bileşen silindi

39

Proje silindi

41

Proje yeniden adlandırıldı

42

Bileşen yeniden adlandırıldı

43

Bileşen taşındı

45

Katkıda bulunan katıldı

46

Duyuru gönderildi

47

Uyarı tetiklendi

48

Dil eklendi

49

Dil istendi

50

Proje oluşturuldu

51

Bileşen oluşturuldu

52

Kullanıcı çağrıldı

53

Depo bildirimi alındı

54

Çeviri dosya yüklemesi ile değiştirildi

55

Lisans değiştirildi

56

Katılımcı lisans anlaşması değiştirildi

57

Ekran görüntüsü eklendi

58

Ekran görüntüsü yüklendi

59

Depodaki dizge değiştirildi

60

Eklenti kuruldu

61

Eklenti yapılandırması değiştirildi

62

Eklenti kaldırıldı

63

Dizge kaldırıldı

64

Yorum silindi

65

Yorum çözümlendi

66

Açıklama güncellendi

67

Kategori silindi

68

Kategori yeniden adlandırıldı

69

Kategori taşındı

70

Dizge kaydedilemedi

71

Depoya dizge eklendi

72

Yüklemedeki dizge güncellendi

73

Yüklemeye dizge eklendi

74

Çeviri kaynak yüklemesi ile değiştirildi

75

Bileşen çevirisi tamamlandı

76

Zorunlu denetim uygulandı

77

Değişiklik yayıldı

78

Dosya yüklendi

79

Ek imler güncellendi

80

Yazı tipi yüklendi

81

Yazı tipi değiştirildi

82

Yazı tipi silindi

83

Çevirilerin eşitlenmesi dayatıldı

84

Çevirilerin yeniden taranması dayatıldı

85

Ekran görüntüsü kaldırıldı

86

Etiket eklendi

87

Etiket kaldırıldı

88

Depo temizlendi

89

Yüklemeye kaynak dizge eklendi

90

Depoya kaynak dizge eklendi

91

Proje yedeklendi

92

Proje geri yüklendi

93

Bileşen geri yüklendi

94

Kullanıcı düzenlemesi geri alındı

95

Project setting changed

96

Component setting changed

97

User access changed

98

Workspace created

99

Workspace setting changed

100

Project moved

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

Eklentileri geliştirmek

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 adres son eki.

WL_PROJECT_SLUG

Adresi oluşturmak için kullanılan proje adres son eki.

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

Bileşen yapılandırması

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.