Szerkesztő:Tilar Vehulor/ListaCsere.js
Megjelenés
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 = "·";
/**
* 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>