User:Yair rand/EditTranslatedSections.js

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
$( function () {
	if ( + mw.util.getParamValue( 'section' ) > 0 ) {
		var $editBox = $( "#wpTextbox1" ),
			$summaryBox = $( "#wpSummary" ),
			translateThisRegexp = /^\=+\s*\{\{\s*TranslateThis\s*([^\{\}]+)\}\}/,
			summaryTranslateThisRegexp = /^\/\*\ +\s*\{\{\s*TranslateThis\s*[^\{\}]+\}\}\ \*\/\ *$/,
			translateThisContent = translateThisRegexp.exec( $editBox.val() ),
			parts = /\|\s*([^|\{\}=]+)\s*=\s*([^\{\}\|]*)\s*/g;
		if ( translateThisContent ) {
			var oldSummary = $summaryBox.val();
			if ( oldSummary === "" || summaryTranslateThisRegexp.test( oldSummary ) ) {
				var params = {}, param, summary;
				for ( ; ( param = parts.exec( translateThisContent[ 1 ] ) ); ) {
					params[ $.trim( param[ 1 ] ) ] = $.trim( param[ 2 ] );
				}
				summary = params.anchor ? params[ params.anchor ] : params[ mw.config.get( "wgUserLanguage" ) ] || params.en;
				if ( summary ) {
					$summaryBox.val( "/* " + summary + " */ " );
				}
			}
		}
	}
});