Extension:Cognate

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:Cognate and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎euskara • ‎français • ‎magyar • ‎português do Brasil • ‎suomi • ‎বাংলা • ‎中文 • ‎日本語
MediaWiki manüel uzantıları
OOjs UI icon advanced.svg
Cognate
Sürüm durumu: kararlı
Uygulama Veritabanı
Açıklama Link different language versions of a page by using the page title.
Yazar(lar) Gabriel Birke, Addshore
En son sürüm Continuous updates
Uyumluluk politikası Snapshots releases along with MediaWiki. Master is not backwards compatible.
MediaWiki 1.29+
Veritabanı değişiklikleri Evet
Tablolar cognate_sites
cognate_pages
cognate_titles
Lisans GNU Genel Kamu Lisansı 2.0 veya üstü
İndir
  • $wgCognateCluster
  • $wgCognateReadOnly
  • $wgCognateDb
  • $wgCognateNamespaces
Translatewiki.net adresinde mevcutsa, Cognate uzantısını çevirin

Kullanım ve sürüm matrisini kontrol edin.

Sorunlar Açık görevler · Hata bildir

Cognate uzantısı, bir grup site için sayfa başlıklarının depolandığı merkezi bir depo oluşturur. Daha sonra başlıkların aynı olduğu durumlarda viki projeleri arasında vikiarası bağlantıları oluşturabilir. "Vikisözlük için vikiarası dil bağlantılarını merkezileştir" görevini çözmek için geliştirilmiştir.

"Cognate", aynı kökenden geliştirilen farklı dillerdeki kelimelere atıfta bulunan dilbilimsel bir kavramdır. Bu uzantının yanlış adlandırıldığı anlamına gelir, bu uzantı, vikiler arasında aynı başlığa sahip sayfaları bağladığından, özel ad "Homograph" olacaktır.

Varsayımlar ve kısıtlamalar

  • Sayfalar standart MediaWiki ad alanlarından birinde olmalıdır.
  • Sayfa başlıkları diller arasında aynıdır (bazı basit normalleştirme uygulanmıştır).
  • Siteler, dil bağlantıları için aynı vikiarası yapısına sahip olmalıdır.
  • Sayfalar, Cognate tarafından sağlanan bağlantıyı geçersiz kılacağından, vikimetinde diller arası bağlantılar içermemelidir.
  • Beklenmeyen hash çakışmaları olası değildir, ancak meydana gelebilir ve beklenmedik dil bağlantılarına neden olabilir.

Nasıl çalışır

Başlık Normalleştirme

Uzantı içinde çok basit başlık normalizasyonu (ASCII'ye indirgeme) gerçekleşir. Bu, StringNormalizer sınıfı içinde görülebilir.

Başlangıçta normalleştirme miktarı çok azdır. Bunu genişletmek için istekler yapılabilir ve duruma göre eklenecektir.

Dize Normalleştirilmiş Notlar
Hello… Hello... Ham dizge bir üç nokta karakteri içerir. Bu üçe karakterler normalleştirilmiştir.
lepelle’ lepelle' Normalleştirilmiş dizede normalleştirilmiş bir kesme işareti vardır.

Başlık Karması

Başlıklar sha256 kullanılarak karma hale getirilir. Bu, StringHasher sınıfı içinde görülebilir.

Karmanın bir kısmı daha sonra verimli aramalar için BIG_INT alanında veritabanında depolanır.

Yaklaşık 18,446,744,073,709,551,615 olası değer vardır.

Dize Karma Arayüz
A 559AEAD08264D5795D3909718CDD05ABD49572E84FE55590EEF31A88A08FDFFD 6168500820899059065
Foo 1CBEC737F863E4922CEE63CC2EBBFAAFCD1CFF8B790D8CFD2E6A5D550B648AFA 2071311921841431698
1234567890 C775E7B757EDE630CD0AA1113BD102661AB38829CA52A6422AB782862F268646 -4074095513246505424

Karmaları Eşleşme

Bağlantı gerektiren başlıkların normalleştirme sonrası aynı olduğu varsayıldığından, bunlar aynı hash ve dolayısıyla veritabanında depolanan aynı Int ile sonuçlanır.

Enwiktionary'de "Foo..." sayfasını yüklerken bazı örnek veriler aşağıdaki gibi görünebilir.

Viki Başlık Karma Arayüz Normalleştirilmiş Karma Yüz Notlar
enwiktionary Foo... 395730596998145766 395730596998145766 Eşleşen satır
frwiktionary Foo… -7435652355441782233 395730596998145766 Önceden normalleştirilmiş başlık üç nokta karakterini içermesine rağmen eşleşen satır.
dewiktionary Foo... 395730596998145766 395730596998145766 Eşleşen satır
arwiktionary Foo 2071311921841431698 2071311921841431698

Üzerine yazma

Cognate tarafından sağlanan otomatik bağlantıların üzerine, yalnızca sayfaya bir veya daha fazla vikiarası bağlantısı ekleyerek yazmak mümkündür.

Bu aynı zamanda, uzantı dağıtıldığında Cognate'in çalışmasını sağlamak için sayfaların vikimetinler de diller arası bağlantılar içermemesi gerektiği anlamına gelir.

Deneme

Wikimedia Cloud Services logo notext.svg

Uzantı, beta vikisözlük sitelerinde test edilebilir:

Bu siteler Cognate uzantısı kullanılarak birbirine bağlanır ve InterwikiSorting uzantısı tarafından sağlanan vikiarası sıralaması eklenir.

Kurulum

  • Dosyaları indirin ve extensions/ klasörünüzdeki Cognate adlı dizine yerleştirin.
  • LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
    wfLoadExtension( 'Cognate' );
    # Settings used in WMF production
    # Use the external cluster 'extension1' and dbname 'cognate_wiktionary'
    $wgCognateDb = 'cognate_wiktionary';
    $wgCognateCluster = 'extension1';
    # Only work on the main namespace
    $wgCognateNamespaces = [ 0 ];
    
  • Bu uzantının ihtiyaç duyduğu gerekli veritabanı tablolarını otomatik olarak oluşturacak betik güncelleme komutunu çalıştırın.
  • Yes Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.
  • populateCognateSites.php bakım betiğini çalıştırarak siteler tablosunu doldurun. Siteler, doğru gruplandırmalarla MediaWiki siteleri tablosunda zaten mevcut olmalıdır.
php ./maintenance/populateCognateSites.php --site-group=wiktionary
  • populateCognatePages.php bakım betiğini çalıştırarak sayfa ve başlık tablolarını doldurun.
php ./maintenance/populateCognatePages.php