Extension:Cognate
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ı | MediaWiki ile birlikte anlık görüntüler yayımlanır. Master geriye dönük olarak uyumlu değil. |
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 | |
|
|
Quarterly downloads | 1 (Ranked 135th) |
Translatewiki.net adresinde mevcutsa, Cognate uzantısını çevirin | |
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
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 InterwikiSorting uzantısı tarafından sağlanan vikiarası sıralaması eklenir.
Kurulum
- Dosyaları indirin ve
extensions/
klasörünüzdekiCognate
adlı dizine yerleştirin.
Developers and code contributors should install the extension from Git instead, using:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Cognate - 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.
- 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
Bu uzantı bir veya daha fazla Wikimedia projelerinde kullanılıyor. Bu, muhtemelen uzantının kararlı olduğu ve bu tür yüksek trafikli web siteleri tarafından kullanılacak kadar iyi çalıştığı anlamına gelir. Nerede kurulduğunu görmek için bu uzantının adını Wikimedia'nın CommonSettings.php ve InitialiseSettings.php yapılandırma dosyalarında arayın. Belirli bir vikide yüklü olan uzantılar listesinin tamamı vikinin Special:Version sayfasında görülebilir. |