User:Mike Dillon/Scripts/convert-svtopics.js

From Wiktionary, the free dictionary
Jump to navigation Jump to search

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.

$(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;
    };
});