MediaWiki:Gadget-friendlywelcome1.js: Revizyonlar arasındaki fark

Vikipedi, özgür ansiklopedi
İçerik silindi İçerik eklendi
k Kullanılmayan kısım yoruma alındı.
Değişiklik özeti yok
(Aynı kullanıcı tarafından yapılan 3 ara revizyon gösterilmiyor)
314. satır: 314. satır:
description: "standart karşılama şablonu",
description: "standart karşılama şablonu",
linkedArticle: false,
linkedArticle: false,
davet: false,
syntax: "{{subst:Hoşgeldin}}"
syntax: "{{subst:Hoşgeldin}}"
},
},
319. satır: 320. satır:
description: "daha kısa karşılama şablonu",
description: "daha kısa karşılama şablonu",
linkedArticle: false,
linkedArticle: false,
davet: false,
syntax: "{{subst:hoş geldin-kısa}}"
syntax: "{{subst:hoş geldin-kısa}}"
},
},
324. satır: 326. satır:
description: "beş temel taş hakkında bilgi veren bir video ile karşılama",
description: "beş temel taş hakkında bilgi veren bir video ile karşılama",
linkedArticle: false,
linkedArticle: false,
davet: false,
syntax: "{{subst:hoş geldin-video}}"
syntax: "{{subst:hoş geldin-video}}"
},
},
329. satır: 332. satır:
description: "bir tabak kurabiye dahil olmak üzere daha kişisel bir karşılama",
description: "bir tabak kurabiye dahil olmak üzere daha kişisel bir karşılama",
linkedArticle: false,
linkedArticle: false,
davet: false,
syntax: "{{subst:hoş geldin-kişisel|$USERNAME$}}"
syntax: "{{subst:hoş geldin-kişisel|$USERNAME$}}"
},
},
334. satır: 338. satır:
description: "25 bağlantılı tablo ile renkli karşılama mesajı",
description: "25 bağlantılı tablo ile renkli karşılama mesajı",
linkedArticle: false,
linkedArticle: false,
davet: false,
syntax: "$HEADER$ {{subst:hoş geldin-grafik|$EXTRA$}}"
syntax: "$HEADER$ {{subst:hoş geldin-grafik|$EXTRA$}}"
},
},
339. satır: 344. satır:
description: "detaylı sekmeleri olan bir karşılama mesajı",
description: "detaylı sekmeleri olan bir karşılama mesajı",
linkedArticle: false,
linkedArticle: false,
davet: false,
syntax: "{{subst:Hoşgeldin-Meta}}<br> ~~~~"
syntax: "{{subst:Hoşgeldin-Meta}}<br> ~~~~"
},
},
344. satır: 350. satır:
description: "daha önemli katkıları olan kullanıcılara karşılama mesajı",
description: "daha önemli katkıları olan kullanıcılara karşılama mesajı",
linkedArticle: false,
linkedArticle: false,
davet: false,
syntax: "{{subst:hoş geldin-gecikmiş|$USERNAME$}}"
syntax: "{{subst:hoş geldin-gecikmiş|$USERNAME$}}"
},
},
352. satır: 359. satır:
description: "politikalar, telif hakkı ve vandalizm hakkında bilgi veren karşılama mesajı",
description: "politikalar, telif hakkı ve vandalizm hakkında bilgi veren karşılama mesajı",
linkedArticle: false,
linkedArticle: false,
davet: false,
syntax: "{{subst:hoş geldin-politika}}"
syntax: "{{subst:hoş geldin-politika}}"
},
},
357. satır: 365. satır:
description: "ilk maddesi sayfa standartlarına uymayan biri için karşılama mesajı",
description: "ilk maddesi sayfa standartlarına uymayan biri için karşılama mesajı",
linkedArticle: true,
linkedArticle: true,
davet: false,
syntax: "{{yk:hoş geldin-ilk madde|$ARTICLE$}}"
syntax: "{{yk:hoş geldin-ilk madde|$ARTICLE$}}"
},
},
362. satır: 371. satır:
description: "ilk değişiklikleri deneme amaçlı görünen biri için karşılama mesajı",
description: "ilk değişiklikleri deneme amaçlı görünen biri için karşılama mesajı",
linkedArticle: false,
linkedArticle: false,
davet: false,
syntax: "{{subst:hoş geldin-deneme}}"
syntax: "{{subst:hoş geldin-deneme}}"
},
},
367. satır: 377. satır:
description: "ilk değişiklikleri vandalizm gibi görünen biri için karşılama mesajı",
description: "ilk değişiklikleri vandalizm gibi görünen biri için karşılama mesajı",
linkedArticle: false,
linkedArticle: false,
davet: false,
syntax: "{{subst:hoş geldin-vandal}}"
syntax: "{{subst:hoş geldin-vandal}}"
},
},
372. satır: 383. satır:
description: "ilk değişiklikleri reklam gibi görülen biri için karşılama mesajı",
description: "ilk değişiklikleri reklam gibi görülen biri için karşılama mesajı",
linkedArticle: true,
linkedArticle: true,
davet: false,
syntax: "{{subst:hoş geldin-reklam|$ARTICLE$}}"
syntax: "{{subst:hoş geldin-reklam|$ARTICLE$}}"
},
},
377. satır: 389. satır:
description: "ilk değişiklikleri kaynaksız biri için karşılama mesajı",
description: "ilk değişiklikleri kaynaksız biri için karşılama mesajı",
linkedArticle: true,
linkedArticle: true,
davet: false,
syntax: "{{subst:hoş geldin-kaynaksız|$ARTICLE$}}"
syntax: "{{subst:hoş geldin-kaynaksız|$ARTICLE$}}"
},
},
382. satır: 395. satır:
description: "ilk değişiklikleri maddelerden bilgi çıkarmak olan biri için karşılama mesajı",
description: "ilk değişiklikleri maddelerden bilgi çıkarmak olan biri için karşılama mesajı",
linkedArticle: true,
linkedArticle: true,
davet: false,
syntax: "{{subst:hoş geldin-sil|$ARTICLE$}}"
syntax: "{{subst:hoş geldin-sil|$ARTICLE$}}"
},
},
390. satır: 404. satır:
description: "anonim kullanıcılar için, hesap oluşturmayı teşvik eder",
description: "anonim kullanıcılar için, hesap oluşturmayı teşvik eder",
linkedArticle: false,
linkedArticle: false,
davet: false,
syntax: "{{kopyala:Anonim hoş geldin}}"
syntax: "{{kopyala:Anonim hoş geldin}}"
},
},
395. satır: 410. satır:
description: "deneme değişiklikleri yapmış anonim kullanıcılar için",
description: "deneme değişiklikleri yapmış anonim kullanıcılar için",
linkedArticle: true,
linkedArticle: true,
davet: false,
syntax: "{{subst:hoş geldin-anon-deneme|$ARTICLE$|$USERNAME$}}"
syntax: "{{subst:hoş geldin-anon-deneme|$ARTICLE$|$USERNAME$}}"
},
},
400. satır: 416. satır:
description: "yararsız değişiklikler yapmış anonim kullanıcılar için",
description: "yararsız değişiklikler yapmış anonim kullanıcılar için",
linkedArticle: true,
linkedArticle: true,
davet: false,
syntax: "{{subst:hoş geldin-anon-yararsız|$ARTICLE$|$USERNAME$}}"
syntax: "{{subst:hoş geldin-anon-yararsız|$ARTICLE$|$USERNAME$}}"
},
},
405. satır: 422. satır:
description: "vandalizmle savaşan ve yapıcı katkıları olan anonim kullanıcılar",
description: "vandalizmle savaşan ve yapıcı katkıları olan anonim kullanıcılar",
linkedArticle: true,
linkedArticle: true,
davet: false,
syntax: "{{subst:hoş geldin-anon-yapıcı|art=$ARTICLE$}}"
syntax: "{{subst:hoş geldin-anon-yapıcı|art=$ARTICLE$}}"
},
},
410. satır: 428. satır:
description: "sayfalardan nedensizce içerik kaldıran anonim kullanıcılar",
description: "sayfalardan nedensizce içerik kaldıran anonim kullanıcılar",
linkedArticle: true,
linkedArticle: true,
davet: false,
syntax: "{{subst:hoş geldin-anon-sil|$ARTICLE$|$USERNAME$}}"
syntax: "{{subst:hoş geldin-anon-sil|$ARTICLE$|$USERNAME$}}"
},
},
423. satır: 442. satır:
description: "Vikiproje Tıp davet şablonu",
description: "Vikiproje Tıp davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:VikiProje Tıp-Davet}}"
syntax: "{{yk:VikiProje Tıp-Davet}}"
},
},
428. satır: 448. satır:
description: "Vikiproje Veteriner Tıp davet şablonu",
description: "Vikiproje Veteriner Tıp davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:VikiProje Veteriner Tıp-Davet}}"
syntax: "{{yk:VikiProje Veteriner Tıp-Davet}}"
},
},
433. satır: 454. satır:
description: "Vikiproje Havacılık davet şablonu",
description: "Vikiproje Havacılık davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:Vikiproje Havacılık Davet}}"
syntax: "{{yk:Vikiproje Havacılık Davet}}"
},
},
438. satır: 460. satır:
description: "Vikiproje Afrika davet şablonu",
description: "Vikiproje Afrika davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:Vikiproje Afrika Davet}}"
syntax: "{{yk:Vikiproje Afrika Davet}}"
},
},
443. satır: 466. satır:
description: "Vikiproje Ankara davet şablonu",
description: "Vikiproje Ankara davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:VikiProje Ankara/Davet}}<br> ~~~~"
syntax: "{{yk:VikiProje Ankara/Davet}}<br> ~~~~"
},
},
448. satır: 472. satır:
description: "Vikiproje Balkanlar davet şablonu",
description: "Vikiproje Balkanlar davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:VikiProje Balkanlar/Davet}}"
syntax: "{{yk:VikiProje Balkanlar/Davet}}"
},
},
453. satır: 478. satır:
description: "Vikiproje İzmir davet şablonu",
description: "Vikiproje İzmir davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:VikiProje İzmir/Davet}}<br> ~~~~"
syntax: "{{yk:VikiProje İzmir/Davet}}<br> ~~~~"
},
},
458. satır: 484. satır:
description: "Vikiproje Eurovision davet şablonu",
description: "Vikiproje Eurovision davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:VikiProje Eurovision/Davet}}"
syntax: "{{yk:VikiProje Eurovision/Davet}}"
},
},
463. satır: 490. satır:
description: "Vikiproje İnternet davet şablonu",
description: "Vikiproje İnternet davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:VikiProje İnternet/Davet}}<br> ~~~~"
syntax: "{{yk:VikiProje İnternet/Davet}}<br> ~~~~"
},
},
468. satır: 496. satır:
description: "Vikiproje LGBT davet şablonu",
description: "Vikiproje LGBT davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:VikiProje LGBT/Davet}}<br> ~~~~"
syntax: "{{yk:VikiProje LGBT/Davet}}<br> ~~~~"
},
},
473. satır: 502. satır:
description: "Vikiproje Orta Doğu davet şablonu",
description: "Vikiproje Orta Doğu davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:VikiProje Orta Doğu/Davet}}<br> ~~~~"
syntax: "{{yk:VikiProje Orta Doğu/Davet}}<br> ~~~~"
},
},
478. satır: 508. satır:
description: "Vikiproje Otomobil davet şablonu",
description: "Vikiproje Otomobil davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:VikiProje Otomobil/Davet}}"
syntax: "{{yk:VikiProje Otomobil/Davet}}"
},
},
483. satır: 514. satır:
description: "Vikiproje Sanat davet şablonu",
description: "Vikiproje Sanat davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:VikiProje Sanat/Davet}}<br> ~~~~"
syntax: "{{yk:VikiProje Sanat/Davet}}<br> ~~~~"
},
},
488. satır: 520. satır:
description: "Vikiproje Sinema davet şablonu",
description: "Vikiproje Sinema davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:VikiProje Sinema/Davet}}"
syntax: "{{yk:VikiProje Sinema/Davet}}"
},
},
493. satır: 526. satır:
description: "Vikiproje Sovyetler Birliği davet şablonu",
description: "Vikiproje Sovyetler Birliği davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:VikiProje Sovyetler Birliği-Davet}}<br> ~~~~"
syntax: "{{yk:VikiProje Sovyetler Birliği-Davet}}<br> ~~~~"
},
},
498. satır: 532. satır:
description: "Vikiproje Tarih davet şablonu",
description: "Vikiproje Tarih davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:VikiProje Tarih/Davet}}<br> ~~~~"
syntax: "{{yk:VikiProje Tarih/Davet}}<br> ~~~~"
},
},
503. satır: 538. satır:
description: "Vikiproje Tenis davet şablonu",
description: "Vikiproje Tenis davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:VikiProje Tenis/Davet}}"
syntax: "{{yk:VikiProje Tenis/Davet}}"
},
},
508. satır: 544. satır:
description: "Vikiproje Tarih davet şablonu",
description: "Vikiproje Tarih davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:VikiProje Tiyatro/Davet}}<br> ~~~~"
syntax: "{{yk:VikiProje Tiyatro/Davet}}<br> ~~~~"
},
},
513. satır: 550. satır:
description: "Vikiproje TV dizileri davet şablonu",
description: "Vikiproje TV dizileri davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:VikiProje TV dizileri/Davet}}<br> ~~~~"
syntax: "{{yk:VikiProje TV dizileri/Davet}}<br> ~~~~"
},
},
518. satır: 556. satır:
description: "Vikiproje Video oyunları davet şablonu",
description: "Vikiproje Video oyunları davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:Vikiproje Video oyunları-Davet}}<br> ~~~~"
syntax: "{{yk:Vikiproje Video oyunları-Davet}}<br> ~~~~"
},
},
526. satır: 565. satır:
description: "Telegram grubuna davet şablonu",
description: "Telegram grubuna davet şablonu",
linkedArticle: false,
linkedArticle: false,
davet: true,
syntax: "{{yk:Telegram-davet}}"
syntax: "{{yk:Telegram-davet}}"
},
},
539. satır: 579. satır:
description: "anadili İngilizce olanlar için karşılama şablonu",
description: "anadili İngilizce olanlar için karşılama şablonu",
linkedArticle: false,
linkedArticle: false,
davet: false,
syntax: "{{kopyala:İngilizcehoşgeldin}}"
syntax: "{{kopyala:İngilizcehoşgeldin}}"
}
}
601. satır: 642. satır:
text += "\n" + welcomeText;
text += "\n" + welcomeText;
}
}
if (davet) {

var summaryText = "Hoş geldin / davet mesajı";
var summaryText = "Türkçe Vikipedi'ye Hoş Geldiniz!"; }
else {
var summaryText = "Davet mesajı gönderiliyor."; }
pageobj.setPageText(text);
pageobj.setPageText(text);
pageobj.setEditSummary(summaryText + Twinkle.getPref('summaryAd'));
pageobj.setEditSummary(summaryText + Twinkle.getPref('summaryAd'));

Sayfanın 17.16, 4 Mayıs 2020 tarihindeki hâli

//<nowiki>


(function($){


/*
 ****************************************
 *** friendlywelcome.js: Welcome module / Hoş geldin modülü
 ****************************************
 * Mode of invocation:     Tab ("Wel"), or from links on diff pages
 * Active on:              Existing user talk pages, diff pages
 * Config directives in:   FriendlyConfig
 */

Twinkle.welcome = function friendlywelcome() {
	if( Morebits.queryString.exists( 'friendlywelcome' ) ) {
		if( Morebits.queryString.get( 'friendlywelcome' ) === 'auto' ) {
			Twinkle.welcome.auto();
		} else {
			Twinkle.welcome.semiauto();
		}
	} else {
		Twinkle.welcome.normal();
	}
};

Twinkle.welcome.auto = function() {
	if( Morebits.queryString.get( 'action' ) !== 'edit' ) {
		// userpage not empty, aborting auto-welcome
		return;
	}

	Twinkle.welcome.welcomeUser();
};

Twinkle.welcome.semiauto = function() {
	Twinkle.welcome.callback( mw.config.get( 'wgTitle' ).split( '/' )[0].replace( /\"/, "\\\"") );
};

Twinkle.welcome.normal = function() {
	if( Morebits.queryString.exists( 'diff' ) ) {
		// check whether the contributors' talk pages exist yet
		var $oList = $("#mw-diff-otitle2").find("span.mw-usertoollinks a.new:contains(talk)").first();
		var $nList = $("#mw-diff-ntitle2").find("span.mw-usertoollinks a.new:contains(talk)").first();

		if( $oList.length > 0 || $nList.length > 0 ) {
			var spanTag = function( color, content ) {
				var span = document.createElement( 'span' );
				span.style.color = color;
				span.appendChild( document.createTextNode( content ) );
				return span;
			};

			var welcomeNode = document.createElement('strong');
			var welcomeLink = document.createElement('a');
			welcomeLink.appendChild( spanTag( 'Black', '[' ) );
			welcomeLink.appendChild( spanTag( 'Goldenrod', 'welcome' ) );
			welcomeLink.appendChild( spanTag( 'Black', ']' ) );
			welcomeNode.appendChild(welcomeLink);

			if( $oList.length > 0 ) {
				var oHref = $oList.attr("href");

				var oWelcomeNode = welcomeNode.cloneNode( true );
				oWelcomeNode.firstChild.setAttribute( 'href', oHref + '&' + Morebits.queryString.create( {
						'friendlywelcome': Twinkle.getFriendlyPref('quickWelcomeMode') === 'auto' ? 'auto': 'norm',
						'vanarticle': Morebits.pageNameNorm
					} ) );
				$oList[0].parentNode.parentNode.appendChild( document.createTextNode( ' ' ) );
				$oList[0].parentNode.parentNode.appendChild( oWelcomeNode );
			}

			if( $nList.length > 0 ) {
				var nHref = $nList.attr("href");

				var nWelcomeNode = welcomeNode.cloneNode( true );
				nWelcomeNode.firstChild.setAttribute( 'href', nHref + '&' + Morebits.queryString.create( {
						'friendlywelcome': Twinkle.getFriendlyPref('quickWelcomeMode') === 'auto' ? 'auto': 'norm',
						'vanarticle': Morebits.pageNameNorm
					} ) );
				$nList[0].parentNode.parentNode.appendChild( document.createTextNode( ' ' ) );
				$nList[0].parentNode.parentNode.appendChild( nWelcomeNode );
			}
		}
	}
	if( mw.config.get( 'wgNamespaceNumber' ) === 3 ) {
		var username = mw.config.get( 'wgTitle' ).split( '/' )[0].replace( /\"/, "\\\""); // only first part before any slashes
		Twinkle.addPortletLink( function(){ Twinkle.welcome.callback(username); }, "Hoş geldin", "friendly-welcome", "Kullanıcıya bir hoş geldin mesajı gönder" );
	}
};

Twinkle.welcome.welcomeUser = function welcomeUser() {
	Morebits.status.init( document.getElementById('mw-content-text') );
	$( '#catlinks' ).remove();

	var params = {
		value: Twinkle.getFriendlyPref('quickWelcomeTemplate'),
		article: Morebits.queryString.exists( 'vanarticle' ) ? Morebits.queryString.get( 'vanarticle' ) : '',
		mode: 'auto'
	};

	Morebits.wiki.actionCompleted.redirect = mw.config.get('wgPageName');
	Morebits.wiki.actionCompleted.notice = "Karşılama tamamlandı. Birkaç saniye içinde mesaj sayfası yeniden yüklenecek";

	var wikipedia_page = new Morebits.wiki.page(mw.config.get('wgPageName'), "Kullanıcı mesaj sayfası değişikliği");
	wikipedia_page.setFollowRedirect(true);
	wikipedia_page.setCallbackParameters(params);
	wikipedia_page.load(Twinkle.welcome.callbacks.main);
};

Twinkle.welcome.callback = function friendlywelcomeCallback( uid ) {
	if( uid === mw.config.get('wgUserName') && !confirm( 'Cidden kendine karşılama mesajı mı göndermek istiyorsun?' ) ){
		return;
	}

	var Window = new Morebits.simpleWindow( 600, 420 );
	Window.setTitle( "Hoş geldin / Davet" );
	Window.setScriptName( "Twinkle" );
	Window.addFooterLink( "Geri bildirim", "Vikipedi tartışma:Twinkle" );

	var form = new Morebits.quickForm( Twinkle.welcome.callback.evaluate );

	form.append({
			type: 'select',
			name: 'type',
			label: 'Mesaj türü: ',
			event: Twinkle.welcome.populateWelcomeList,
			list: [
				{ type: 'option', value: 'standard', label: 'Standart karşılama şablonları', selected: !Morebits.isIPAddress(mw.config.get('wgTitle')) },
				{ type: 'option', value: 'anonymous', label: 'Anonim kullanıcıları karşılama şablonları', selected: Morebits.isIPAddress(mw.config.get('wgTitle')) },
				{ type: 'option', value: 'wikiProject', label: 'Vikiproje şablonları'},
				{ type: 'option', value: 'socialgroup', label: 'Sosyal grup/toplantı davetleri'},
				{ type: 'option', value: 'nonEnglish', label: 'Türkçe olmayan karşılama şablonları'}
			]
		});

	form.append( {
			type: 'div',
			id: 'welcomeWorkArea',
			className: 'morebits-scrollbox'
		} );

	form.append( {
			type: 'input',
			name: 'article',
			label: '* Bağlantılı madde (şablon tarafından destekleniyorsa):',
			value:( Morebits.queryString.exists( 'vanarticle' ) ? Morebits.queryString.get( 'vanarticle' ) : '' ),
			tooltip: 'Şablon destekliyorsa; bir madde, hoş geldiniz şablonuna eklenebilir. Bağlanılacak madde yoksa boş bırakabilirsiniz.'
		} );

	var previewlink = document.createElement( 'a' );
	$(previewlink).click(function(){
		Twinkle.welcome.callbacks.preview(result);  // |result| is defined below
	});
	previewlink.style.cursor = "pointer";
	previewlink.textContent = 'Önizleme';
	form.append( { type: 'div', name: 'welcomepreview', label: [ previewlink ] } );

	form.append( { type: 'submit' } );

	var result = form.render();
	Window.setContent( result );
	Window.display();

	// initialize the welcome list
	var evt = document.createEvent( "Event" );
	evt.initEvent( 'change', true, true );
	result.type.dispatchEvent( evt );
};

Twinkle.welcome.populateWelcomeList = function(e) {
	var type = e.target.value;

	var container = new Morebits.quickForm.element({ type: "fragment" });

	if ((type === "standard" || type === "anonymous") && Twinkle.getFriendlyPref("customWelcomeList").length) {
		container.append({ type: 'header', label: 'Özel karşılama şablonları' });
		container.append({
			type: 'radio',
			name: 'template',
			list: Twinkle.getFriendlyPref("customWelcomeList"),
			event: Twinkle.welcome.selectTemplate
		});
	}

	var appendTemplates = function(list) {
		container.append({
			type: 'radio',
			name: 'template',
			list: list.map(function(obj) {
				var properties = Twinkle.welcome.templates[obj];
				var result = (properties ? {
					value: obj,
					label: "{{" + obj + "}}: " + properties.description + (properties.linkedArticle ? "\u00A0*" : ""),  // U+00A0 NO-BREAK SPACE
					tooltip: properties.tooltip  // may be undefined
				} : {
					value: obj,
					label: "{{" + obj + "}}"
				});
				return result;
			}),
			event: Twinkle.welcome.selectTemplate
		});
	};

	switch (type) {
		case "standard":
			container.append({ type: 'header', label: 'Genel karşılama şablonları' });
			appendTemplates([
				"hoş geldin",
				"hoş geldin-kısa",
				"hoş geldin-video",
				"hoş geldin-kişisel",
				"hoş geldin-grafik",
				"hoş geldin-meta",
				"hoş geldin-gecikmiş"
			]);
			container.append({ type: 'header', label: 'Sorunlu kullanıcı karşılama şablonları' });
			appendTemplates([
				"hoş geldin-politika",
				"hoş geldin-ilk madde",
				"hoş geldin-deneme",
				"hoş geldin-vandal",
				"hoş geldin-reklam",
				"hoş geldin-kaynaksız",
				"hoş geldin-sil"
			]);
			break;
		case "anonymous":
			container.append({ type: 'header', label: 'Genel anonim karşılama şablonları' });
			appendTemplates([
				"hoş geldin-anon",
				"hoş geldin-anon-deneme",
				"hoş geldin-anon-yararsız",
				"hoş geldin-anon-yapıcı",
				"hoş geldin-anon-sil"
			]);
			break;
		case "wikiProject":
			container.append({ type: 'header', label: 'Vikiprojeli karşılama şablonları' });
			appendTemplates([
				"hoş geldin-Vikiproje Havacılık"
			]);
			container.append({ type: 'header', label: 'Vikiproje davet şablonları' });
			appendTemplates([
				"Vikiproje Afrika Davet",
				"VikiProje Ankara/Davet",
				"VikiProje Balkanlar/Davet",
				"VikiProje Eurovision/Davet",
				"VikiProje İnternet/Davet",
				"VikiProje İzmir/Davet",
				"VikiProje LGBT/Davet",
				"Vikiproje Havacılık Davet",
				"VikiProje Orta Doğu/Davet",
				"VikiProje Otomobil/Davet",
				"VikiProje Sanat/Davet",
				"Vikiproje Sinema/Davet",
				"VikiProje Sovyetler Birliği-Davet",
				"VikiProje Tarih/Davet",
				"VikiProje Tenis/Davet",
				"VikiProje Tıp-Davet",
				"VikiProje Tiyatro/Davet",
				"VikiProje TV dizileri/Davet",
				"VikiProje Veteriner Tıp-Davet",
				"Vikiproje Video oyunları-Davet"
			]);
			break;
		case "socialgroup":
			container.append({ type: 'header', label: 'Sosyal grup/toplantı davetleri' });
			appendTemplates([
				"Telegram-davet"
			//	"Google-davet"
			]);
			break;			
			
		case "nonEnglish":
			container.append({ type: 'header', label: 'Türkçe olmayan karşılama şablonları' });
			appendTemplates([
				"hoş geldin-en"
			]);
			break;
		default:
			container.append({ type: 'div', label: 'Twinkle.welcome.populateWelcomeList: bir şeyler yanlış gitti' });
			break;
	}

	var rendered = container.render();
	$(e.target.form).find("div#welcomeWorkArea").empty().append(rendered);

	var firstRadio = e.target.form.template[0];
	firstRadio.checked = true;
	Twinkle.welcome.selectTemplate({ target: firstRadio });
};

Twinkle.welcome.selectTemplate = function(e) {
	var properties = Twinkle.welcome.templates[e.target.values];
	e.target.form.article.disabled = (properties ? !properties.linkedArticle : false);
};


// A list of welcome templates and their properties and syntax

// The four fields that are available are "description", "linkedArticle", "syntax", and "tooltip".
// The three magic words that can be used in the "syntax" field are:
//   - $USERNAME$  - replaced by the welcomer's username, depending on user's preferences
//   - $ARTICLE$   - replaced by an article name, if "linkedArticle" is true
//   - $HEADER$    - adds a level 2 header (most templates already include this)

Twinkle.welcome.templates = {
	// GENERAL WELCOMES

	"hoş geldin": {
		description: "standart karşılama şablonu",
		linkedArticle: false,
		davet: false,
		syntax: "{{subst:Hoşgeldin}}"
	},
	"hoş geldin-kısa": {
		description: "daha kısa karşılama şablonu",
		linkedArticle: false,
		davet: false,
		syntax: "{{subst:hoş geldin-kısa}}"
	},
	"hoş geldin-video": {
		description: "beş temel taş hakkında bilgi veren bir video ile karşılama",
		linkedArticle: false,
		davet: false,
		syntax: "{{subst:hoş geldin-video}}"
	},
	"hoş geldin-kişisel": {
		description: "bir tabak kurabiye dahil olmak üzere daha kişisel bir karşılama",
		linkedArticle: false,
		davet: false,
		syntax: "{{subst:hoş geldin-kişisel|$USERNAME$}}"
	},
	"hoş geldin-grafik": {
		description: "25 bağlantılı tablo ile renkli karşılama mesajı",
		linkedArticle: false,
		davet: false,
		syntax: "$HEADER$ {{subst:hoş geldin-grafik|$EXTRA$}}"
	},
	"hoş geldin-meta": {
		description: "detaylı sekmeleri olan bir karşılama mesajı",
		linkedArticle: false,
		davet: false,
		syntax: "{{subst:Hoşgeldin-Meta}}<br> ~~~~"
	},
	"hoş geldin-gecikmiş": {
		description: "daha önemli katkıları olan kullanıcılara karşılama mesajı",
		linkedArticle: false,
		davet: false,
		syntax: "{{subst:hoş geldin-gecikmiş|$USERNAME$}}"
	},

	// PROBLEM USER WELCOMES

	"hoş geldin-politika": {
		description: "politikalar, telif hakkı ve vandalizm hakkında bilgi veren karşılama mesajı",
		linkedArticle: false,
		davet: false,
		syntax: "{{subst:hoş geldin-politika}}"
	},
	"hoş geldin-ilk madde": {
		description: "ilk maddesi sayfa standartlarına uymayan biri için karşılama mesajı",
		linkedArticle: true,
		davet: false,
		syntax: "{{yk:hoş geldin-ilk madde|$ARTICLE$}}"
	},
	"hoş geldin-deneme": {
		description: "ilk değişiklikleri deneme amaçlı görünen biri için karşılama mesajı",
		linkedArticle: false,
		davet: false,
		syntax: "{{subst:hoş geldin-deneme}}"
	},
	"hoş geldin-vandal": {
		description: "ilk değişiklikleri vandalizm gibi görünen biri için karşılama mesajı",
		linkedArticle: false,
		davet: false,
		syntax: "{{subst:hoş geldin-vandal}}"
	},
	"hoş geldin-reklam": {
		description: "ilk değişiklikleri reklam gibi görülen biri için karşılama mesajı",
		linkedArticle: true,
		davet: false,
		syntax: "{{subst:hoş geldin-reklam|$ARTICLE$}}"
	},
	"hoş geldin-kaynaksız": {
		description: "ilk değişiklikleri kaynaksız biri için karşılama mesajı",
		linkedArticle: true,
		davet: false,
		syntax: "{{subst:hoş geldin-kaynaksız|$ARTICLE$}}"
	},
	"hoş geldin-sil": {
		description: "ilk değişiklikleri maddelerden bilgi çıkarmak olan biri için karşılama mesajı",
		linkedArticle: true,
		davet: false,
		syntax: "{{subst:hoş geldin-sil|$ARTICLE$}}"
	},

	// ANONYMOUS USER WELCOMES

	"hoş geldin-anon": {
		description: "anonim kullanıcılar için, hesap oluşturmayı teşvik eder",
		linkedArticle: false,
		davet: false,
		syntax: "{{kopyala:Anonim hoş geldin}}"
	},
	"hoş geldin-anon-deneme": {
		description: "deneme değişiklikleri yapmış anonim kullanıcılar için",
		linkedArticle: true,
		davet: false,
		syntax: "{{subst:hoş geldin-anon-deneme|$ARTICLE$|$USERNAME$}}"
	},
	"hoş geldin-anon-yararsız": {
		description: "yararsız değişiklikler yapmış anonim kullanıcılar için",
		linkedArticle: true,
		davet: false,
		syntax: "{{subst:hoş geldin-anon-yararsız|$ARTICLE$|$USERNAME$}}"
	},
	"hoş geldin-anon-yapıcı": {
		description: "vandalizmle savaşan ve yapıcı katkıları olan anonim kullanıcılar",
		linkedArticle: true,
		davet: false,
		syntax: "{{subst:hoş geldin-anon-yapıcı|art=$ARTICLE$}}"
	},
	"hoş geldin-anon-sil": {
		description: "sayfalardan nedensizce içerik kaldıran anonim kullanıcılar",
		linkedArticle: true,
		davet: false,
		syntax: "{{subst:hoş geldin-anon-sil|$ARTICLE$|$USERNAME$}}"
	},

	// WIKIPROJECT-SPECIFIC WELCOMES

	"hoş geldin-Vikiproje Havacılık": {
		description: "havacılık odaklı katkı yapanları karşılama şablonu",
		linkedArticle: false,
		syntax: "{{yk:Hoş geldin-Vikiproje Havacılık}}"
	},
	"VikiProje Tıp-Davet": {
		description: "Vikiproje Tıp davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:VikiProje Tıp-Davet}}"
	},
	"VikiProje Veteriner Tıp-Davet": {
		description: "Vikiproje Veteriner Tıp davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:VikiProje Veteriner Tıp-Davet}}"
	},
	"Vikiproje Havacılık Davet": {
		description: "Vikiproje Havacılık davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:Vikiproje Havacılık Davet}}"
	},
	"Vikiproje Afrika Davet": {
		description: "Vikiproje Afrika davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:Vikiproje Afrika Davet}}"
	},
	"VikiProje Ankara/Davet": {
		description: "Vikiproje Ankara davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:VikiProje Ankara/Davet}}<br> ~~~~"
	},
	"VikiProje Balkanlar/Davet": {
		description: "Vikiproje Balkanlar davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:VikiProje Balkanlar/Davet}}"
	},
	"VikiProje İzmir/Davet": {
		description: "Vikiproje İzmir davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:VikiProje İzmir/Davet}}<br> ~~~~"
	},
	"VikiProje Eurovision/Davet": {
		description: "Vikiproje Eurovision davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:VikiProje Eurovision/Davet}}"
	},
	"VikiProje İnternet/Davet": {
		description: "Vikiproje İnternet davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:VikiProje İnternet/Davet}}<br> ~~~~"
	},
	"VikiProje LGBT/Davet": {
		description: "Vikiproje LGBT davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:VikiProje LGBT/Davet}}<br> ~~~~"
	},
	"VikiProje Orta Doğu/Davet": {
		description: "Vikiproje Orta Doğu davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:VikiProje Orta Doğu/Davet}}<br> ~~~~"
	},
	"VikiProje Otomobil/Davet": {
		description: "Vikiproje Otomobil davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:VikiProje Otomobil/Davet}}"
	},
	"VikiProje Sanat/Davet": {
		description: "Vikiproje Sanat davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:VikiProje Sanat/Davet}}<br> ~~~~"
	},
	"Vikiproje Sinema/Davet": {
		description: "Vikiproje Sinema davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:VikiProje Sinema/Davet}}"
	},
	"VikiProje Sovyetler Birliği-Davet": {
		description: "Vikiproje Sovyetler Birliği davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:VikiProje Sovyetler Birliği-Davet}}<br> ~~~~"
	},
	"VikiProje Tarih/Davet": {
		description: "Vikiproje Tarih davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:VikiProje Tarih/Davet}}<br> ~~~~"
	},
	"VikiProje Tenis/Davet": {
		description: "Vikiproje Tenis davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:VikiProje Tenis/Davet}}"
	},
	"VikiProje Tiyatro/Davet": {
		description: "Vikiproje Tarih davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:VikiProje Tiyatro/Davet}}<br> ~~~~"
	},
	"VikiProje TV dizileri/Davet": {
		description: "Vikiproje TV dizileri davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:VikiProje TV dizileri/Davet}}<br> ~~~~"
	},
	"Vikiproje Video oyunları-Davet": {
		description: "Vikiproje Video oyunları davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:Vikiproje Video oyunları-Davet}}<br> ~~~~"
	},
	
	// SOCIAL-GROUPS
	
	"Telegram-davet": {
		description: "Telegram grubuna davet şablonu",
		linkedArticle: false,
		davet: true,
		syntax: "{{yk:Telegram-davet}}"
	},
//	"Google-davet": {
//		description: "BU ŞABLON HENÜZ AÇILMAMIŞTIR, BOŞ ŞABLON GÖNDERECEKSİNİZ!", //Google sohbet grubuna davet şablonu
//		linkedArticle: false,
//		syntax: "{{ }}"
//	},

	// NON-ENGLISH WELCOMES

	"hoş geldin-en": {
		description: "anadili İngilizce olanlar için karşılama şablonu",
		linkedArticle: false,
		davet: false,
		syntax: "{{kopyala:İngilizcehoşgeldin}}"
	}
};

Twinkle.welcome.getTemplateWikitext = function(template, article) {
	var properties = Twinkle.welcome.templates[template];
	if (properties) {
		return properties.syntax.
			replace("$USERNAME$", Twinkle.getFriendlyPref("insertUsername") ? mw.config.get("wgUserName") : "").
			replace("$ARTICLE$", article ? article : "").
			replace(/\$HEADER\$\s*/, "== Hoş geldiniz ==\n\n").
			replace("$EXTRA$", "");  // EXTRA is not implemented yet
	} else {
		return "{{subst:" + template + (article ? ("|art=" + article) : "") + "}}" +
			(Twinkle.getFriendlyPref("customWelcomeSignature") ? " ~~~~" : "");
	}
};

Twinkle.welcome.callbacks = {
	preview: function(form) {
		var previewDialog = new Morebits.simpleWindow(750, 400);
		previewDialog.setTitle("Karşılama şablon önizmlemesi");
		previewDialog.setScriptName("Hoş geldiniz aracı");
		previewDialog.setModality(true);

		var previewdiv = document.createElement("div");
		previewdiv.style.marginLeft = previewdiv.style.marginRight = "0.5em";
		previewdiv.style.fontSize = "small";
		previewDialog.setContent(previewdiv);

		var previewer = new Morebits.wiki.preview(previewdiv);
		previewer.beginRender(Twinkle.welcome.getTemplateWikitext(form.getChecked("template"), form.article.value));

		var submit = document.createElement("input");
		submit.setAttribute("type", "submit");
		submit.setAttribute("value", "Kapat");
		previewDialog.addContent(submit);

		previewDialog.display();

		$(submit).click(function(e) {
			previewDialog.close();
		});
	},
	main: function( pageobj ) {
		var params = pageobj.getCallbackParameters();
		var text = pageobj.getPageText();

		// abort if mode is auto and form is not empty
		if( pageobj.exists() && params.mode === 'auto' ) {
			Morebits.status.info( 'Uyarı', 'Kullanıcı mesaj sayfası boş değil; otomatik hoş geldin es geçiliyor' );
			Morebits.wiki.actionCompleted.event();
			return;
		}

		var welcomeText = Twinkle.welcome.getTemplateWikitext(params.value, params.article);

		if( Twinkle.getFriendlyPref('topWelcomes') ) {
			text = welcomeText + '\n\n' + text;
		} else {
			text += "\n" + welcomeText;
		}
		if (davet) {
			var summaryText = "Türkçe Vikipedi'ye Hoş Geldiniz!"; }
			else {
			var summaryText = "Davet mesajı gönderiliyor."; }
		pageobj.setPageText(text);
		pageobj.setEditSummary(summaryText + Twinkle.getPref('summaryAd'));
		pageobj.setWatchlist(Twinkle.getFriendlyPref('watchWelcomes'));
		pageobj.setCreateOption('recreate');
		pageobj.save();
	}
};

Twinkle.welcome.callback.evaluate = function friendlywelcomeCallbackEvaluate(e) {
	var form = e.target;

	var params = {
		value: form.getChecked("template"),
		article: form.article.value,
		mode: 'manual'
	};

	Morebits.simpleWindow.setButtonsEnabled( false );
	Morebits.status.init( form );

	Morebits.wiki.actionCompleted.redirect = mw.config.get('wgPageName');
	Morebits.wiki.actionCompleted.notice = "Karşılama tamamlandı, sayfa birkaç saniye içinde yeniden yüklenecek...";

	var wikipedia_page = new Morebits.wiki.page(mw.config.get('wgPageName'), "Kullanıcı mesaj sayfası değişikliği");
	wikipedia_page.setFollowRedirect(true);
	wikipedia_page.setCallbackParameters(params);
	wikipedia_page.load(Twinkle.welcome.callbacks.main);
};
})(jQuery);


//</nowiki>