<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="nl">
	<id>https://informatiestandaarden.test-nictiz.nl/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-friendlywelcome.js</id>
	<title>MediaWiki:Gadget-friendlywelcome.js - Bewerkingsoverzicht</title>
	<link rel="self" type="application/atom+xml" href="https://informatiestandaarden.test-nictiz.nl/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-friendlywelcome.js"/>
	<link rel="alternate" type="text/html" href="https://informatiestandaarden.test-nictiz.nl/index.php?title=MediaWiki:Gadget-friendlywelcome.js&amp;action=history"/>
	<updated>2026-04-23T20:22:18Z</updated>
	<subtitle>Bewerkingsoverzicht voor deze pagina op de wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://informatiestandaarden.test-nictiz.nl/index.php?title=MediaWiki:Gadget-friendlywelcome.js&amp;diff=3301&amp;oldid=prev</id>
		<title>Ahenket: 1 versie: Twinkle</title>
		<link rel="alternate" type="text/html" href="https://informatiestandaarden.test-nictiz.nl/index.php?title=MediaWiki:Gadget-friendlywelcome.js&amp;diff=3301&amp;oldid=prev"/>
		<updated>2013-07-19T18:37:38Z</updated>

		<summary type="html">&lt;p&gt;1 versie: Twinkle&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nieuwe pagina&lt;/b&gt;&lt;/p&gt;&lt;div&gt;//&amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(function($){&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 ****************************************&lt;br /&gt;
 *** friendlywelcome.js: Welcome module&lt;br /&gt;
 ****************************************&lt;br /&gt;
 * Mode of invocation:     Tab (&amp;quot;Wel&amp;quot;), or from links on diff pages&lt;br /&gt;
 * Active on:              Existing user talk pages, diff pages&lt;br /&gt;
 * Config directives in:   FriendlyConfig&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
Twinkle.welcome = function friendlywelcome() {&lt;br /&gt;
	if( Morebits.queryString.exists( &amp;#039;friendlywelcome&amp;#039; ) ) {&lt;br /&gt;
		if( Morebits.queryString.get( &amp;#039;friendlywelcome&amp;#039; ) === &amp;#039;auto&amp;#039; ) {&lt;br /&gt;
			Twinkle.welcome.auto();&lt;br /&gt;
		} else {&lt;br /&gt;
			Twinkle.welcome.semiauto();&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		Twinkle.welcome.normal();&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.welcome.auto = function() {&lt;br /&gt;
	if( Morebits.queryString.get( &amp;#039;action&amp;#039; ) !== &amp;#039;edit&amp;#039; ) {&lt;br /&gt;
		// userpage not empty, aborting auto-welcome&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	Twinkle.welcome.welcomeUser();&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.welcome.semiauto = function() {&lt;br /&gt;
	Twinkle.welcome.callback( mw.config.get( &amp;#039;wgTitle&amp;#039; ).split( &amp;#039;/&amp;#039; )[0].replace( /\&amp;quot;/, &amp;quot;\\\&amp;quot;&amp;quot;) );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.welcome.normal = function() {&lt;br /&gt;
	if( Morebits.queryString.exists( &amp;#039;diff&amp;#039; ) ) {&lt;br /&gt;
		// check whether the contributors&amp;#039; talk pages exist yet&lt;br /&gt;
		var $oList = $(&amp;quot;#mw-diff-otitle2&amp;quot;).find(&amp;quot;span.mw-usertoollinks a.new:contains(talk)&amp;quot;).first();&lt;br /&gt;
		var $nList = $(&amp;quot;#mw-diff-ntitle2&amp;quot;).find(&amp;quot;span.mw-usertoollinks a.new:contains(talk)&amp;quot;).first();&lt;br /&gt;
&lt;br /&gt;
		if( $oList.length &amp;gt; 0 || $nList.length &amp;gt; 0 ) {&lt;br /&gt;
			var spanTag = function( color, content ) {&lt;br /&gt;
				var span = document.createElement( &amp;#039;span&amp;#039; );&lt;br /&gt;
				span.style.color = color;&lt;br /&gt;
				span.appendChild( document.createTextNode( content ) );&lt;br /&gt;
				return span;&lt;br /&gt;
			};&lt;br /&gt;
&lt;br /&gt;
			var welcomeNode = document.createElement(&amp;#039;strong&amp;#039;);&lt;br /&gt;
			var welcomeLink = document.createElement(&amp;#039;a&amp;#039;);&lt;br /&gt;
			welcomeLink.appendChild( spanTag( &amp;#039;Black&amp;#039;, &amp;#039;[&amp;#039; ) );&lt;br /&gt;
			welcomeLink.appendChild( spanTag( &amp;#039;Goldenrod&amp;#039;, &amp;#039;welcome&amp;#039; ) );&lt;br /&gt;
			welcomeLink.appendChild( spanTag( &amp;#039;Black&amp;#039;, &amp;#039;]&amp;#039; ) );&lt;br /&gt;
			welcomeNode.appendChild(welcomeLink);&lt;br /&gt;
&lt;br /&gt;
			if( $oList.length &amp;gt; 0 ) {&lt;br /&gt;
				var oHref = $oList.attr(&amp;quot;href&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
				var oWelcomeNode = welcomeNode.cloneNode( true );&lt;br /&gt;
				oWelcomeNode.firstChild.setAttribute( &amp;#039;href&amp;#039;, oHref + &amp;#039;&amp;amp;&amp;#039; + Morebits.queryString.create( { &lt;br /&gt;
						&amp;#039;friendlywelcome&amp;#039;: Twinkle.getFriendlyPref(&amp;#039;quickWelcomeMode&amp;#039;) === &amp;#039;auto&amp;#039; ? &amp;#039;auto&amp;#039;: &amp;#039;norm&amp;#039;, &lt;br /&gt;
						&amp;#039;vanarticle&amp;#039;: Morebits.pageNameNorm &lt;br /&gt;
					} ) );&lt;br /&gt;
				$oList[0].parentNode.parentNode.appendChild( document.createTextNode( &amp;#039; &amp;#039; ) );&lt;br /&gt;
				$oList[0].parentNode.parentNode.appendChild( oWelcomeNode );&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if( $nList.length &amp;gt; 0 ) {&lt;br /&gt;
				var nHref = $nList.attr(&amp;quot;href&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
				var nWelcomeNode = welcomeNode.cloneNode( true );&lt;br /&gt;
				nWelcomeNode.firstChild.setAttribute( &amp;#039;href&amp;#039;, oHref + &amp;#039;&amp;amp;&amp;#039; + Morebits.queryString.create( { &lt;br /&gt;
						&amp;#039;friendlywelcome&amp;#039;: Twinkle.getFriendlyPref(&amp;#039;quickWelcomeMode&amp;#039;) === &amp;#039;auto&amp;#039; ? &amp;#039;auto&amp;#039;: &amp;#039;norm&amp;#039;, &lt;br /&gt;
						&amp;#039;vanarticle&amp;#039;: Morebits.pageNameNorm &lt;br /&gt;
					} ) );&lt;br /&gt;
				$nList[0].parentNode.parentNode.appendChild( document.createTextNode( &amp;#039; &amp;#039; ) );&lt;br /&gt;
				$nList[0].parentNode.parentNode.appendChild( nWelcomeNode );&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	if( mw.config.get( &amp;#039;wgNamespaceNumber&amp;#039; ) === 3 ) {&lt;br /&gt;
		var username = mw.config.get( &amp;#039;wgTitle&amp;#039; ).split( &amp;#039;/&amp;#039; )[0].replace( /\&amp;quot;/, &amp;quot;\\\&amp;quot;&amp;quot;); // only first part before any slashes&lt;br /&gt;
		Twinkle.addPortletLink( function(){ Twinkle.welcome.callback(username); }, &amp;quot;Wel&amp;quot;, &amp;quot;friendly-welcome&amp;quot;, &amp;quot;Welcome user&amp;quot; );&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.welcome.welcomeUser = function welcomeUser() {&lt;br /&gt;
	Morebits.status.init( document.getElementById(&amp;#039;mw-content-text&amp;#039;) );&lt;br /&gt;
	$( &amp;#039;#catlinks&amp;#039; ).remove();&lt;br /&gt;
&lt;br /&gt;
	var params = {&lt;br /&gt;
		value: Twinkle.getFriendlyPref(&amp;#039;quickWelcomeTemplate&amp;#039;),&lt;br /&gt;
		article: Morebits.queryString.exists( &amp;#039;vanarticle&amp;#039; ) ? Morebits.queryString.get( &amp;#039;vanarticle&amp;#039; ) : &amp;#039;&amp;#039;,&lt;br /&gt;
		mode: &amp;#039;auto&amp;#039;&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	Morebits.wiki.actionCompleted.redirect = mw.config.get(&amp;#039;wgPageName&amp;#039;);&lt;br /&gt;
	Morebits.wiki.actionCompleted.notice = &amp;quot;Welcoming complete, reloading talk page in a few seconds&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	var wikipedia_page = new Morebits.wiki.page(mw.config.get(&amp;#039;wgPageName&amp;#039;), &amp;quot;User talk page modification&amp;quot;);&lt;br /&gt;
	wikipedia_page.setFollowRedirect(true);&lt;br /&gt;
	wikipedia_page.setCallbackParameters(params);&lt;br /&gt;
	wikipedia_page.load(Twinkle.welcome.callbacks.main);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.welcome.callback = function friendlywelcomeCallback( uid ) {&lt;br /&gt;
	if( uid === mw.config.get(&amp;#039;wgUserName&amp;#039;) &amp;amp;&amp;amp; !confirm( &amp;#039;Are you really sure you want to welcome yourself?...&amp;#039; ) ){&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var Window = new Morebits.simpleWindow( 600, 420 );&lt;br /&gt;
	Window.setTitle( &amp;quot;Welcome user&amp;quot; );&lt;br /&gt;
	Window.setScriptName( &amp;quot;Twinkle&amp;quot; );&lt;br /&gt;
	Window.addFooterLink( &amp;quot;Welcoming Committee&amp;quot;, &amp;quot;WP:WC&amp;quot; );&lt;br /&gt;
	Window.addFooterLink( &amp;quot;Twinkle help&amp;quot;, &amp;quot;WP:TW/DOC#welcome&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
	var form = new Morebits.quickForm( Twinkle.welcome.callback.evaluate );&lt;br /&gt;
&lt;br /&gt;
	form.append({&lt;br /&gt;
			type: &amp;#039;select&amp;#039;,&lt;br /&gt;
			name: &amp;#039;type&amp;#039;,&lt;br /&gt;
			label: &amp;#039;Type of welcome: &amp;#039;,&lt;br /&gt;
			event: Twinkle.welcome.populateWelcomeList,&lt;br /&gt;
			list: [&lt;br /&gt;
				{ type: &amp;#039;option&amp;#039;, value: &amp;#039;standard&amp;#039;, label: &amp;#039;Standard welcomes&amp;#039;, selected: !Morebits.isIPAddress(mw.config.get(&amp;#039;wgTitle&amp;#039;)) },&lt;br /&gt;
				{ type: &amp;#039;option&amp;#039;, value: &amp;#039;anonymous&amp;#039;, label: &amp;#039;IP user welcomes&amp;#039;, selected: Morebits.isIPAddress(mw.config.get(&amp;#039;wgTitle&amp;#039;)) },&lt;br /&gt;
				{ type: &amp;#039;option&amp;#039;, value: &amp;#039;wikiProject&amp;#039;, label: &amp;#039;WikiProject welcomes&amp;#039; },&lt;br /&gt;
				{ type: &amp;#039;option&amp;#039;, value: &amp;#039;nonEnglish&amp;#039;, label: &amp;#039;Non-English welcomes&amp;#039; }&lt;br /&gt;
			]&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
	form.append( { type: &amp;#039;div&amp;#039;, id: &amp;#039;welcomeWorkArea&amp;#039; } );&lt;br /&gt;
&lt;br /&gt;
	form.append( {&lt;br /&gt;
			type: &amp;#039;input&amp;#039;,&lt;br /&gt;
			name: &amp;#039;article&amp;#039;,&lt;br /&gt;
			label: &amp;#039;* Linked article (if supported by template):&amp;#039;,&lt;br /&gt;
			value:( Morebits.queryString.exists( &amp;#039;vanarticle&amp;#039; ) ? Morebits.queryString.get( &amp;#039;vanarticle&amp;#039; ) : &amp;#039;&amp;#039; ),&lt;br /&gt;
			tooltip: &amp;#039;An article might be linked from within the welcome if the template supports it. Leave empty for no article to be linked.  Templates that support a linked article are marked with an asterisk.&amp;#039;&lt;br /&gt;
		} );&lt;br /&gt;
&lt;br /&gt;
	var previewlink = document.createElement( &amp;#039;a&amp;#039; );&lt;br /&gt;
	$(previewlink).click(function(){&lt;br /&gt;
		Twinkle.welcome.callbacks.preview(result);  // |result| is defined below&lt;br /&gt;
	});&lt;br /&gt;
	previewlink.style.cursor = &amp;quot;pointer&amp;quot;;&lt;br /&gt;
	previewlink.textContent = &amp;#039;Preview&amp;#039;;&lt;br /&gt;
	form.append( { type: &amp;#039;div&amp;#039;, name: &amp;#039;welcomepreview&amp;#039;, label: [ previewlink ] } );&lt;br /&gt;
&lt;br /&gt;
	form.append( { type: &amp;#039;submit&amp;#039; } );&lt;br /&gt;
&lt;br /&gt;
	var result = form.render();&lt;br /&gt;
	Window.setContent( result );&lt;br /&gt;
	Window.display();&lt;br /&gt;
&lt;br /&gt;
	// initialize the welcome list&lt;br /&gt;
	var evt = document.createEvent( &amp;quot;Event&amp;quot; );&lt;br /&gt;
	evt.initEvent( &amp;#039;change&amp;#039;, true, true );&lt;br /&gt;
	result.type.dispatchEvent( evt );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.welcome.populateWelcomeList = function(e) {&lt;br /&gt;
	var type = e.target.value;&lt;br /&gt;
	var $workarea = $(e.target.form).find(&amp;quot;div#welcomeWorkArea&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
	var div = new Morebits.quickForm.element({&lt;br /&gt;
		type: &amp;quot;div&amp;quot;,&lt;br /&gt;
		id: &amp;quot;welcomeWorkArea&amp;quot;&lt;br /&gt;
	});&lt;br /&gt;
&lt;br /&gt;
	if ((type === &amp;quot;standard&amp;quot; || type === &amp;quot;anonymous&amp;quot;) &amp;amp;&amp;amp; Twinkle.getFriendlyPref(&amp;quot;customWelcomeList&amp;quot;).length) {&lt;br /&gt;
		div.append({ type: &amp;#039;header&amp;#039;, label: &amp;#039;Custom welcome templates&amp;#039; });&lt;br /&gt;
		div.append({&lt;br /&gt;
			type: &amp;#039;radio&amp;#039;,&lt;br /&gt;
			name: &amp;#039;template&amp;#039;,&lt;br /&gt;
			list: Twinkle.getFriendlyPref(&amp;quot;customWelcomeList&amp;quot;),&lt;br /&gt;
			event: Twinkle.welcome.selectTemplate&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var appendTemplates = function(list) {&lt;br /&gt;
		div.append({&lt;br /&gt;
			type: &amp;#039;radio&amp;#039;,&lt;br /&gt;
			name: &amp;#039;template&amp;#039;,&lt;br /&gt;
			list: list.map(function(obj) {&lt;br /&gt;
				var properties = Twinkle.welcome.templates[obj];&lt;br /&gt;
				var result = (properties ? {&lt;br /&gt;
					value: obj,&lt;br /&gt;
					label: &amp;quot;{{&amp;quot; + obj + &amp;quot;}}: &amp;quot; + properties.description + (properties.linkedArticle ? &amp;quot;\u00A0*&amp;quot; : &amp;quot;&amp;quot;),  // U+00A0 NO-BREAK SPACE&lt;br /&gt;
					tooltip: properties.tooltip  // may be undefined&lt;br /&gt;
				} : {&lt;br /&gt;
					value: obj,&lt;br /&gt;
					label: &amp;quot;{{&amp;quot; + obj + &amp;quot;}}&amp;quot;&lt;br /&gt;
				});&lt;br /&gt;
				return result;&lt;br /&gt;
			}),&lt;br /&gt;
			event: Twinkle.welcome.selectTemplate&lt;br /&gt;
		});&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	switch (type) {&lt;br /&gt;
		case &amp;quot;standard&amp;quot;:&lt;br /&gt;
			div.append({ type: &amp;#039;header&amp;#039;, label: &amp;#039;General welcome templates&amp;#039; });&lt;br /&gt;
			appendTemplates([&lt;br /&gt;
				&amp;quot;welcome&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-short&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-personal&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-graphical&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-menu&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-screen&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-belated&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome student&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome teacher&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome non-latin&amp;quot;&lt;br /&gt;
			]);&lt;br /&gt;
			div.append({ type: &amp;#039;header&amp;#039;, label: &amp;#039;Problem user welcome templates&amp;#039; });&lt;br /&gt;
			appendTemplates([&lt;br /&gt;
				&amp;quot;welcomelaws&amp;quot;,&lt;br /&gt;
				&amp;quot;first article&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomevandal&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomenpov&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomespam&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeunsourced&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeauto&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-COI&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-image&amp;quot;&lt;br /&gt;
			]);&lt;br /&gt;
			break;&lt;br /&gt;
		case &amp;quot;anonymous&amp;quot;:&lt;br /&gt;
			div.append({ type: &amp;#039;header&amp;#039;, label: &amp;#039;Anonymous user welcome templates&amp;#039; });&lt;br /&gt;
			appendTemplates([&lt;br /&gt;
				&amp;quot;welcome-anon&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-anon-border&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-anon-test&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-anon-vandal&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-anon-constructive&amp;quot;&lt;br /&gt;
			]);&lt;br /&gt;
			break;&lt;br /&gt;
		case &amp;quot;wikiProject&amp;quot;:&lt;br /&gt;
			div.append({ type: &amp;#039;header&amp;#039;, label: &amp;#039;WikiProject-specific welcome templates&amp;#039; });&lt;br /&gt;
			appendTemplates([&lt;br /&gt;
				&amp;quot;welcome-au&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-bio&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-cal&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-conserv&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-cycling&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-dbz&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-et&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-in&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-de&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-math&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-med&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-no&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-pk&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-phys&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-pl&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-roads&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-rugbyunion&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-ru&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-starwars&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-ch&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-uk&amp;quot;,&lt;br /&gt;
				&amp;quot;welcome-videogames&amp;quot;&lt;br /&gt;
			]);&lt;br /&gt;
			break;&lt;br /&gt;
		case &amp;quot;nonEnglish&amp;quot;:&lt;br /&gt;
			div.append({ type: &amp;#039;header&amp;#039;, label: &amp;#039;Non-English welcome templates&amp;#039; });&lt;br /&gt;
			appendTemplates([&lt;br /&gt;
				&amp;quot;welcomeen-sq&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeen-zh&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeen-nl&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeen-fi&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeen-fr&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeen-de&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeen-he&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeen-ja&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeen-ko&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeen-mr&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeen-ml&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeen-or&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeen-pt&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeen-ru&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeen-es&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeen-sv&amp;quot;,&lt;br /&gt;
				&amp;quot;welcomeen-uk&amp;quot;&lt;br /&gt;
			]);&lt;br /&gt;
			break;&lt;br /&gt;
		default:&lt;br /&gt;
			div.append({ type: &amp;#039;div&amp;#039;, label: &amp;#039;Twinkle.welcome.populateWelcomeList: something went wrong&amp;#039; });&lt;br /&gt;
			break;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var rendered = div.render();&lt;br /&gt;
	rendered.className = &amp;quot;quickform-scrollbox&amp;quot;;&lt;br /&gt;
	$workarea.replaceWith(rendered);&lt;br /&gt;
&lt;br /&gt;
	var firstRadio = e.target.form.template[0];&lt;br /&gt;
	firstRadio.checked = true;&lt;br /&gt;
	Twinkle.welcome.selectTemplate({ target: firstRadio });&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.welcome.selectTemplate = function(e) {&lt;br /&gt;
	var properties = Twinkle.welcome.templates[e.target.values];&lt;br /&gt;
	e.target.form.article.disabled = (properties ? !properties.linkedArticle : false);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// A list of welcome templates and their properties and syntax&lt;br /&gt;
&lt;br /&gt;
// The four fields that are available are &amp;quot;description&amp;quot;, &amp;quot;linkedArticle&amp;quot;, &amp;quot;syntax&amp;quot;, and &amp;quot;tooltip&amp;quot;.&lt;br /&gt;
// The three magic words that can be used in the &amp;quot;syntax&amp;quot; field are:&lt;br /&gt;
//   - $USERNAME$  - replaced by the welcomer&amp;#039;s username, depending on user&amp;#039;s preferences&lt;br /&gt;
//   - $ARTICLE$   - replaced by an article name, if &amp;quot;linkedArticle&amp;quot; is true&lt;br /&gt;
//   - $HEADER$    - adds a level 2 header (most templates already include this)&lt;br /&gt;
&lt;br /&gt;
Twinkle.welcome.templates = {&lt;br /&gt;
	// GENERAL WELCOMES&lt;br /&gt;
&lt;br /&gt;
	&amp;quot;welcome&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;standard welcome&amp;quot;,&lt;br /&gt;
		linkedArticle: true,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome|$USERNAME$|art=$ARTICLE$}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-short&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;a shorter welcome message&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-short|$USERNAME$}} $EXTRA$ ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-personal&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;more personal welcome, including a plate of cookies&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-personal|$USERNAME$}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-graphical&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;colorful welcome message with table of about 20 links&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;$HEADER$ {{subst:welcome-graphical|$EXTRA$}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-menu&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome message with large table of about 60 links&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;$HEADER$ {{subst:welcome-menu}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-screen&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome message with clear, annotated table of 10 links&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;$HEADER$ {{subst:welcome-screen}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-belated&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with more substantial contributions&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-belated|$USERNAME$}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome student&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for students editing as part of an educational class project&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;$HEADER$ {{subst:welcome student|$USERNAME$}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome teacher&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for course instructors involved in an educational class project&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;$HEADER$ {{subst:welcome teacher|$USERNAME$}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome non-latin&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with a username containing non-Latin characters&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome non-latin|$USERNAME$}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	// PROBLEM USER WELCOMES&lt;br /&gt;
&lt;br /&gt;
	&amp;quot;welcomelaws&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome with information about copyrights, NPOV, the sandbox, and vandalism&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomelaws|$USERNAME$}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;first article&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;for someone whose first article did not meet page creation guidelines&amp;quot;,&lt;br /&gt;
		linkedArticle: true,&lt;br /&gt;
		syntax: &amp;quot;{{subst:first article|$ARTICLE$|$USERNAME$}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomevandal&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;for someone whose initial efforts appear to be vandalism&amp;quot;,&lt;br /&gt;
		linkedArticle: true,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomevandal|$ARTICLE$|$USERNAME$}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomenpov&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;for someone whose initial efforts do not adhere to the neutral point of view policy&amp;quot;,&lt;br /&gt;
		linkedArticle: true,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomenpov|$ARTICLE$|$USERNAME$}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomespam&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome with additional discussion of anti-spamming policies&amp;quot;,&lt;br /&gt;
		linkedArticle: true,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomespam|$ARTICLE$|$USERNAME$}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeunsourced&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;for someone whose initial efforts are unsourced&amp;quot;,&lt;br /&gt;
		linkedArticle: true,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeunsourced|$ARTICLE$|$USERNAME$}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeauto&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;for someone who created an autobiographical article&amp;quot;,&lt;br /&gt;
		linkedArticle: true,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeauto|$USERNAME$|art=$ARTICLE$}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-COI&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;for someone who has edited in areas where they may have a conflict of interest&amp;quot;,&lt;br /&gt;
		linkedArticle: true,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-COI|$USERNAME$|art=$ARTICLE$}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-image&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome with additional information about images (policy and procedure)&amp;quot;,&lt;br /&gt;
		linkedArticle: true,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-image}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	// ANONYMOUS USER WELCOMES&lt;br /&gt;
&lt;br /&gt;
	&amp;quot;welcome-anon&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;for anonymous users; encourages creating an account&amp;quot;,&lt;br /&gt;
		linkedArticle: true,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-anon|art=$ARTICLE$}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-anon-border&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;similar to {{welcome-anon}}, but has a border and uses clearer language&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-anon-border}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-anon-test&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;for anonymous users who have performed test edits&amp;quot;,&lt;br /&gt;
		linkedArticle: true,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-anon-test|$ARTICLE$|$USERNAME$}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-anon-vandal&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;for anonymous users who have vandalized a page&amp;quot;,&lt;br /&gt;
		linkedArticle: true,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-anon-vandal|$ARTICLE$|$USERNAME$}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-anon-constructive&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;for anonymous users who fight vandalism and edit constructively&amp;quot;,&lt;br /&gt;
		linkedArticle: true,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-anon-constructive|art=$ARTICLE$}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	// WIKIPROJECT-SPECIFIC WELCOMES&lt;br /&gt;
&lt;br /&gt;
	&amp;quot;welcome-au&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in Australia topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-au}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-bio&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in biographical topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-bio}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-cal&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in California topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-cal}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-conserv&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in conservatism topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-conserv}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-cycling&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in cycling topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-cycling}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-dbz&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in Dragon Ball topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-dbz}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-et&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in Estonia topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-et}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-in&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in India topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-in}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-de&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in Germany topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-de}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-math&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in mathematical topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-math}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-med&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in medicine topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-med}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-no&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in Norway topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-no}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-pk&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in Pakistan topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-pk}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-phys&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in physics topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-phys}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-pl&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in Poland topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-pl}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-rugbyunion&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in rugby union topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-rugbyunion}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-ru&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in Russia topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-ru}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-starwars&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in Star Wars topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-starwars}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-ch&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in Switzerland topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-ch}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-uk&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in Ukraine topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-uk}} ~~~~&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-roads&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in roads and highways topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-roads}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcome-videogames&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users with an apparent interest in video game topics&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcome-videogames}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	// NON-ENGLISH WELCOMES&lt;br /&gt;
&lt;br /&gt;
	&amp;quot;welcomeen-sq&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users whose first language appears to be Albanian&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeen-sq}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeen-zh&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users whose first language appears to be Chinese&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeen-zh}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeen-nl&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users whose first language appears to be Dutch&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeen-nl}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeen-fi&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users whose first language appears to be Finnish&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeen-fi}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeen-fr&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users whose first language appears to be French&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeen-fr}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeen-de&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users whose first language appears to be German&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeen-de}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeen-he&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users whose first language appears to be Hebrew&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeen-he}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeen-ja&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users whose first language appears to be Japanese&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeen-ja}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeen-ko&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users whose first language appears to be Korean&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeen-ko}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeen-mr&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users whose first language appears to be Marathi&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeen-mr}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeen-ml&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users whose first language appears to be Malayalam&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeen-ml}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeen-or&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users whose first language appears to be Oriya (Odia)&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeen-or}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeen-pt&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users whose first language appears to be Portuguese&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeen-pt}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeen-ru&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users whose first language appears to be Russian&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeen-ru}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeen-es&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users whose first language appears to be Spanish&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeen-es}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeen-sv&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users whose first language appears to be Swedish&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeen-sv}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;welcomeen-uk&amp;quot;: {&lt;br /&gt;
		description: &amp;quot;welcome for users whose first language appears to be Ukrainian&amp;quot;,&lt;br /&gt;
		linkedArticle: false,&lt;br /&gt;
		syntax: &amp;quot;{{subst:welcomeen-uk}}&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.welcome.getTemplateWikitext = function(template, article) {&lt;br /&gt;
	var properties = Twinkle.welcome.templates[template];&lt;br /&gt;
	if (properties) {&lt;br /&gt;
		return properties.syntax.&lt;br /&gt;
			replace(&amp;quot;$USERNAME$&amp;quot;, Twinkle.getFriendlyPref(&amp;quot;insertUsername&amp;quot;) ? mw.config.get(&amp;quot;wgUserName&amp;quot;) : &amp;quot;&amp;quot;).&lt;br /&gt;
			replace(&amp;quot;$ARTICLE$&amp;quot;, article ? article : &amp;quot;&amp;quot;).&lt;br /&gt;
			replace(/\$HEADER\$\s*/, &amp;quot;== Welcome ==\n\n&amp;quot;).&lt;br /&gt;
			replace(&amp;quot;$EXTRA$&amp;quot;, &amp;quot;&amp;quot;);  // EXTRA is not implemented yet&lt;br /&gt;
	} else {&lt;br /&gt;
		return &amp;quot;{{subst:&amp;quot; + template + (article ? (&amp;quot;|art=&amp;quot; + article) : &amp;quot;&amp;quot;) + &amp;quot;}}&amp;quot; +&lt;br /&gt;
			(Twinkle.getFriendlyPref(&amp;quot;customWelcomeSignature&amp;quot;) ? &amp;quot; ~~~~&amp;quot; : &amp;quot;&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.welcome.callbacks = {&lt;br /&gt;
	preview: function(form) {&lt;br /&gt;
		var previewDialog = new Morebits.simpleWindow(750, 400);&lt;br /&gt;
		previewDialog.setTitle(&amp;quot;Welcome template preview&amp;quot;);&lt;br /&gt;
		previewDialog.setScriptName(&amp;quot;Welcome user&amp;quot;);&lt;br /&gt;
		previewDialog.setModality(true);&lt;br /&gt;
&lt;br /&gt;
		var previewdiv = document.createElement(&amp;quot;div&amp;quot;);&lt;br /&gt;
		previewdiv.style.marginLeft = previewdiv.style.marginRight = &amp;quot;0.5em&amp;quot;;&lt;br /&gt;
		previewdiv.style.fontSize = &amp;quot;small&amp;quot;;&lt;br /&gt;
		previewDialog.setContent(previewdiv);&lt;br /&gt;
&lt;br /&gt;
		var previewer = new Morebits.wiki.preview(previewdiv);&lt;br /&gt;
		previewer.beginRender(Twinkle.welcome.getTemplateWikitext(form.getChecked(&amp;quot;template&amp;quot;), form.article.value));&lt;br /&gt;
&lt;br /&gt;
		var submit = document.createElement(&amp;quot;input&amp;quot;);&lt;br /&gt;
		submit.setAttribute(&amp;quot;type&amp;quot;, &amp;quot;submit&amp;quot;);&lt;br /&gt;
		submit.setAttribute(&amp;quot;value&amp;quot;, &amp;quot;Close&amp;quot;);&lt;br /&gt;
		previewDialog.addContent(submit);&lt;br /&gt;
&lt;br /&gt;
		previewDialog.display();&lt;br /&gt;
&lt;br /&gt;
		$(submit).click(function(e) {&lt;br /&gt;
			previewDialog.close();&lt;br /&gt;
		});&lt;br /&gt;
	},&lt;br /&gt;
	main: function( pageobj ) {&lt;br /&gt;
		var params = pageobj.getCallbackParameters();&lt;br /&gt;
		var text = pageobj.getPageText();&lt;br /&gt;
&lt;br /&gt;
		// abort if mode is auto and form is not empty&lt;br /&gt;
		if( pageobj.exists() &amp;amp;&amp;amp; params.mode === &amp;#039;auto&amp;#039; ) {&lt;br /&gt;
			Morebits.status.info( &amp;#039;Warning&amp;#039;, &amp;#039;User talk page not empty; aborting automatic welcome&amp;#039; );&lt;br /&gt;
			Morebits.wiki.actionCompleted.event();&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var welcomeText = Twinkle.welcome.getTemplateWikitext(params.value, params.article);&lt;br /&gt;
&lt;br /&gt;
		if( Twinkle.getFriendlyPref(&amp;#039;topWelcomes&amp;#039;) ) {&lt;br /&gt;
			text = welcomeText + &amp;#039;\n\n&amp;#039; + text;&lt;br /&gt;
		} else {&lt;br /&gt;
			text += &amp;quot;\n&amp;quot; + welcomeText;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var summaryText = &amp;quot;Welcome to Wikipedia!&amp;quot;;&lt;br /&gt;
		pageobj.setPageText(text);&lt;br /&gt;
		pageobj.setEditSummary(summaryText + Twinkle.getPref(&amp;#039;summaryAd&amp;#039;));&lt;br /&gt;
		pageobj.setWatchlist(Twinkle.getFriendlyPref(&amp;#039;watchWelcomes&amp;#039;));&lt;br /&gt;
		pageobj.setCreateOption(&amp;#039;recreate&amp;#039;);&lt;br /&gt;
		pageobj.save();&lt;br /&gt;
	}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
Twinkle.welcome.callback.evaluate = function friendlywelcomeCallbackEvaluate(e) {&lt;br /&gt;
	var form = e.target;&lt;br /&gt;
&lt;br /&gt;
	var params = {&lt;br /&gt;
		value: form.getChecked(&amp;quot;template&amp;quot;),&lt;br /&gt;
		article: form.article.value,&lt;br /&gt;
		mode: &amp;#039;manual&amp;#039;&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	Morebits.simpleWindow.setButtonsEnabled( false );&lt;br /&gt;
	Morebits.status.init( form );&lt;br /&gt;
&lt;br /&gt;
	Morebits.wiki.actionCompleted.redirect = mw.config.get(&amp;#039;wgPageName&amp;#039;);&lt;br /&gt;
	Morebits.wiki.actionCompleted.notice = &amp;quot;Welcoming complete, reloading talk page in a few seconds&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	var wikipedia_page = new Morebits.wiki.page(mw.config.get(&amp;#039;wgPageName&amp;#039;), &amp;quot;User talk page modification&amp;quot;);&lt;br /&gt;
	wikipedia_page.setFollowRedirect(true);&lt;br /&gt;
	wikipedia_page.setCallbackParameters(params);&lt;br /&gt;
	wikipedia_page.load(Twinkle.welcome.callbacks.main);&lt;br /&gt;
};&lt;br /&gt;
})(jQuery);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ahenket</name></author>
	</entry>
</feed>