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.

"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
* 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.

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.

That also means that to make Cognate work when the extension is deployed, the pages should not contain inter language links in their wikitext.

Testing
The extension can be tested on beta wiktionary sites:


 * 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

These sites are linked together using the Cognate extension with added interwiki sorting provided by the extension.

Installation

 * Populate the sites table by running the populateCognateSites.php maintenance script. Sites must already exist in the MediaWiki sites table with the correct groupings.

php ./maintenance/populateCognateSites.php --site-group=wiktionary


 * Populate the page and title tables by running the populateCognatePages.php maintenance script.

php ./maintenance/populateCognatePages.php