Not: Yayımladıktan sonra değişiklikleri görmeniz için tarayıcınızın önbelleğini temizlemeniz gerekebilir.

  • Firefox / Safari: Shift tuşuna basılıyken Yeniden Yükle'ye tıklayın ya da Ctrl-F5 ya da Ctrl-R tıklayın (Mac için ⌘-R)
  • Google Chrome: Ctrl-Shift-R'ye basın. (Mac için ⌘-Shift-R)
  • Edge: Ctrl basılıyken Yenile'ye tıklayın ya da Ctrl-F5'e basın.
// based on http://en.wikipedia.org/wiki/User:Fran Rogers/dimorphism.js // and on http://en.wikipedia.org/wiki/User:Splarka/sysopdectector.js // source: https://en.wikipedia.org/wiki/User:PleaseStand/userinfo.js function UserinfoJsFormatQty(qty, singular, plural) { 	return String(qty).replace(/\d{1,3}(?=(\d{3})+(?!\d))/g, "$&,") + "\u00a0" + (qty == 1 ? singular : plural); }  function UserinfoJsFormatDateRel(old) { 	// Aşağıdaki kod, bilgisayarın saatinin doğru ayarlanmasını gerektirir. 	var age = new Date().getTime() - old.getTime(); 	var ageNumber, ageRemainder, ageWords; 	if (age < 60000) { 		// less than one minute old 		ageNumber = Math.floor(age / 1000); 		ageWords = UserinfoJsFormatQty(ageNumber, "saniye", "saniye"); 	} else if (age < 3600000) { 		// less than one hour old 		ageNumber = Math.floor(age / 60000); 		ageWords = UserinfoJsFormatQty(ageNumber, "dakika", "dakika"); 	} else if (age < 86400000) { 		// less than one day old 		ageNumber = Math.floor(age / 3600000); 		ageWords = UserinfoJsFormatQty(ageNumber, "saat", "saat"); 		ageRemainder = Math.floor((age - ageNumber * 3600000) / 60000); 	} else if (age < 604800000) { 		// less than one week old 		ageNumber = Math.floor(age / 86400000); 		ageWords = UserinfoJsFormatQty(ageNumber, "gün", "gün"); 	} else if (age < 2592000000) { 		// less than one month old 		ageNumber = Math.floor(age / 604800000); 		ageWords = UserinfoJsFormatQty(ageNumber, "hafta", "hafta"); 	} else if (age < 31536000000) { 		// less than one year old 		ageNumber = Math.floor(age / 2592000000); 		ageWords = UserinfoJsFormatQty(ageNumber, "ay", "ay"); 	} else { 		// one year or older 		ageNumber = Math.floor(age / 31536000000); 		ageWords = UserinfoJsFormatQty(ageNumber, "yıl", "yıl"); 		ageRemainder = 			Math.floor((age - ageNumber * 31536000000) / 2592000000); 		if (ageRemainder) { 			ageWords += " " + 				UserinfoJsFormatQty(ageRemainder, "ay", "ay"); 		} 	} 	return ageWords; }  // If on a user or user talk page, and not a subpage... if ((mw.config.get("wgNamespaceNumber") == 2 || mw.config.get("wgNamespaceNumber") == 3) && !(/\//.test(mw.config.get("wgTitle")))) { 	// add a hook to... 	mw.loader.using(['mediawiki.util'], function() { 		$(function() { 			// Request the user's information from the API. 			// Note that this is allowed to be up to 5 minutes old. 			var et = encodeURIComponent(mw.config.get("wgTitle"));  			$.getJSON(mw.config.get("wgScriptPath") + "/api.php?format=json&action=query&list=blocks|users|usercontribs&usprop=blockinfo|editcount|gender|registration|groups&uclimit=1&ucprop=timestamp&ususers=" + et + "&ucuser=" + et + "&bkusers" + et + "&meta=allmessages&amfilter=grouppage") 				.done(function(query) { 					// When response arrives extract the information we need. 					if (!query.query) { 						return; 					} // Suggested by Gary King to avoid JS errors --PS 2010-08-25 					query = query.query; 					var user, invalid, missing, groups, groupPages = {}, 						editcount, registration, blocked, gender, lastEdited; 					try { 						user = query.users[0]; 						invalid = typeof user.invalid != "undefined"; 						missing = typeof user.missing != "undefined"; 						groups = (typeof user.groups == "object") ? user.groups : []; 						editcount = (typeof user.editcount == "number") ? user.editcount : null; 						registration = (typeof user.registration == "string") ? 							new Date(user.registration) : null; 						blocked = typeof user.blockedby != "undefined"; 						partialBlocked = typeof user.blockpartial != "undefined"; 						gender = (typeof user.gender == "string") ? user.gender : null; 						lastEdited = (typeof query.usercontribs[0] == "object") && 							(typeof query.usercontribs[0].timestamp == "string") ? 							new Date(query.usercontribs[0].timestamp) : null; 						for (var am = 0; am < query.allmessages.length; am++) { 							groupPages[query.allmessages[am]["name"].replace("grouppage-", "")] = query.allmessages[am]["*"].replace("{{ns:project}}:", "Vikigezgin:"); 						} 					} catch (e) { 						return; // Not much to do if the server is returning an error (e.g. if the username is malformed). 					}  					// Format the information for on-screen display  					var statusText = ""; 					var ipUser = false; 					var ipv4User = false; 					var ipv6User = false;  					// User status 					if (blocked) { 						if (partialBlocked) { 							blockText = "kısmi engellenmiş"; 						} else { 							blockText = "engellenmiş"; 						} 						statusText += "<a href=\"" + mw.config.get("wgScriptPath") + 							"/index.php?title=Special:Log&amp;page=" + 							encodeURIComponent(mw.config.get("wgFormattedNamespaces")[2] + ":" + user.name) + 							"&amp;type=block\">" + blockText + "</a> "; 					} 					if (missing) { 						statusText += "kullanıcı adı kayıtlı değil"; 					} else if (invalid) { 						ipv4User = mw.util.isIPv4Address(user.name); 						ipv6User = mw.util.isIPv6Address(user.name); 						ipUser = ipv4User || ipv6User; 						if (ipv4User) { 							statusText += "anonim IPv4 kullanıcısı"; 						} else if (ipv6User) { 							statusText += "anonim IPv6 kullanıcısı"; 						} else { 							statusText += "geçersiz kullanıcı adı"; 						} 					} else { 						// User is registered and may be in a privileged group. Below we have a list of user groups. 						// Only need the ones different from the software's name (or ones to exclude), though. 						var friendlyGroupNames = { 							// Exclude implicit user group information provided by MW 1.17 --PS 2010-02-17 							'*': false,                     		'user': false, 		                    'autoconfirmed': false, 		                    'interface-editor' : "arayüz editörü", 							'interface-admin': "arayüz yöneticisi", 		                    bureaucrat: "bürokrat", 							checkuser: "denetçi", 							patroller: "devriye", 							filemover: "dosya taşıyıcı", 							editor: "editör",  							eponline: "eğitim programı çevrimiçi gönüllüsü", 							epcoordinator: "eğitim programı ders koordinatörü", 		                    epcampus: "eğitim programı yerleşke gönüllüsü", 							oversight: "gözetmen", 							accountcreator: "hesap oluşturucu", 		                    sysop: "hizmetli", 		                    'import': "içe aktarıcı", 							'ipblock-exempt': "IP engelleme muafı", 							confirmed: "onaylanmış kullanıcı", 							autoreviewer: "otomatik onaylanmış kullanıcı", 							autoreview: "otomatik onaylanmış kullanıcı", 							abusefilter: "süzgeç yöneticisi", 							templateeditor: "şablon editörü", 							'massmessage-sender': "toplu ileti gönderici", 							transwiki: "vikilerarası içe aktarıcı", 							rollbacker:"geri döndürücü" 						};  						var friendlyGroups = []; 						for (var i = 0; i < groups.length; ++i) { 							var s = groups[i]; 							if (s == "named") { 								continue; 								 							} 							if (friendlyGroupNames.hasOwnProperty(s)) { 								if (friendlyGroupNames[s]) { 									friendlyGroups.push("<a href='/wiki/" + encodeURIComponent(groupPages[s]) + "'>" + friendlyGroupNames[s] + "</a>"); 								} 							} else { 								friendlyGroups.push("<a href='/wiki/" + encodeURIComponent(groupPages[s]) + "'>" + s + "</a>"); 							} 						} 						switch (friendlyGroups.length) { 							case 0: 								// User not in a privileged group 								// Changed to "registered user" by request of [[User:Svanslyck]] 								// --PS 2010-05-16  								// statusText += "kullanıcı"; 								if (blocked) { 									statusText += "kullanıcı"; 								} else { 									statusText += "kayıtlı kullanıcı"; 								} 								break; 							case 1: 								statusText += friendlyGroups[0]; 								break; 							case 2: 								statusText += friendlyGroups[0] + " ve " + friendlyGroups[1]; 								break; 							default: 								statusText += friendlyGroups.slice(0, -1).join(", ") + 									", ve " + friendlyGroups[friendlyGroups.length - 1]; 								break; 						} 					}  					// Registration date 					if (registration) { 						var firstLoggedUser = new Date("22:16, 7 September 2005"); // When the [[Special:Log/newusers]] was first activated 						if (registration >= firstLoggedUser) { 							statusText += ", <a href='" + mw.config.get("wgScriptPath") + 								"/index.php?title=Special:Log&amp;type=newusers&amp;dir=prev&amp;limit=1&amp;user=" + 								et + "'>" + UserinfoJsFormatDateRel(registration) + "</a> önce üye oldu"; 						} else { 							statusText += ", <a href='" + mw.config.get("wgScriptPath") + 								"/index.php?title=Special:ListUsers&amp;limit=1&amp;username=" + 								et + "'>" + UserinfoJsFormatDateRel(registration) + "</a> önce üye oldu"; 						} 					}  					// Edit count 					if (editcount !== null) { 						statusText += " ve toplam " + 							"<a href=\"//tools.wmflabs.org/xtools-ec/?user=" + 							encodeURIComponent(user.name) + 							"&amp;project=tr.wikivoyage.org&amp;uselang=en\">" + 							UserinfoJsFormatQty(editcount, "değişikliğe sahip", "değişikliğe sahip") + "</a>"; 					}  					statusText = "Bu " + statusText + ".";  					// Last edited --PS 2010-06-27 					// Added link to contributions page --PS 2010-07-03 					if (lastEdited) { 						statusText += " Son değişikliğini <a href=\"" + mw.config.get("wgArticlePath").replace("$1", "Special:Contributions/" + encodeURIComponent(user.name)) + "\">" + UserinfoJsFormatDateRel(lastEdited) + " önce yaptı</a>."; 					}  					// Show the correct gender symbol 					var fh = document.getElementById("firstHeading") || 						document.getElementById("section-0"); 					// Add classes for blocked, registered, and anonymous users 					var newClasses = []; 					if (blocked) { 						newClasses.push("ps-blocked"); 					} 					if (ipUser) { 						newClasses.push("ps-anonymous"); 					} else if (invalid) { 						newClasses.push("ps-invalid"); 					} else { 						newClasses.push("ps-registered"); 					} 					fh.className += (fh.className.length ? " " : "") + groups.map(function(s) { 						return "ps-group-" + s; 					}).concat(newClasses).join(" "); 					var genderSpan = document.createElement("span"); 					genderSpan.id = "ps-gender-" + (gender || "unknown"); 					genderSpan.style.paddingLeft = "0.25em"; 					genderSpan.style.fontFamily = '"Lucida Grande", "Lucida Sans Unicode", "sans-serif"'; 					genderSpan.style.fontSize = "75%"; 					var genderSymbol; 					switch (gender) { 						case "male": 							genderSymbol = "\u2642"; 							break; 						case "female": 							genderSymbol = "\u2640"; 							break; 						default: 							genderSymbol = ""; 							break; 					} 					genderSpan.appendChild(document.createTextNode(genderSymbol)); 					fh.appendChild(genderSpan);  					// Now show the other information. Non-standard? Yes, but it gets the job done. 					// Add a period after the tagline when doing so. --PS 2010-07-03  					var ss = document.getElementById("siteSub"); 					if (!ss) { 						ss = document.createElement("div"); 						ss.id = "siteSub"; 						ss.innerHTML = "Vikigezgin"; 						var bc = document.getElementById("bodyContent"); 						bc.insertBefore(ss, bc.firstChild); 					}  					ss.innerHTML = '<span id="ps-userinfo">' + statusText + '</span> ' + ss.innerHTML + '.'; 					ss.style.display = "block"; 				}); 		}); 	}); }