MediaWiki:Gadget-interwikiTranslate.js

Z Minecraft Wiki Polska
Wersja z dnia 15:19, 27 wrz 2016 autorstwa Ivan-r (dyskusja | edycje) (translate)
Przejdź do nawigacji Przejdź do wyszukiwania

Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.

  • Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
  • Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
  • Internet Explorer / Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5
  • Opera: Naciśnij klawisze Ctrl+F5.
// Автор Equazcion: http://terraria.gamepedia.com/User:Equazcion
// Перевод Alex Great: http://terraria-ru.gamepedia.com/User:Alex_Great

mw.util.addCSS(
	'.gTrans:hover { text-decoration:none; }' +
	'#p-lang ul { width:115%; } ' +
	'#p-lang li.interlanguage-link { font-family: inherit; }' +
	'.gTrans { ' +
		'display: none; ' +
		'font-family: serif; ' +
		'cursor: pointer; ' +
		'color: white; ' +
		'background-color: transparent;' +
		'border-radius: 2px; ' +
		'padding: 0 2px; ' +
		'margin-left: 5px; ' +
		'transition:' +
			'margin-left 200ms ease-out, ' +
			'background-color 100ms ease-out, ' +
			'color 100ms ease-out; ' +
	'} '
);

var plang = $('#p-lang').hide();


function sort( a, b ) {
	return ( $(b).text() ) < ( $(a).text() ) ? 1 : -1;
}
var plangUL = plang.find('ul');
var interwikis = plangUL.find('li[class^="interlanguage-link"]').detach();
if ( interwikis.length > 0 ) {
	var gtPre = 'http://translate.google.ru/translate?hl=pl&sl=auto&tl=pl&u=';
	var hardLangs = {
		'中文':'Chiński',
		'Français':'Francuski',
		'한국어':'Koreański',
		'Português do Brasil':'Brazylijska odmiana języka portugalskiego',
		'English':'Angielski',
		'日本語':'Japoński',
		'Deutsch':'Niemiecki',
		'Español':'Hiszpański',
		'Magyar':'Węgierski',
		'Italiano':'Włoski',
		'Nederlands':'Niderlandzki',
		'Русский':'Rosyjski'
	};
	var googleSupported = ['Азербайджанский', 'Албанский', 'Angielski', 'Арабский', 'Армянский', 'Африкаанс', 'Баскский',
		'Белорусский', 'Бенгальский', 'Бирманский', 'Болгарский', 'Боснийский', 'Валлийский', 'Węgierski', 'Вьетнамский',
		'Галисийский', 'Греческий', 'Грузинский', 'Гуджарати', 'Датский', 'Зулу', 'Иврит', 'Игбо', 'Идиш', 'Индонезийский',
		'Ирландский', 'Исландский', 'Hiszpański', 'Włoski', 'Йоруба', 'Казахский', 'Каннада', 'Каталанский', 'Chiński',
		'Koreański', 'Креольский (Гаити)', 'Кхмерский', 'Лаосский', 'Латынь', 'Латышский', 'Литовский', 'Македонский',
		'Малагасийский', 'Малайский', 'Малайялам', 'Мальтийский', 'Маори', 'Маратхи', 'Монгольский', 'Niemiecki', 'Непали',
		'Niderlandzki', 'Норвежский', 'Панджаби', 'Персидский', 'Польский', 'Португальский', 'Румынский', 'Rosyjski',
		'Себуанский', 'Сербский', 'Сесото', 'Сингальский', 'Словацкий', 'Словенский', 'Сомали', 'Суахили', 'Суданский',
		'Тагальский', 'Таджикский', 'Тайский', 'Тамильский', 'Телугу', 'Турецкий', 'Узбекский', 'Украинский', 'Урду',
		'Финский', 'Francuski', 'Хауса', 'Хинди', 'Хмонг', 'Хорватский', 'Чева', 'Чешский', 'Шведский', 'Эсперанто',
		'Эстонский', 'Яванский', 'Japoński'];
	
	interwikis.find('a').each( function() {
		var $this = $(this);
		var origLangName = $this.text();
		if ( origLangName != null ) {
			var newLangName = hardLangs[ origLangName ];
			var hrefs = $this.attr('href');
			$this.text( newLangName ).removeAttr('lang style');
			var unsup = ( googleSupported.indexOf(newLangName) < 0 ) ? '#FA8540' : '#4085FA';
			$('<a/>', {
				'text': 'G',
				'class': 'external gTrans',
				'target': '_blank',
				'href': gtPre + hrefs,
				'title': 'Tłumacz Google: przetłumaczyć ' + newLangName + ' język na polski',
				'style': 'color:' + unsup + ';'
			}).insertAfter( $this ).before(' ');
			if ( $this.text().length > 17 )  $this.html( $this.html().replace('-','- ').replace(' ', '<br />') );
			$this.siblings('.gTrans').hover(
				function() { $(this).css( {'background-color': unsup, 'color': 'white'} ) },
				function() { $(this).css( {'background-color': 'transparent', 'color': unsup} ) }
			);
			$this.parent('li').hover(
				function() { $(this).find('.gTrans').fadeIn(200).css('margin-left','0') },
				function() { $(this).find('.gTrans').fadeOut(100).css('margin-left','5px') }
			);
		}
	});
	plangUL.prepend( interwikis.sort(sort) );
}
plang.show();