MediaWiki:Gadget-WiktSidebarTranslation.js

Nota: Después de publicar, quizás necesite actualizar la caché de su navegador para ver los cambios.

  • Firefox/Safari: Mantenga presionada la tecla Shift mientras pulsa el botón Actualizar, o presiona Ctrl+F5 o Ctrl+R (⌘+R en Mac)
  • Google Chrome: presione Ctrl+Shift+R (⌘+Shift+R en Mac)
  • Internet Explorer/Edge: mantenga presionada Ctrl mientras pulsa Actualizar, o presione Ctrl+F5
  • Opera: Presiona Ctrl+F5.
/**
 * Traduce la lista de idiomas del panel lateral
 * Autores del original: Tra, Voice_of_All, bequw
 * Revisión: [[Usuario:Peter Bowman]]
 * Véase también: [[MediaWiki:Gadget-Langcode2name.js]]
 */

// TODO: soporte para otros idiomas de interfaz
// meta=allmessages / ammessages=interlanguage-link-title

function ucFirst( str ) {
	return str[ 0 ].toUpperCase() + str.slice( 1 );
}

if (
	mw.config.get( 'wgUserLanguage' ) === 'es' &&
	!mw.user.options.get( 'compact-language-links' )
) {
	$( function () {
		var $pLang = $( '#p-lang' ), elements = [], r = /^.+\((.+?)\)$/;
		
		$pLang.find( 'li > a[title]' ).each( function () {
			var $this = $( this ), lang = $this.attr( 'title' ), m = lang.match( r );
			
			lang = ucFirst( ( m && m[ 1 ] ) || lang );
			$this.text( lang ).removeAttr( 'lang' );
			
			elements.push( {
				$li:  $this.parent(),
				text: lang
			} );
		} );
		
		elements.sort( function ( a, b ) {
			return a.text.localeCompare( b.text, 'es' );
		} );
		
		$pLang.find( 'ul' ).html( $.map( elements, function ( obj ) {
			return obj.$li;
		} ) );
	} );
}