Extension:Cognate/bn

This page is a translated version of the page Extension:Cognate and the translation is 27% complete.
মিডিয়াউইকি এক্সটেনশন ম্যানুয়াল
Cognate
মুক্তির অবস্থা: স্থিতিশীল
বাস্তবায়ন ডাটাবেজ
বিবরণ Link different language versions of a page by using the page title.
লেখক(গণ) Gabriel Birke, Addshore
সর্বশেষ সংস্করণ Continuous updates
সমর্থন নীতি Snapshots releases along with MediaWiki. Master is not backward compatible.
MediaWiki 1.29+
ডাটাবেজ পরিবর্তন হ্যাঁ
সারণি cognate_sites
cognate_pages
cognate_titles
লাইসেন্স গ্নু জেনারেল পাবলিক লাইসেন্স ২.০ অথবা পরবর্তী
ডাউনলোড
  • $wgCognateNamespaces
  • $wgCognateReadOnly
Quarterly downloads 1 (Ranked 131st)
Translate the Cognate extension if it is available at translatewiki.net
Issues Open tasks · বাগ প্রতিবেদন

The Cognate extension creates a central store where the page titles for a group of sites are stored. 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" is a linguistic concept, referring to words in different languages developed from the same origin. This means that this extension is misnamed—since this extension links pages with the same title across wikis, a proper name would be “Homograph”.

ধারণা ও সীমাবদ্ধতা

  • Page titles are the same across languages (with some simple normalization applied).
  • 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.

এটি কীভাবে কাজ করে

Title Normalization

Very simple title normalization (reduction to ASCII) occurs within the extension. This can be seen in the StringNormalizer class.

Initially the amount of normalization is very small. Requests can be made to expand this and will be added on a case by case basis.

স্ট্রিং Normalized টীকা
Hello… Hello... The raw string contains an ellipsis character. This is normalized to three . characters
lepelle’ lepelle' The normalized string has a normalized apostrophe.

Title Hashing

Titles are hashed using sha256. This can be seen in the StringHasher class.

Part of the hash is then stored in the database in a BIG_INT field for efficient lookups.

There are roughly 18,446,744,073,709,551,615 possible values.

স্ট্রিং হ্যাশ ইন্ট
A 559AEAD08264D5795D3909718CDD05ABD49572E84FE55590EEF31A88A08FDFFD 6168500820899059065
Foo 1CBEC737F863E4922CEE63CC2EBBFAAFCD1CFF8B790D8CFD2E6A5D550B648AFA 2071311921841431698
1234567890 C775E7B757EDE630CD0AA1113BD102661AB38829CA52A6422AB782862F268646 -4074095513246505424

Matching Hashes

As titles that require links are assumed to be the same post normalization, they will result in the same hash and thus the same Int stored in the database.

Some sample data might look as follows when loading the "Foo..." page on enwiktionary.

উইকি শিরোনাম Hash Int Normalized Hash Int টীকা
enwiktionary Foo... 395730596998145766 395730596998145766 Matched row
frwiktionary Foo… -7435652355441782233 395730596998145766 Matched row, even though the pre normalized title includes the ellipsis character.
dewiktionary Foo... 395730596998145766 395730596998145766 Matched row
arwiktionary Foo 2071311921841431698 2071311921841431698

Overwriting

It is possible to overwrite the automatic links provided by Cognate, simply by adding one or more interwiki links in the page.

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

পরীক্ষা

 

এক্সটেনশনটি বিটা উইকিঅভিধান সাইটগুলোতে পরীক্ষা করা যেতে পারে:

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

ইনস্টল প্রক্রিয়া

  • ডাউনলোড করুন এবং আপনার extensions/ ফোল্ডারের Cognate নামক ডিরেক্টরিতে ফাইল(গুলি) নিন।
    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 -এর নিচের অংশে নিম্নলিখিত কোড যোগ করুন:
    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 ];
    
  • হালনাগাদ করার স্ক্রিপ্টটি চালান যা স্বয়ংক্রিয়ভাবে এই এক্সটেনশনের জন্য প্রয়োজনীয় ডাটাবেস টেবিল তৈরি করবে।
  •   করা হয়েছে – এক্সটেনশনটি সফলভাবে ইনস্টল করা হয়েছে কিনা তা যাচাই করতে আপনার উইকির Special:Version-এ যান।
  • 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