İçeriğe geç

Çok dilli alignment

Geliştirme · 1.0.0

Yayın

Doküman
1.0.0
Uygulama
1.0.0
Şema
1
Veri
tr-latn-1

Bu sayfa

Uygulama
1.0.0
Şema
1
Veri
tr-latn-1

Her dil kendi immutable text release’ine sahiptir. Çeviri cümlesi Türkçe cümlenin kolonu değildir; alignment katmanı iki bağımsız metin sürümündeki unit’leri many-to-many gruplar halinde bağlar.

Yeni dil, mevcut çeviriye ekleme veya hizalama düzeltmesi için başlangıç belgesi Dil ve çeviri yayın akışıdır. Bu modelin çok dilli olması bütün importer ve istemcilerin dil bağımsız olduğu anlamına gelmez; rehber hazır yetenekleri ve kalan entegrasyon işlerini ayırır. Güncel İngilizce çift en-alignment-17 / en-target-render-4 olup aşağıdaki sequence 2 sayımları tarihsel başlangıcı belgeler.

Bir alignment release’i şunları taşır:

  • source ve target text release kimlikleri;
  • exact sentence/span unit’leri;
  • ordered alignment grupları;
  • review ve coverage durumu;
  • unresolved veya excluded üyeler.

Bir Türkçe cümle birden fazla hedef cümleye, birden fazla Türkçe cümle tek hedef cümleye bağlanabilir. Bu nedenle yalnız sıra numarasıyla eşleştirme yapılmaz.

Atıflar diller arasında otomatik kopyalanmaz. Alignment, ileride kontrollü bir projection üretmek için kanıt sağlar; source atfının target metinde aynı hassasiyet ve anlamla geçerli olduğu ayrıca değerlendirilir.

en-target-render-1, İngilizce kaynak kitaplardan chapter metnini exact byte aralığıyla yayımlar. Bu katman:

  • chapter’ı aynı canonical Türkçe chapter_id kaydına bağlar;
  • İngilizce metnin kaynak byte’larını değiştirmeden okunmasını sağlar;
  • çevirisi olmayan veya kaynak kapsamı dışında kalan chapter’ları açık durumlarla ayırır.

Bu bir cümle alignment release’i değildir. Chapter ilişkisinin bulunması, içindeki her İngilizce cümlenin bir Türkçe sentence_id ile yayımlanmış olduğu anlamına gelmez. Reader bu nedenle exact İngilizce metni göstermek için sentence alignment’a veya Türkçe fallback’e ihtiyaç duymaz.

Alignment modelinin Türkçe source unit’i doğrudan public.sentences.id kimliğine FK ile bağlanır. Hedef unit ise exact İngilizce kaynak kitabındaki Unicode scalar ve UTF-8 byte aralığını taşır. Gruplar şu ilişkileri kayıpsız ifade eder:

Biçim Türkçe Hedef dil
one_to_one 1 cümle 1 unit
split 1 cümle birden çok unit
merge birden çok cümle 1 unit
complex birden çok cümle birden çok unit
split_interleaved 1 cümle aralarında başka accepted üyeler bulunan, incelenmiş hedef parçaları
complex_interleaved birden çok cümle aralarında başka accepted üyeler bulunan, incelenmiş hedef parçaları

Son iki biçim açıkça incelenmiş hedef yerleşimleri içindir. Kaynak sırası veya hedef sahipliği gevşetilmez; parçalar arasındaki başka gruba ait metin aynı çevirinin parçasıymış gibi alınmaz.

Sıra numarası yalnız import kanıtıdır; kalıcı ilişki değildir. Yayınlandıktan sonra Türkçe tarafın otoritesi stable sentence_id, İngilizce tarafın otoritesi exact kaynak aralığı ve bunları bağlayan immutable alignment group kimliğidir.

Aşağıdaki sayımlar en-alignment-2 başlangıç envanterini belgeler. Güncel scope düzeltmeleri, English hover sözleşmesi ve successor kurulumu için İngilizce okuma kalitesi belgesine bakın.

en-alignment-2, kabul edilmiş successor çalışmayı path-sız ve yeniden kurulabilir bir public package olarak yayımlar:

Kayıt Sayı
Chapter scope 171
Benzersiz Türkçe source unit 52.946
Benzersiz İngilizce target unit 49.770
Scope-unit üyeliği 103.165
Alignment adayı 34.125
Kabul edilmiş group 33.937
Açıkça unresolved aday 188
Türkçe unresolved scope-unit 8.965
İngilizce unresolved scope-unit 8.991

Release kimliği ce9c424b-13b6-5ea5-b36a-ed80f49fd3fa, package root’u 6dd57f826860596e9199cac287e71eaed6ec7bd70d755d182bc8291d2af98756 ve DB publication root’u b70e5c42642fbb90eaebed1622c3beae51c930d59b842274df603f61754ffdd9’dir. Makinece okunur zarf data/releases/en-alignment-2.json dosyasındadır. On beş ilişkisel stream şu immutable R2 prefix’inde yayımlanır:

https://data.munderecat.com/releases/en-alignment-2/package-6dd57f826860596e9199cac287e71eaed6ec7bd70d755d182bc8291d2af98756/

Sequence 1 release ve b13b3649-f826-5ed8-8932-580bb1917bcf deployment’ı immutable geçmiş yayın olarak korunur. Sequence 2 yalnız aktif en/Latn kanal pointer’ını değiştirir. Değişmeyen unit ve group stable ID’leri iki release arasında yeniden kullanılır; eski atıf hedefleri bu yüzden bozulmaz.

partial durumu bozuk veya yarım kurulumu ifade etmez. Accepted kapsam ile unresolved kapsamın ikisi de kapanışta sayılır; sistem kanıtsız bir eşleşme uydurmaz. Bir İngilizce unit birden fazla chapter scope’unda kullanılabildiği için benzersiz target unit sayısı ile target scope-unit sayısı aynı değildir.

Alignment package exact İngilizce kitap byte’larını tekrar taşımaz. api_control.alignment_target_source_bindings ve api_control.alignment_target_book_bindings, alignment kimliklerini kurulu en-target-render-1 release’ine bağlayan küçük immutable köprülerdir. Target unit yalnız şu witness’ları taşır:

  • target source release ve book kimliği;
  • Unicode scalar başlangıç/bitiş koordinatları;
  • UTF-8 byte başlangıç/bitiş koordinatları;
  • exact slice SHA-256 değeri.

Insert trigger’ı yalnız ilgili byte aralığını okuyup hash ve scalar uzunluğunu doğrular. Böylece yaklaşık 9,5 MB İngilizce kaynak metin alignment katmanında çoğaltılmaz; reader yine kaynak byte’ların kendisini döndürür.

Alignment; core, target-render, Osmanlıca ve lexical release’lerinden sonra kurulur. Tam temiz yerel kurulum için:

Terminal window
make db-rebuild-data

Ön koşullar zaten kuruluysa yalnız alignment:

Terminal window
make db-install-alignment

Hosted kurulumda MUNDERECAT_DATABASE_URL_FILE veya MUNDERECAT_DATABASE_URL ayarlandıktan sonra:

Terminal window
make db-remote-install-alignment

Installer manifest ve 15 stream hash’ini doğrular, 684.380 satırı tek transaction’da yükler, FK/interval/coverage/order kapanışlarını çalıştırır ve API deployment’ını compare-and-activate eder. Hata tam rollback bırakır. Aynı release tekrar çalıştırıldığında stream göndermez; yalnız kurulu envanteri ve aktif deployment’ı doğrular.

Normal group üyeleri scope içinde bitişik olmalıdır. complex bir group yalnız aynı release’te açıkça unresolved kaydedilmiş pozisyonların üzerinden atlayabilir; üye sırası yine kesin artmalıdır. Böylece kabul edilmiş tek kaynak boşluğu korunurken genel contiguity kuralı gevşetilmez.

Successor merge yalnız eksik stable kayıtları insert eder, mevcut kayıtları exact karşılaştırır ve release-owned üyelikleri append eder. Yerel idempotent tekrar 0,34 saniye, hosted tekrar 4,48 saniye ölçülmüştür; ikisinde de stream gönderilmemiştir.

Sequence 2 API deployment’ı 3638f359-3e5f-5eb3-9040-7f46bf9f3ba4’dür. api_v1.list_chapter_alignment_units_v2 chapter, locale, script ve source/target sıra yüzüne göre sayfalı unit döndürür. Her accepted item:

  • stable Türkçe sentence_id listesini;
  • exact İngilizce target unit listesini;
  • one_to_one, split, merge veya complex biçimini;
  • immutable alignment group kimliğini ve authority durumunu taşır.

Örneğin doğrulama fixture’ında iki Türkçe cümle tek İngilizce unit’e merge olarak bağlıdır. Bu nedenle gelecekte Türkçe cümleye authored bir atıf eklendiğinde sistem kabul edilmiş group üzerinden İngilizce karşılık adaylarını bulabilir. Atıf otomatik olarak yeniden yazılmaz; birden çok hedef korunur ve unresolved unit için ilişki varmış gibi davranılmaz.

Exact İngilizce chapter reader bu release’e bağımlı değildir. Alignment karşılık, iz sürme ve ileride kontrollü atıf projection’ı sağlar; exact target render kendi kaynak kapsamı içinde alignment fallback’i olmadan çalışmayı sürdürür.

İngilizce reader aktif kanalın v2 projection’ını kullanır. Sequence 1’i karşılaştırmak isteyen denetleyici aynı endpoint’e eski alignment deployment ID’sini açıkça verebilir; iki yayın aynı anda okunabilir.

Yeni bir dil veya aynı dilin successor release’ini üretme, kurma ve kanal aktivasyonu için Dil ve çeviri yayın akışına bakın. Kanal aktivasyonu atomiktir; farklı kanallar, R2 ve uygulama yayınının tamamı tek transaction değildir.