Ugrás a tartalomhoz

Szerkesztő:Tilar Vehulor/ListaCsere.js

A Wikipédiából, a szabad enciklopédiából

Megjegyzés: közzététel után frissítened kell a böngésződ gyorsítótárát, hogy lásd a változásokat.

  • Firefox / Safari: tartsd lenyomva a Shift gombot és kattints a Frissítés gombra a címsorban, vagy használd a Ctrl–F5 vagy Ctrl–R (Macen ⌘–R) billentyűkombinációt
  • Google Chrome: használd a Ctrl–Shift–R (Macen ⌘–Shift–R) billentyűkombinációt
  • Internet Explorer / Edge: tartsd nyomva a Ctrl-t, és kattints a Frissítés gombra, vagy nyomj Ctrl–F5-öt
  • Opera: Nyomj Ctrl–F5-öt
// -*- coding:utf-8 -*-

'use strict';
// <nowiki>

// Begin closure
(function () {



// Input/output field
var $textbox = $('#wpTextbox1');



// util

// Replace a string/regexp in a text

function replaceRegexp(text, replaceWhat, replaceWith, flags) {
	if (!flags) {flags = 'g';}
	var pattern = new RegExp(replaceWhat, flags);
	text = text.replaceAll(pattern, replaceWith);
	return text;
}

function replaceString(text, replaceWhat, replaceWith) {
	text = text.replaceAll(replaceWhat, replaceWith);
	return text;
}

function replaceAny(text, item) {
	if (!item[2]) {
		text = text.replaceAll(item[0], item[1]);
	} else {
		var pattern = new RegExp(item[0], 'g');
		text = text.replaceAll(pattern, item[1]);
	}
	return text;
}


function replaceList(text, list) {
	for (var i = 0; i < list.length; i++) {
		var item = list[i];
		
		if (item[2] === undefined) {
			text = text.replaceAll(item[0], item[1]);
		} else {
			var pattern = new RegExp(item[0], 'g');
			text = text.replaceAll(pattern, item[1]);
		}
	}
	return text;
}




// Translate country names

/*
 * [0]: English name,
 * [1]: Hungarian name,
 * [2]: (mode: regexp or not)
 */
var countryNames = [
	["Earth|World", "Föld", "regexp"],
	["Côte d'Ivoire", "Elefántcsontpart"],
	["People's Republic of China|China", "Kína", "regexp"],
	["Azores", "Azori-szigetek"],
	["American Samoa", "Amerikai Szamoa"],
	["Antarctica", "Antarktisz"],
	["Ashmore and Cartier Islands", "Ashmore- és Cartier-szigetek"],
	["Baker Island", "Baker-sziget"],
	["Bermuda", "Bermuda-szigetek"],
	["Bouvet Island", "Bouvet-sziget"],
	["British Indian Ocean Territory", "Brit Indiai-óceáni Terület"],
	["British Virgin Islands", "Brit Virgin-szigetek"],
	["West Bank", "Ciszjordánia"],
	["Clipperton Island", "Clipperton-sziget"],
	["Cook Islands", "Cook-szigetek"],
	["South Georgia and the South Sandwich Islands", "Déli-Georgia és Déli-Sandwich-szigetek"],
	["Turkish Republic of Northern Cyprus", "Észak-Ciprus"],
	["Northern Mariana Islands", "Északi-Mariana-szigetek"],
	["European Union", "Európai Unió"],
	["Europa Island", "Európa-sziget"],
	["Falkland Islands (Islas Malvinas)", "Falkland-szigetek"],
	["Falkland Islands", "Falkland-szigetek"],
	["Faroe Islands", "Feröer szigetek"],
	["French Southern and Antarctic Lands", "Francia déli területek"],
	["French Guiana", "Francia Guyana"],
	["French Polynesia", "Francia Polinézia"],
	["Gaza Strip", "Gázai övezet"],
	["Gibraltar", "Gibraltár"],
	["Glorioso Islands", "Glorieuse-szigetek"],
	["Greenland", "Grönland"],
	["Heard Island and McDonald Islands", "Heard-sziget és McDonald-szigetek"],
	["Netherlands Antilles", "Holland Antillák"],
	["Hong Kong", "Hongkong"],
	["Howland Island", "Howland-sziget"],
	["Jan Mayen", "Jan Mayen-sziget"],
	["Jarvis Island", "Jarvis-sziget"],
	["Johnston Atoll", "Johnston-atoll"],
	["Juan de Nova Island", "Juan de Nova-sziget"],
	["Cayman Islands", "Kajmán-szigetek"],
	["Christmas Island", "Karácsony-sziget"],
	["Kingman Reef", "Kingman-zátony"],
	["Cocos (Keeling) Islands", "Kókusz (Keeling)-szigetek"],
	["Coral Sea Islands", "Korall-tengeri-szigetek"],
	["Macau", "Makaó"],
	["Macao", "Makaó"],
	["Isle of Man", "Man-sziget"],
	["Midway Islands", "Midway-szigetek"],
	["Navassa Island", "Navassa-sziget"],
	["Norfolk Island", "Norfolk-sziget"],
	["Western Sahara", "Nyugat-Szahara"],
	["Palestinian National Authority", "Palesztin Nemzeti Hatóság"],
	["Palmyra Atoll", "Palmyra-atoll"],
	["Paracel Islands", "Paracel-szigetek"],
	["Pitcairn Islands", "Pitcairn-szigetek"],
	["Reunion", "Réunion"],
	["Saint Pierre and Miquelon", "Saint-Pierre és Miquelon"],
	["Saint-Pierre and Miquelon", "Saint-Pierre és Miquelon"],
	["Svalbard", "Spitzbergák"],
	["Spratly Islands", "Spratly-szigetek"],
	["Saint Helena", "Szent Ilona"],
	["Somaliland", "Szomáliföld"],
	["Tokelau", "Tokelau-szigetek"],
	["Tromelin Island", "Tromelin-sziget"],
	["Turks and Caicos Islands", "Turks- és Caicos-szigetek"],
	["New Caledonia", "Új-Kaledónia"],
	["Virgin Islands", "Virgin-szigetek"],
	["Wake Island", "Wake-sziget"],
	["Wallis and Futuna", "Wallis és Futuna"],
	["Taiwan", "Tajvan"],
	["Burma", "Mianmar"],
	["Timor-Leste", "Kelet-Timor"],
	["Gambia", "Gambia"],
	["Democratic People's Republic of Korea", "Koreai Népi Demokratikus Köztársaság"],
	["Republic of Korea", "Koreai Köztársaság"],
	["South Korea", "Koreai Köztársaság"],
	["North Korea", "Koreai Népi Demokratikus Köztársaság"],
	["Democratic Republic of the Congo", "Kongói Demokratikus Köztársaság"],
	["Democratic Congo", "Kongói Demokratikus Köztársaság"],
	["Republic of the Congo", "Kongó"],
	["Republic of Ireland|Ireland", "Írország", "regexp"],
	["Republic of China (Taiwan)", "Tajvan"],
	["Georgia (country)|Georgia", "Grúzia", "regexp"],
	["Federated States of Micronesia", "Mikronézia"],
	["São Tome and Principe", "São Tomé és Príncipe"],
	["The Bahamas", "Bahama-szigetek"],
	["Special Administrative Region|S.A.R.", "Különleges Közigazgatású Régió|KKR", "regexp"],
	["Special Administrative Region|SAR", "Különleges Közigazgatású Régió|KKR", "regexp"],
	["Afghanistan", "Afganisztán"],
	["Albania", "Albánia"],
	["Algeria", "Algéria"],
	["United States", "Amerikai Egyesült Államok"],
	["Andorra", "Andorra"],
	["Angola", "Angola"],
	["Antigua and Barbuda", "Antigua és Barbuda"],
	["United Arab Emirates", "Arab Emírségek"],
	["Argentina", "Argentína"],
	["Australia", "Ausztrália"],
	["Austria", "Ausztria"],
	["Azerbaijan", "Azerbajdzsán"],
	["Bahamas", "Bahama-szigetek"],
	["Bahrain", "Bahrein"],
	["Bangladesh", "Banglades"],
	["Barbados", "Barbados"],
	["Belarus", "Fehéroroszország"],
	["Belgium", "Belgium"],
	["Belize", "Belize"],
	["Benin", "Benin"],
	["Bhutan", "Bhután"],
	["Guinea-Bissau", "Bissau-Guinea"],
	["Bolivia", "Bolívia"],
	["Bosnia and Herzegovina", "Bosznia-Hercegovina"],
	["Botswana", "Botswana"],
	["Brazil", "Brazília"],
	["Brunei", "Brunei"],
	["Bulgaria", "Bulgária"],
	["Burkina Faso", "Burkina Faso"],
	["Burundi", "Burundi"],
	["Chile", "Chile"],
	["Cyprus", "Ciprus"],
	["Comoros", "Comore-szigetek"],
	["Costa Rica", "Costa Rica"],
	["Chad", "Csád"],
	["Czech Republic", "Csehország"],
	["Denmark", "Dánia"],
	["South Africa", "Dél-afrikai Köztársaság"],
	["Dominican Republic", "Dominikai Köztársaság"],
	["Dominica", "Dominikai Közösség"],
	["Djibouti", "Dzsibuti"],
	["Ecuador", "Ecuador"],
	["Equatorial Guinea", "Egyenlítői-Guinea"],
	["Egypt", "Egyiptom"],
	["Cote d'Ivoire", "Elefántcsontpart"],
	["Eritrea", "Eritrea"],
	["Estonia", "Észtország"],
	["Ethiopia", "Etiópia"],
	["Fiji", "Fidzsi-szigetek"],
	["Finland", "Finnország"],
	["France", "Franciaország"],
	["Philippines", "Fülöp-szigetek"],
	["Gabon", "Gabon"],
	["The Gambia", "Gambia"],
	["Ghana", "Ghána"],
	["Greece", "Görögország"],
	["Grenada", "Grenada"],
	["Georgia", "Grúzia"],
	["Guatemala", "Guatemala"],
	["Guinea", "Guinea"],
	["Guyana", "Guyana"],
	["Haiti", "Haiti"],
	["Netherlands", "Hollandia"],
	["Honduras", "Honduras"],
	["Croatia", "Horvátország"],
	["India", "India"],
	["Indonesia", "Indonézia"],
	["Iraq", "Irak"],
	["Iran", "Irán"],
	["Ireland", "Írország"],
	["Iceland", "Izland"],
	["Israel", "Izrael"],
	["Jamaica", "Jamaica"],
	["Japan", "Japán"],
	["Yemen", "Jemen"],
	["Jordan", "Jordánia"],
	["Cambodia", "Kambodzsa"],
	["Cameroon", "Kamerun"],
	["Canada", "Kanada"],
	["Qatar", "Katar"],
	["Kazakhstan", "Kazahsztán"],
	["East Timor", "Kelet-Timor"],
	["Kenya", "Kenya"],
	["People's Republic of China", "Kína"],
	["Kyrgyzstan", "Kirgizisztán"],
	["Kiribati", "Kiribati"],
	["Colombia", "Kolumbia"],
	["Republic of the Congo", "Kongó"],
	["Democratic Republic of the Congo", "Kongói Demokratikus Köztársaság"],
	["South Korea", "Koreai Köztársaság"],
	["North Korea", "Koreai Népi Demokratikus Köztársaság"],
	["Central African Republic", "Közép-afrikai Köztársaság"],
	["Cuba", "Kuba"],
	["Kuwait", "Kuvait"],
	["Laos", "Laosz"],
	["Poland", "Lengyelország"],
	["Lesotho", "Lesotho"],
	["Latvia", "Lettország"],
	["Lebanon", "Libanon"],
	["Liberia", "Libéria"],
	["Libya", "Líbia"],
	["Liechtenstein", "Liechtenstein"],
	["Lithuania", "Litvánia"],
	["Luxembourg", "Luxemburg"],
	["Republic of Macedonia", "Macedónia"],
	["Madagascar", "Madagaszkár"],
	["Hungary", "Magyarország"],
	["Malaysia", "Malajzia"],
	["Malawi", "Malawi"],
	["Maldives", "Maldív-szigetek"],
	["Mali", "Mali"],
	["Malta", "Málta"],
	["Morocco", "Marokkó"],
	["Marshall Islands", "Marshall-szigetek"],
	["Mauritania", "Mauritánia"],
	["Mauritius", "Mauritius"],
	["Mexico", "Mexikó"],
	["Myanmar", "Mianmar"],
	["Micronesia", "Mikronézia"],
	["Moldova", "Moldova"],
	["Monaco", "Monaco"],
	["Mongolia", "Mongólia"],
	["Mozambique", "Mozambik"],
	["United Kingdom", "Nagy-Britannia"],
	["Namibia", "Namíbia"],
	["Nauru", "Nauru"],
	["Germany", "Németország "],
	["Nepal", "Nepál"],
	["Nicaragua", "Nicaragua"],
	["Niger", "Niger"],
	["Nigeria", "Nigéria"],
	["Norway", "Norvégia"],
	["Italy", "Olaszország"],
	["Russia", "Oroszország"],
	["Armenia", "Örményország"],
	["Pakistan", "Pakisztán"],
	["Palau", "Palau"],
	["Panama", "Panama"],
	["Papua New Guinea", "Pápua Új-Guinea"],
	["Paraguay", "Paraguay"],
	["Peru", "Peru"],
	["Portugal", "Portugália"],
	["Romania", "Románia"],
	["Oman", "Omán"],
	["Rwanda", "Ruanda"],
	["Saint Kitts and Nevis", "Saint Kitts és Nevis"],
	["Saint Lucia", "Saint Lucia"],
	["Saint Vincent and the Grenadines", "Saint Vincent"],
	["Solomon Islands", "Salamon-szigetek"],
	["El Salvador", "Salvador"],
	["San Marino", "San Marino"],
	["São Tomé and Príncipe", "São Tomé és Príncipe"],
	["Seychelles", "Seychelle-szigetek"],
	["Sierra Leone", "Sierra Leone"],
	["Spain", "Spanyolország"],
	["Sri Lanka", "Srí Lanka"],
	["Suriname", "Suriname"],
	["Switzerland", "Svájc"],
	["Sweden", "Svédország"],
	["Samoa", "Szamoa"],
	["Saudi Arabia", "Szaúd-Arábia"],
	["Senegal", "Szenegál"],
	["Serbia and Montenegro", "Szerbia és Montenegró"],
	["Singapore", "Szingapúr"],
	["Syria", "Szíria"],
	["Slovakia", "Szlovákia"],
	["Slovenia", "Szlovénia"],
	["Somalia", "Szomália"],
	["Sudan", "Szudán"],
	["Swaziland", "Szváziföld"],
	["Tajikistan", "Tádzsikisztán"],
	["Republic of China", "Tajvan"],
	["Tanzania", "Tanzánia"],
	["Thailand", "Thaiföld"],
	["Togo", "Togo"],
	["Tonga", "Tonga"],
	["Turkey", "Törökország"],
	["Trinidad and Tobago", "Trinidad és Tobago"],
	["Tunisia", "Tunézia"],
	["Tuvalu", "Tuvalu"],
	["Turkmenistan", "Türkmenisztán"],
	["Uganda", "Uganda"],
	["New Zealand", "Új-Zéland"],
	["Ukraine", "Ukrajna"],
	["Uruguay", "Uruguay"],
	["Uzbekistan", "Üzbegisztán"],
	["Vanuatu", "Vanuatu"],
	["Vatican City", "Vatikán"],
	["Venezuela", "Venezuela"],
	["Vietnam", "Vietnam"],
	["Zambia", "Zambia"],
	["Zimbabwe", "Zimbabwe"],
	["Cape Verde", "Zöld-foki-szigetek"],
	["Soviet Union", "Szovjetunió"],
	["Czechoslovakia", "Csehszlovákia"],
	["Yugoslavia", "Jugoszlávia"],
	["England", "Anglia"],
	["USA", "USA"],
	["West Germany", "NSZK"],
	["GDR", "NDK"],
	["East Germany", "NDK"]
];

// sablonná alakítás, pl. "Magyarország" -> "{{Magyarország}}"
function countryTemplate() {
	var text = $textbox.val();
	for (var i = 0; i < countryNames.length; i++) {
		var item = countryNames[i];
	text = replaceRegexp(text, new RegExp("(?<!\{\{)" + item[1] + "(?!\}\})"), '{{' + item[1] + '}}');
	}
	$textbox.val(text);
}



// Items of GUI

var separator = "&middot;";

/**
 * Items of the menu bar.
 * [0]: displayed text
 * [1]: effect (inserted text, performed function or dictionary)
 */
var menuItems = [
	['ország', countryNames],
	['országSablon', countryTemplate],
];




// Assembling GUI

/**
 * Generate menu item from entry.
 * @param {Array|String} item
 * @return {jQuery} Item as jQuery
 */
function createItem(item) {
	var css = '';//'margin-left: 4px;';
	
	// if item is string literal
	if (typeof item === 'string') {
		return $('<span>').attr('style', css).html(item);
	}
	
	// if item is button
	var text = item[0];
	var effect = item[1];
	var $result = $('<a>').attr('href', '#').attr('style', css).html(text);
	
	// if effect is function
	if (typeof effect === 'function') {
		$result.click(function (e) {
			e.preventDefault();
			effect();
		});
		return $result;
	}
	
	// if effect is Array
	if (Array.isArray(effect)) {
		$result.click(function (e) {
			e.preventDefault();
			var text = $textbox.val();
			text = replaceList(text, effect);
			$textbox.val(text);
		});
		return $result;
	}
	
	return $result;
}

/**
 * Generate the box element containing the spec chars.
 * @return {jQuery} The box
 */
function createCustomBar() {
	var $boxDiv = $('<div>')
		.attr('id', 'replaceToolbar')
		.attr('style', 'padding: 4px; border: 1px solid #888; margin: 4px 0px;');
	
	var $starter = $('<span>')
		.attr('style', 'font-weight: bold;')
		.text('ListaCsere:')
		.appendTo($boxDiv);
	
	$.each(menuItems, function () {
		$boxDiv.append(' ');
		$boxDiv.append(createItem(this));
	});
	
	return $boxDiv;
}

$('#specialchars').after(createCustomBar());




// end closure
}) ();

// </nowiki>