Wikisource:Shared Scripts

Here is a list of Javascript tools that are used at Wikisource subdomains. If you use one of them, please add your wiki to the Deployment column.

Note : Some of those scripts have internal messages that need to be localized. In order to display messages in your language, define the ws_messages variable at your wiki, following this example :

self.ws_messages = { 
	'optlist': 'Anzeigeoptionen',
	'hide_page_numbers': 'Seitenzahlen ausblenden',
	'show_page_numbers': 'Seitenzahlen einblenden'
}

See en:MediaWiki:Common.js for a complete list.

You may deploy any of those scripts on your wiki, using the following syntax (Base.js is sometimes required by other scripts) :

$.getScript( '//wikisource.org/w/index.php?title=MediaWiki:Base.js&action=raw&ctype=text/javascript' )
.done( function() {
	// Scripts depending on Base.js goes here
	mw.loader.load('//wikisource.org/w/index.php?title=MediaWiki:IndexForm.js&action=raw&ctype=text/javascript');
} );
Link Description Templates Deployment
Base.js Options toolbox and shared definitions : needed by other scripts Option all subdomains except cs, en, pl, sv, th
OCR.js (see also Wikisource:Google OCR) OCR button None be, bn, da, de, en, eo, es, et, fr, he, hr, hu, id, is, it, la[1], nap[1], no, pl, pt, ru, sv. (available languages but not always deployed)
Hocr.js double click on a word highlight its location on the scanned image. Works only in Page: namespace. None be, bn, ca, da, de, en, eo, es, et, fr, he[2], hr, hu, id, is, it, la, no, pl, pt, ru, sv. (available languages but not always deployed)
InterWikiTransclusion.js Multilingual books (example) Iwpage, Iwpages, IwpageSection, Iwtrans all subdomains except cs, pl
MatchSplit.js Match & Split gadget (uses PheBot) None fr, de, it, nap, vec
Corrections.js Corrections (example : 'coquilles' link in the options toolbox) Corr ca, fr, vec (modified version)
Modernisation.js

(DO NOT USE, superseded by mw-gadget-LanguageConverter)

Modernisation (example : 'modernisation' link in the tab bar) Dictionary
mw-gadget-LanguageConverter Modernisation (example: new portlet in the top) Dictionary fr, pt (see global usage of the script)
IndexForm.js Enhanced index form None br, fr, pt, vi
Dictionary.js Dynamic display of very small pages. Useful for dictionary entries, encyclopedias, etc. (example) None vi
RegexpButton.js Regexp button () None fr
PageNumbers.js page numbers and dynamic layouts pagenum ca, de, es, fr, no, pt, vi
DynamicRC.js Self-updating Recent Changes (requires Firefox 4) individual setting
SpecialChars.js Keyboard shortcuts to type special characters. en, fr
DisplayFooter.js Add a navigation bar at the bottom of pages that have a header fr, pt, th (as gadget), vi
Book2Scroll Toolserver-based "fluent" page scrolling for multi-page PDF/DjVU files none yet, could be useful though en, de, it, pt
DoubleWiki.js Displays an article and its translation on two columns of the same page (uses DoubleWiki extension). See also Compare.js bn, br, ca, cy, el, fa, fr, hr, hy, mk, nl (others may have the BilingualLink() function directly in their Common.js)
Compare.js Adds a link to compare two versions of the same work (in the same language or different languages), side-by-side on two columns (example: click on the ⇔ symbols on the left).
This is intended as a replacement for DoubleWiki, which does not always work well and does not permit to compare pages in the same language. However the two can coexist.
es, it, la, pt, vec
OldwikisourceInterwiki.js Makes every link to oldwikisource, in the form of oldwikisource:Foo, look like a regular interwiki link Isn't this obsolete ? Is it used ?
TextSizeModifier.js Provides commands in the sidebar for enlarging/reducing text size es
TranscludedIn.js Show one or more tabs, in namespace Page, pointing to the texts that transclude that page. it, vec, oldwikisource
en:User:Samwilson/CurlyQuotes.js Adds a toolbar button to convert quotation marks to their 'curly' style. None User script



  1. 1.0 1.1 Use Italian dictionary, no support for Latin in our OCR.
  2. Does not work as intended.