Manual:Vikiarası

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Interwiki and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎português • ‎română • ‎suomi • ‎čeština • ‎русский • ‎ไทย • ‎中文 • ‎日本語 • ‎한국어

Vikiarası bağlantılar, önekli bir dahili bağlantı stili kullanan diğer projelerin sayfalarına bağlantılardır.

Vikiarası bağlantıları, (örneğin) Vikipedi, Vikikitaplar, Vikihaber vb. sayfalarına veya farklı dillerdeki viki projenize bağlanmayı mümkün kılar. (Manual:Viki çiftliği sayfasına bakın.)

[[Wikipedia:Main Page]] gibi bir bağlantı şöyle görünecektir: Wikipedia:Main Page ve sizi Vikipedi'nin Ana Sayfasına yönlendirecek.

Diğer projelere vikiarası bağlantıları

Tablo ve sorgu API'si

Vikiarası bağlantıları, MediaWiki veritabanının interwiki tablosunda barındırılır. Interwiki listesini siteinfo meta sorgu API'sinin interwikimap özelliğinden, başka bir deyişle gibi bir API isteğinde bulunarak alabilirsiniz. api.php?action=query&meta=siteinfo&siprop=interwikimap

Varsayılan

Birkaç Wikimedia projesi (ve diğerleri) varsayılan olarak interviki bağlantısına hazırdır, böylece bunları veritabanınızı düzenlemeden kullanabilirsiniz.

Aşağıda, varsayılan olarak kullanılabilen vikiarası öneklerinin bazı örnekleri verilmiştir (Vikipedi da mevcuttur, 1.10 ve sonrası):

önek hedef URL'si kullanım örneği
commons https://commons.wikimedia.org/wiki/ [[commons:MediaWiki]]
mediazilla http://bugzilla.wikimedia.org/ [[mediazilla:1209]]
metawikimedia (1.23 sürümünden önce: metawikipedia) https://meta.wikimedia.org/wiki/ [[metawikimedia:Main Page]]

Varsayılan interwiki öneklerinin tam listesi maintenance/interwiki.list sayfasında mevcuttur.

Wikimedia projelerinden/projelerine bağlanma hakkında tam bilgi için m:Help:Interwiki linking sayfasına bakın.

Bazı kurulumlarda bunların hiçbiri önceden kurulmamıştır. Bu durumda [[metawikipedia:Main Page]] ile deneyin.

Vikiarası bağlantısı için yeni bir web sitesi ekleme

  • Vikiarası bağlantıları, veritabanının interwiki tablosunda ayarlanır.
  • Bunları değiştirmek için, aşağıdaki gibi veritabanını düzenlemeniz gerekecektir.

İşlemi kolaylaştıran "Interwiki" uzantısını kullanmanız önerilir.

Vikipedi varsayılan olarak 1.10 sürümünden önce kurulmadığından, onu (ve istediğiniz diğer projeleri) eklemek isteyebilirsiniz.

Aşağıdaki örnekler, w: önekinin İngilizce Vikipedi'ye bir bağlantı olarak nasıl ayarlanacağını göstermektedir.

Fikir, formun bir satırını eklemektir:

('prefix', 'URL format string', 1, 0)

interwiki tablosuna.

Tek satır

İleri düzey kullanıcılar, aşağıdaki gibi tek bir komut satırı kullanabilir:

  • MySQL ve PostgreSQL
MediaWiki sürümleri:
1.10 – 1.16
INSERT INTO interwiki (iw_prefix, iw_url, iw_local, iw_trans) VALUES ('w', 'https://en.wikipedia.org/wiki/$1', 1, 0);

Daha yeni MediaWiki sürümleri iw_wikiid gibi bazı ekstra alanlar gerektirir.

Dışa aktar, ekle, yeniden içe aktar

Alternatif olarak, interwiki tablosunu dışa aktaran, bir satır ekleyen ve ardından yeniden içe aktaran aşağıdaki çok adımlı işlemi kullanabilirsiniz:

  • interwiki veritabanı tablosunu dışa aktarın
  • tablonun sonuna aşağıdaki formda bir satır ekleyin (örnek olarak İngilizce Vikipedi kullanarak):
('w', 'https://en.wikipedia.org/wiki/$1', 1, 0);
Yukarıdaki kodda, noktalı virgül ';' görüldüğü gibi tablonun sonunda OLMALIDIR. Bu tablodaki diğer herhangi bir satırın sonunda yalnızca ',' vardır.
  • interwiki veritabanı tablosunu içe aktarın

Test etmek için

Yapılandırmayı test etmek için:

  • Sitenize gidin,
  • aşağıdaki içeriğe sahip bir madde oluşturun:
    [[w:Wikipedia:Village pump|]]
  • Bu, en.Wikipedia.org'daki 'Village pump' sayfasına bir bağlantı göstermelidir (https://en.wikipedia.org/wiki/Wikipedia:Village_pump url)

Alan belgelendirmesi

Ayrıntılı olarak, interwiki veritabanı tablosunun alanları aşağıdaki gibidir:

  • iw_prefix: vikiarası bağlantısı için kullanılan bir önek seçin, ör. Vikipedi'ye bağlantı için "wikipedia".
    Öneklerinin tümü küçük harf olmalıdır.
  • iw_url: projenin URL'sini girin, ör. Vikipedi için https://en.wikipedia.org/wiki/$1. $1 ile, bağlantı oluşturduğunuz maddenin adıyla değiştirildiği için unutmayın ([[wikipedia:Main Page]], https://en.wikipedia.org/wiki/Main_Page ile bağlar).
    iw_url bir ikili BLOB alanıysa (SVN sürümü, ancak sürüm 1.11.0'da da ortaya çıkıyorsa, hata?), bu doğrudan çalışmayacaktır. İkili olarak girmelisiniz. İki olası çözüm vardır: 1. URL'yi düz bir metin dosyasına kaydedersiniz, ardından phpmyadmin aracılığıyla içe aktarırsınız. 2. Doğrudan bir SQL sorgusu girebilirsiniz.
  • iw_local: 1 ise, vikiniz iw_prefix:title biçimindeki harici bağlantıları bile yönlendirecektir, yalnızca kendi sayfalarından gelenleri değil; viki veya diğer vikilerinizin dışından yönlendirme işlevini kullanmak istiyorsanız buna ihtiyacınız var, transwiki işlevlerinizi iç içe geçmiş transwiki bağlantıları için kullanın (w:en:fr:Wikipédia:Accueil gibi). m:Help:Interwiki linking#Non-local interwiki sayfasına bakın. iw_url içinde belirtilecek bir protokol gerektirir.
  • iw_trans: "vikiarası yansıtması" - Diğer vikideki sayfaları şablon olarak kullanmak istiyorsanız 1'e ayarlayın. Ayrıca LocalSettings.php dosyanızda $wgEnableScaryTranscluding = true ayarlamanız gerekecek. iw_url cinsinden belirtilecek bir protokol gerektirir.
  • iw_api: MediaWiki API URL'si, ör. https://en.wikipedia.org/w/api.php (isteğe bağlı).
  • iw_wikiid: Vikinin veritabanı adı (Yerel olarak erişilebilirse). Vikiarası yandsıtmalar için (daha sonra?) kullanılabilir (isteğe bağlı)


Tools.svg Viki yönetimleri ipucusu: MediaWiki.org'un Manual ad alanına bağlantı veren birkaç yardım sayfası. Bu bağlantıların yerel vikinizde çalışmasını sağlamak için, iw_prefix=manual ve iw_url=http://www.mediawiki.org/wiki/Manual:$1 içeren bir vikiarası bağlantısı ekleyin


Tools.svg Viki yönetimleri ipucusu: LocalSettings.php dosyanızdaki $wgTranscludeCacheExpiry, yansıtılmış vikide değişiklikler yapılırsa ayarlanmalıdır. Alternatif olarak, yerel vikinizdeki transcache tablosunu temizleyebilirsiniz.

Diğer dillere vikiarası bağlantıları

Diğer dillere vikiarası bağlantıları

Bir Viki çiftliği yüklediyseniz, İngilizce bir maddeden Almanca bir maddeye bağlantı verebilirsiniz (eğer bir Almanca projeniz de varsa). MediaWiki'yi bu bağlantıları araç kutusunun hemen altındaki kenar çubuğunda gösterecek şekilde ayarlayabilirsiniz.

Dosya sisteminizde, MediaWiki kurulumunuzun "diller" adı verilen bir alt klasörü vardır. Oraya gidin ve "Names.php " dosyasına bir göz atın, çünkü içinde bilinen dillerin ve öneklerinin bir listesi var. Örneğin. Almanca projenizi eklemek istiyorsanız, "Deutsch" için "Names.php" araması yapın ve "de" önekini not edin.

"Doğru" öneki biliyorsanız, interwiki tablosuna yeni bir satır ekleyerek veritabanınızı düzenleyin:

  • iw_prefix: dil-öneki (ör. Almanca için "de"), "Names.php" içinde listelenen
  • iw_url: Viki projenizin URL'si (ör. http://de.example.org/index.php/$1)
  • iw_local: yukarıdaki "Daha Fazla Ekleme" ile aynı
  • iw_trans: yukarıdaki "Daha Fazla Ekleme" ile aynı

Şimdi, bir maddeyi diğer dillerdeki aynı maddeye bağlayabilirsiniz. İngilizce Main_Page sayfanıza [[de:Hauptseite]] eklenmesi, araç kutusunun altında bir "Deutsch" bağlantısı oluşturacaktır ve bu, Almanca vikinin (Hauptseite) Main_Page sayfasına götürür.

Bu bağlantının maddenin içinde değil, Kenar çubuğu'nun yalnızca bölümünde gösterildiğini unutmayın. Metnin içinde bir bağlantı oluşturmak istiyorsanız, önekin önüne iki nokta üst üste eklemeniz gerekir: [[:de:Hauptseite]] veya $wgInterwikiMagic ile false olarak ayarlayın.

Vikiarası tablosunu bir vikiden dışa aktarma

Aşağıdaki JavaScript kodu, var olan bir vikinin vikiarası haritasını almak için API sorgusunu gerçekleştirir, ardından yeni bir wivikideki vikiarası tablosunu doldurmak için SQL INSERT ifadelerini görüntüler. Örneğin, kodu tarayıcınızın geliştirici araçlarıyla enjekte ederek veya Special:MyPage/görünüm adı.js içine yerleştirerek ve önizleme yaparak çalıştırırsınız.

function ExtractInterwikiMapTable() {
	$.getJSON(mw.config.get('wgScriptPath') + '/api.php?action=query&meta=siteinfo&siprop=interwikimap&format=json', function(data) {
		var iw_prefix, iw_url, iw_local, iw_api, re_escape = /(')/g, result = '';
		for (var i = 0, iwm = data.query.interwikimap; i < iwm.length; i++) {
			iw_prefix = "'" + iwm[i].prefix.replace(re_escape, '\\$1') + "'";
			iw_url = "'" + iwm[i].url.replace(re_escape, '\\$1') + "'";
			iw_local = (typeof iwm[i].local == 'string') ? '1' : '0';
			iw_api = "'" + (iwm[i].iw_api || '').replace(re_escape, '\\$1') + "'";
			result += 'INSERT INTO interwiki (iw_prefix, iw_url, iw_local, iw_trans, iw_api) VALUES ('+iw_prefix+', '+iw_url+', '+iw_local+', 0, '+iw_api+');\n'
		}
		$('<textarea style="width:800px;height:400px;"/>').val(result).appendTo(document.body);
	});
}

$(ExtractInterwikiMapTable);

Ayrıca bakınız