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.

For a one-time cleanup of a single translation file, use Cleanup unused in Depo bakımı on that translation instead of installing the add-on.

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:

amqp_url

AMQP broker URL

The AMQP broker URL to connect to.

publish_timeout

Publish timeout

How many seconds to wait for the broker delivery acknowledgement.

connection_attempts

Connection attempts

How many times to try connecting to the broker.

retry_delay

Retry delay

How many seconds to wait between connection attempts.

ca_cert

CA certificate bundle (PEM)

Paste only PEM certificate blocks, each starting with “—–BEGIN CERTIFICATE—–” and ending with “—–END CERTIFICATE—–“.

client_key

Client private key (PEM)

Paste a single unencrypted PEM private key block. Encrypted private keys are not supported.

client_cert

Client certificate (PEM)

Paste only the PEM certificate block starting with “—–BEGIN CERTIFICATE—–”; do not paste the output from “openssl x509 -text”.

event_filter

Change events to trigger

Choose which change events should trigger this add-on. Change events to trigger

events

Selected change events

Selected change events

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

All messages have topic weblate.<action>.<project>.<category...>.<component>.<translation>. The action is lowercase textual representation of action with underscores instead of space, for example resource_updated; see Selected change events for all action identifiers. The remaining parts match Weblate object path segments.

For example, a project backup event for the website project uses weblate.project_backed_up.website. A translation change in the website project, frontend component, and Czech translation uses weblate.translation_changed.website.frontend.cs. The same change in the frontend component inside the parent and child categories uses weblate.translation_changed.website.parent.child.frontend.cs.

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

This add-on updates the template configured in Yeni çeviriler kalıbı. It is available for gettext PO components, and the component must define a template for new translations.

The selected update frequency applies to automatic runs after repository refreshes. Installing or reconfiguring the add-on runs it immediately, and manual runs from add-on management or the API also bypass the frequency schedule. After a successful update, Weblate commits the changed template and reloads source strings.

The template update does not update translation PO files by itself. Keep PO dosyalarını POT ile eşleştirerek güncelleme (msgmerge) installed when translation files should follow template changes automatically. The install form for this add-on can install that add-on, but existing add-on settings do not show that installation option again.

Django requirements

This add-on requires xgettext and msguniq. It runs Weblate’s internal extraction wrapper for Django messages instead of invoking a project’s manage.py makemessages, so it does not load project Django settings or applications.

The template for new translations must use the django or djangojs domain. Supported template names are django.pot, djangojs.pot, django.po, and djangojs.po. Weblate infers the source directory from the template path and skips repository locale directories while extracting.

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.

This add-on updates the template configured in Yeni çeviriler kalıbı. It is available for gettext PO components, and the component must define a template for new translations.

The selected update frequency applies to automatic runs after repository refreshes. Installing or reconfiguring the add-on runs it immediately, and manual runs from add-on management or the API also bypass the frequency schedule. After a successful update, Weblate commits the changed template and reloads source strings.

The template update does not update translation PO files by itself. Keep PO dosyalarını POT ile eşleştirerek güncelleme (msgmerge) installed when translation files should follow template changes automatically. The install form for this add-on can install that add-on, but existing add-on settings do not show that installation option again.

Meson requirements

This add-on requires xgettext; it does not invoke Meson. It follows Meson gettext conventions by reading POTFILES or POTFILES.in from the gettext directory and passing the GLib keyword and format-flag preset to xgettext.

The gettext directory is the directory containing the template configured in Yeni çeviriler kalıbı. It must contain meson.build and POTFILES or POTFILES.in. A Meson project meson.build must be present in that directory or one of its parent directories. If both POTFILES and POTFILES.in exist, POTFILES is used. An adjacent POTFILES.skip excludes listed source files from extraction.

Configure this add-on from the existing Meson gettext setup. In most Meson projects, the gettext directory is po/, the template is named after the gettext domain, and po/meson.build calls Meson’s gettext helper. Use the same template path in Yeni çeviriler kalıbı, for example po/example.pot, and keep POTFILES or POTFILES.in next to that meson.build file.

Weblate does not read the source file list from meson.build. It uses POTFILES or POTFILES.in, matching Meson’s gettext convention. When the Meson project uses a non-default gettext directory or domain, mirror that layout in the component template path.

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)

Most msgmerge command-line options can be set up through file format parameters configuration. Enable the po_remove_obsolete parameter to remove obsolete #~ entries when PO files are saved.

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.

This add-on updates the template configured in Yeni çeviriler kalıbı. It is available for gettext PO components, and the component must define a template for new translations.

The selected update frequency applies to automatic runs after repository refreshes. Installing or reconfiguring the add-on runs it immediately, and manual runs from add-on management or the API also bypass the frequency schedule. After a successful update, Weblate commits the changed template and reloads source strings.

The template update does not update translation PO files by itself. Keep PO dosyalarını POT ile eşleştirerek güncelleme (msgmerge) installed when translation files should follow template changes automatically. The install form for this add-on can install that add-on, but existing add-on settings do not show that installation option again.

Sphinx requirements

This add-on requires sphinx-build, provided by the sphinx installation extra. The template for new translations must be a .pot file below a locales directory. The directory before locales is used as the Sphinx source directory and must contain conf.py.

Extraction uses Weblate’s bundled Sphinx configuration and does not load the project configuration. Weblate runs the Sphinx gettext builder, normalizes source references to paths relative to the source directory, and copies the generated template back to the configured template path.

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

Programming language passed to xgettext, for example Python or C. Leave blank to let xgettext guess the language from file extensions.

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.

This add-on updates the template configured in Yeni çeviriler kalıbı. It is available for gettext PO components, and the component must define a template for new translations.

The selected update frequency applies to automatic runs after repository refreshes. Installing or reconfiguring the add-on runs it immediately, and manual runs from add-on management or the API also bypass the frequency schedule. After a successful update, Weblate commits the changed template and reloads source strings.

The template update does not update translation PO files by itself. Keep PO dosyalarını POT ile eşleştirerek güncelleme (msgmerge) installed when translation files should follow template changes automatically. The install form for this add-on can install that add-on, but existing add-on settings do not show that installation option again.

xgettext requirements

This add-on requires xgettext. Configure either source file patterns or a POTFILES / POTFILES.in manifest. Source file patterns are repository-relative glob patterns and only matching repository files are passed to xgettext.

Entries in POTFILES or POTFILES.in are resolved relative to the repository root. They must be relative paths, stay inside the repository, and point to existing files. Blank lines and lines starting with # are ignored. If a POTFILES.skip file exists next to the manifest, its entries are excluded from extraction.

Automatic repository refresh runs are skipped unless the changed files match the configured source patterns, match files listed in the manifest, change a watched manifest, or change the add-on configuration.

Start from the build-system extraction setup when configuring this add-on. Autotools projects usually keep gettext inputs in po/POTFILES.in and options such as the gettext domain and xgettext flags in po/Makevars or related Makefile.am files. Use manifest mode with the same POTFILES.in when its entries are plain repository-relative source paths, and copy relevant extraction behavior into the add-on settings, for example the language, comment extraction, checks, and additional keyword.

For other build systems, use the source list or extraction command they already run as the source of truth. CMake, custom Makefiles, npm scripts, or project specific extraction scripts often call xgettext directly or generate an intermediate file list. Configure source patterns for simple layouts, or use manifest mode when the project maintains a plain file list. If a build-system manifest contains transformations or prefixes that are not file paths, convert it to plain repository-relative paths before using it as POTFILES.

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

event_filter

Change events to trigger

Choose which change events should trigger this add-on. Change events to trigger

events

Selected change events

Selected change events

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.

event_filter

Change events to trigger

Choose which change events should trigger this add-on. Change events to trigger

events

Selected change events

Selected change events

Tetikleyiciler:

Değişiklik etkinliği

Standart Webhooks teknik özelliklerine uygun olarak, seçilmiş etkinliklere göre dış hizmetlere bildirim gönderir.

The request payload complies with the Weblate Messaging schema. The action field uses the action name listed in Selected change events. The OpenAPI description can also be found at /api/docs/. Sample request body:

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

mistral

Mistral

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ı

Change events to trigger

Kullanılabilecek seçenekler:

content

Translation content events

all

All change events

custom

Selected change events

Selected change events

The following change actions can appear in notification payloads. Fedora Messaging uses the identifier column in message topics, while webhook payloads use the name column in the action field.

Kullanılabilecek seçenekler:

ID

Identifier

Ad

0

resource_updated

Kaynak güncellendi

1

translation_completed

Çeviri tamamlandı

2

translation_changed

Çeviri değiştirildi

3

comment_added

Yorum eklendi

4

suggestion_added

Öneri eklendi

5

translation_added

Çeviri eklendi

6

automatically_translated

Kendiliğinden çevrildi

7

suggestion_accepted

Öneri kabul edildi

8

translation_reverted

Çeviri geri alındı

9

translation_uploaded

Çeviri yüklendi

13

source_string_added

Kaynak dizge eklendi

14

component_locked

Bileşen kilitlendi

15

component_unlocked

Bileşenin kilidi açıldı

17

changes_committed

Değişiklikler işlendi

18

changes_pushed

Değişiklikler itildi

19

repository_reset

Depo sıfırlandı

20

repository_merged

Depo birleştirildi

21

repository_rebased

Depo yeniden yerleştirildi

22

repository_merge_failed

Depo birleştirilemedi

23

repository_rebase_failed

Depo yeniden yerleştirilemedi

24

parsing_failed

İşlenemedi

25

translation_removed

Çeviri silindi

26

suggestion_removed

Öneri silindi

27

translation_replaced

Çeviri değiştirildi

28

repository_push_failed

Depo itilemedi

29

suggestion_removed_during_cleanup

Öneri temizleme sırasında silindi

30

source_string_changed

Kaynak dizge değiştirildi

31

string_added

Dizge eklendi

32

bulk_status_changed

Durum toplu olarak değiştirildi

33

visibility_changed

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

34

user_added

Kullanıcı eklendi

35

user_removed

Kullanıcı silindi

36

translation_approved

Çeviri onaylandı

37

marked_for_edit

Düzenlenmek üzere imlendi

38

component_removed

Bileşen silindi

39

project_removed

Proje silindi

41

project_renamed

Proje yeniden adlandırıldı

42

component_renamed

Bileşen yeniden adlandırıldı

43

moved_component

Bileşen taşındı

45

contributor_joined

Katkıda bulunan katıldı

46

announcement_posted

Duyuru gönderildi

47

alert_triggered

Uyarı tetiklendi

48

language_added

Dil eklendi

49

language_requested

Dil istendi

50

project_created

Proje oluşturuldu

51

component_created

Bileşen oluşturuldu

52

user_invited

Kullanıcı çağrıldı

53

repository_notification_received

Depo bildirimi alındı

54

translation_replaced_file_by_upload

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

55

license_changed

Lisans değiştirildi

56

contributor_license_agreement_changed

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

57

screenshot_added

Ekran görüntüsü eklendi

58

screenshot_uploaded

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

59

string_updated_in_the_repository

Depodaki dizge değiştirildi

60

add-on_installed

Eklenti kuruldu

61

add-on_configuration_changed

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

62

add-on_uninstalled

Eklenti kaldırıldı

63

string_removed

Dizge kaldırıldı

64

comment_removed

Yorum silindi

65

comment_resolved

Yorum çözümlendi

66

explanation_updated

Açıklama güncellendi

67

category_removed

Kategori silindi

68

category_renamed

Kategori yeniden adlandırıldı

69

category_moved

Kategori taşındı

70

saving_string_failed

Dizge kaydedilemedi

71

string_added_in_the_repository

Depoya dizge eklendi

72

string_updated_in_the_upload

Yüklemedeki dizge güncellendi

73

string_added_in_the_upload

Yüklemeye dizge eklendi

74

translation_updated_by_source_upload

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

75

component_translation_completed

Bileşen çevirisi tamamlandı

76

applied_enforced_check

Zorunlu denetim uygulandı

77

propagated_change

Değişiklik yayıldı

78

file_uploaded

Dosya yüklendi

79

extra_flags_updated

Ek imler güncellendi

80

font_uploaded

Yazı tipi yüklendi

81

font_changed

Yazı tipi değiştirildi

82

font_removed

Yazı tipi silindi

83

forced_synchronization_of_translations

Çevirilerin eşitlenmesi dayatıldı

84

forced_rescan_of_translations

Çevirilerin yeniden taranması dayatıldı

85

screenshot_removed

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

86

label_added

Etiket eklendi

87

label_removed

Etiket kaldırıldı

88

repository_cleanup

Depo temizlendi

89

source_string_added_in_the_upload

Yüklemeye kaynak dizge eklendi

90

source_string_added_in_the_repository

Depoya kaynak dizge eklendi

91

project_backed_up

Proje yedeklendi

92

project_restored

Proje geri yüklendi

93

component_restored

Bileşen geri yüklendi

94

user_edit_reverted

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

95

project_setting_changed

Project setting changed

96

component_setting_changed

Component setting changed

97

user_access_changed

User access changed

98

workspace_created

Workspace created

99

workspace_setting_changed

Workspace setting changed

100

project_moved

Project moved

101

remote_repository_updated

Remote repository updated

102

remote_repository_update_failed

Remote repository update failed

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.