User:Mike Dillon/Scripts/convert-svtopics.js
< User:Mike Dillon | Scripts
Note: You may have to bypass your browser’s cache to see the changes. In addition, after saving a sitewide CSS file such as MediaWiki:Common.css, it will take 5-10 minutes before the changes take effect, even if you clear your cache.
- Mozilla / Firefox / Safari: hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (Command-R on a Macintosh);
- Konqueror and Chrome: click Reload or press F5;
- Opera: clear the cache in Tools → Preferences;
- Internet Explorer: hold Ctrl while clicking Refresh, or press Ctrl-F5.
- This script lacks a documentation subpage. Please create it.
- Useful links: root page • root page’s subpages • links • redirects • your own
$(function () {
var langTopicRegex = new RegExp(
'\\{\\{(' + getLanguageCodes().join('|') + ')-([\\w\\s]+)\\}\\}', 'g');
var textBox = document.getElementById('wpTextbox1');
if (!textBox) return;
if (!textBox.value.match(langTopicRegex)) return;
if (textBox.value.match(/addOnloadHook/)) return;
var summary = document.getElementById('wpSummary');
var minor = document.getElementById('wpMinoredit');
var diff = document.getElementById('wpDiff');
if (!summary || !minor || !diff) return;
var li = mw.util.addPortletLink("p-tb", "#", "Replace topic labels", "ca-langtopics", "Replace language-specific label templates with standard templates");
var a = li.getElementsByTagName("a")[0];
a.onclick = function () {
textBox.value = textBox.value.replace(langTopicRegex, '{{$2|lang=$1}}');
summary.value += 'use standard label templates instead of language-specific templates';
minor.click();
diff.click();
return false;
};
});