User:Erutuon/scripts/langCatRedirect.js
< User:Erutuon | 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
// <nowiki>
// Redirects you from Category:<language code> to Category:<language category name>;
// for instance, [[Category:en]] to [[Category:English language]].
if (mw.config.get('wgNamespaceNumber') === 14 && mw.config.get('wgAction') == 'view'
&& /^[a-z]{2,3}(?:-[a-z]{2,3})*$/.test(mw.config.get('wgTitle'))) {
$.getScript("//en.wiktionary.org/w/index.php?title=User:Erutuon/scripts/apiWrapper.js&action=raw")
.done(function() {
'use strict';
var title = mw.config.get('wgTitle');
var luaScript = 'mw.text.jsonEncode(require "Module:languages".getByCode("' + title + '"):getCategoryName())';
function handleLanguageData(languageDataJSON) {
var categoryName = JSON.parse(languageDataJSON);
if (categoryName)
location.href = mw.config.get('wgArticlePath').replace('$1', 'Category:' + categoryName);
else
mw.notify(mw.config.get('wgTitle') + " is not a valid language code.");
}
apiWrapper.callLua(luaScript, handleLanguageData);
})
.fail(function () {
mw.log("fail");
});
}
// </nowiki>