Extension:Cognate/tr

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 interwiki 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. It can then generate interwiki links across wiki projects in cases where the titles are the same. It was developed to solve the "Centralize interwiki language links for Wiktionary" task.

"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. This means that this extension is misnamed—since this extension links pages with the same title across wikis, a proper name would be “Homograph”.

Varsayımlar ve kısıtlamalar
* Beklenmeyen hash çakışmaları olası değildir, ancak meydana gelebilir ve beklenmedik dil bağlantılarına neden olabilir.
 * 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.
 * Page titles are the same across languages (with some simple normalization applied).
 * Sites should have the same interwiki structure for language links.
 * Pages should not contain inter language links in wikitext as these will override the link provided by Cognate.
 * Unexpected hash conflicts are unlikely but could occur, and would result in unexpected language links.

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.

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.

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.

Ü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
Uzantı, beta vikisözlük sitelerinde test edilebilir:


 * https://en.wiktionary.beta.wmflabs.org/wiki/Wiktionary:Main_Page
 * https://de.wiktionary.beta.wmflabs.org/wiki/Hauptseite
 * https://he.wiktionary.beta.wmflabs.org/wiki/%D7%A2%D7%9E%D7%95%D7%93_%D7%A8%D7%90%D7%A9%D7%99

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

Kurulum

 * 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