MediaWiki:Gadget-sidebarTranslate.js

Матеріал з Terraria Wiki
Перейти до навігації Перейти до пошуку

Увага: Після публікування слід очистити кеш браузера, щоб побачити зміни.

  • Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
  • Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
  • Internet Explorer / Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5
  • Opera: натисніть Ctrl-F5
// By Equazcion: http://terraria.gamepedia.com/User:Equazcion

var lang = mw.config.get( 'wgUserLanguage' ) || 'en';
var l10n = (function(){
	var $text = {
		'googletranslate': {
			'en': 'Google Translate: $lang$ to English',
			'de': 'Google Übersetzer: $lang$ zu Deutsch',
			'fr': 'Google traduction : $lang$ vers français',
			'pt-br': 'Google Tradutor: $lang$ para português brasileiro',
			'ru': 'Google Переводчик: $lang$ → русский',
			'uk': 'Google Перекладач: з "$lang$" на "Українська"',

		},
		'undefined_language': {
			'en': 'undefined',
			'de': 'undefiniert',
			'fr': 'indéfini',
			'pt-br': 'indefinido',
			'ru': 'неопределённый',
			'uk': 'невизначена',
		},
		'arabic': {
			'en': 'Arabic',
			'de': 'Arabisch',
			'fr': 'Arabe',
			'uk': 'Арабська',
		},
		'bulgarian': {
			'en': 'Bulgarian',
			'de': 'Bulgarisch',
			'fr': 'Bulgare',
			'pt-br': 'Búlgaro',
			'ru': 'болгарский',
			'uk': 'Болгарська',
		},
		'cantonese': {
			'en': 'Cantonese',
			'de': 'Kantonesisch',
			'fr': 'Cantonais',
			'pt-br': 'Cantonês',
			'ru': 'кантонский',
			'uk': 'Кантонська',
		},
		'chinese': {
			'en': 'Chinese',
			'de': 'Chinesisch',
			'fr': 'Chinois',
			'pt-br': 'Chinês',
			'ru': 'китайский',
			'uk': 'Китайська',
		},
		'czech': {
			'en': 'Czech',
			'de': 'Tschechisch',
			'fr': 'Tchèque',
			'pt-br': 'Checo',
			'ru': 'чешский',
			'uk': 'Чеська',
		},
		'danish': {
			'en': 'Danish',
			'de': 'Dänisch',
			'fr': 'Danois',
			'pt-br': 'Dinamarquês',
			'ru': 'датский',
			'uk': 'Данська',
		},
		'dutch': {
			'en': 'Dutch',
			'de': 'Niederländisch',
			'fr': 'Hollandais',
			'pt-br': 'Holandês',
			'ru': 'недерландский',
			'uk': 'Нідерландська',
		},
		'english': {
			'en': 'English',
			'de': 'Englisch',
			'fr': 'Anglais',
			'pt-br': 'Inglês',
			'ru': 'английский',
			'uk': 'Англійська',
		},
		'finnish': {
			'en': 'Finnish',
			'de': 'Finnisch',
			'fr': 'Finnois',
			'pt-br': 'Finlandês',
			'ru': 'финский',
			'uk': 'Фінська',
		},
		'french': {
			'en': 'French',
			'de': 'Französisch',
			'fr': 'Français',
			'pt-br': 'Francês',
			'ru': 'французский',
			'uk': 'Французька',
		},
		'german': {
			'en': 'German',
			'de': 'Deutsch',
			'fr': 'Allemand',
			'pt-br': 'Alemão',
			'ru': 'немецкий',
			'uk': 'Німецька',
		},
		'greek': {
			'en': 'Greek',
			'de': 'Griechisch',
			'fr': 'Grec',
			'pt-br': 'Grego',
			'ru': 'греческий',
			'uk': 'Грецька',
		},
		'hindi': {
			'en': 'Hindi',
			'de': 'Hindi',
			'fr': 'Hindi',
			'uk': 'Гінді',
		},
		'hungarian': {
			'en': 'Hungarian',
			'de': 'Ungarisch',
			'fr': 'Hongrois',
			'pt-br': 'Húngaro',
			'ru': 'венгерский',
			'uk': 'Угорська',
		},
		'indonesian': {
			'en': 'Indonesian',
			'de': 'Indonesisch',
			'fr': 'Indonésien',
			'pt-br': 'Indonésio',
			'ru': 'индонезийский',
			'uk': 'Індонезійська',
		},
		'italian': {
			'en': 'Italian',
			'de': 'Italienisch',
			'fr': 'Italien',
			'pt-br': 'Italiano',
			'ru': 'итальянский',
			'uk': 'Італійська',
		},
		'japanese': {
			'en': 'Japanese',
			'de': 'Japanisch',
			'fr': 'Japonais',
			'pt-br': 'Japonês',
			'ru': 'японский',
			'uk': 'Японська',
		},
		'korean': {
			'en': 'Korean',
			'de': 'Koreanisch',
			'fr': 'Coréen',
			'pt-br': 'Coreano',
			'ru': 'корейский',
			'uk': 'Корейська',
		},
		'latvian': {
			'en': 'Latvian',
			'de': 'Lettisch',
			'fr': 'Letton',
			'pt-br': 'Letão',
			'ru': 'латышский',
			'uk': 'Латиська',
		},
		'lithuanian': {
			'en': 'Lithuanian',
			'de': 'Litauisch',
			'fr': 'Lituanien',
			'pt-br': 'Lituano',
			'ru': 'литовский',
			'uk': 'Литовська',
		},
		'norwegian': {
			'en': 'Norwegian',
			'de': 'Norwegisch',
			'fr': 'Norvégien',
			'pt-br': 'Norueguês',
			'ru': 'норвежский',
			'uk': 'Норвезька',
		},
		'polish': {
			'en': 'Polish',
			'de': 'Polnisch',
			'fr': 'Polonais',
			'pt-br': 'Polonês',
			'ru': 'польский',
			'uk': 'Польська',
		},
		'portuguese': {
			'en': 'Portuguese',
			'de': 'Portugiesisch',
			'fr': 'Portugais',
			'pt-br': 'Português',
			'ru': 'португальский',
			'uk': 'Португальська',
		},
		'romanian': {
			'en': 'Romanian',
			'de': 'Rumänisch',
			'fr': 'Roumain',
			'uk': 'Румунська',
		},
		'russian': {
			'en': 'Russian',
			'de': 'Russisch',
			'fr': 'Russe',
			'pt-br': 'Russo',
			'ru': 'русский',
			'uk': 'Російська',
		},
		'slovak': {
			'en': 'Slovak',
			'de': 'Slowakisch',
			'fr': 'Slovaque',
			'pt-br': 'Eslovaco',
			'ru': 'словацкий',
			'uk': 'Словацька',
		},
		'spanish': {
			'en': 'Spanish',
			'de': 'Spanisch',
			'fr': 'Espagnol',
			'pt-br': 'Espanhol',
			'ru': 'испанский',
			'uk': 'Іспанська',
		},
		'spanish (formal)': {
			'en': 'Spanish (formal)',
			'uk': 'Іспанська (власна вікі)',
		},
		'swedish': {
			'en': 'Swedish',
			'de': 'Schwedisch',
			'fr': 'Suédois',
			'pt-br': 'Sueco',
			'ru': 'шведский',
			'uk': 'Шведська',
		},
		'thai': {
			'en': 'Thai',
			'de': 'Thailändisch',
			'fr': 'Thaï',
			'pt-br': 'Tailandês',
			'ru': 'тайский',
			'uk': 'Тайська',
		},
		'turkish': {
			'en': 'Turkish',
			'de': 'Türkisch',
			'fr': 'Turc',
			'pt-br': 'Turco',
			'ru': 'турецкий',
			'uk': 'Турецька',
		},
		'ukrainian': {
			'en': 'Ukrainian',
			'de': 'Ukrainisch',
			'fr': 'Ukrainien',
			'pt-br': 'Ucraniano',
			'ru': 'украинский',
			'uk': 'Українська',
		},
		'vietnamese': {
			'en': 'Vietnamese',
			'de': 'Vietnamesisch',
			'fr': 'Vietnamien',
			'pt-br': 'Vietnamita',
			'ru': 'вьетнамский',
			'uk': "В'єтнамська",
		}
	};
	return function(key){
		return $text[key] && ($text[key][lang] || $text[key]['en']) || '';
	};
})();

$.when( $.ready ).then(function() {
	var sort = function( a, b ) {
		return $(a).text().localeCompare($(b).text());
	};
	var plang = $('#p-lang');	
	var plangUL = plang.find('ul');
	var interwikis = plangUL.find('li[class^="interlanguage-link"]').detach();
	if ( interwikis.length > 0 ) {
		var gtPre = 'https://translate.google.com/translate?sl=auto&tl=' + lang + '&u=';
		var hardLangs = {
			'العربية':'arabic',
			'Български':'bulgarian',
			'粵語':'cantonese',
			'中文':'chinese',
			'Čeština':'czech',
			'Dansk':'danish',
			'Nederlands':'dutch',
			'English':'english',
			'Français':'french',
			'Suomi':'finnish',
			'Deutsch':'german',
			'Ελληνικά':'greek',
			'हिन्दी':'hindi',
			'Magyar':'hungarian',
			'Bahasa Indonesia':'indonesian',
			'Italiano':'italian',
			'日本語':'japanese',
			'한국어':'korean',
			'Latviešu':'latvian',
			'Lietuvių':'lithuanian',
			'Norsk':'norwegian',
			'Polski':'polish',
			'Português':'portuguese',
			'Română':'romanian',
			'Русский':'russian',
			'Slovenčina':'slovak',
			'Español':'spanish',
			'Español (formal)':'spanish (formal)',
			'Svenska':'swedish',
			'ไทย':'thai',
			'Türkçe':'turkish',
			'Українська':'ukrainian',
			'Tiếng Việt':'vietnamese'
		};
		var googleSupported = ['afrikaans', 'albanian', 'amharic', 'arabic', 'armenian', 'azerbaijani', 'basque', 'belarusian', 'bengali', 'bosnian',
			'bulgarian', 'burmese', 'catalan', 'cebuan', 'chewa', 'chinese', 'corsican', 'croatian', 'czech', 'danish', 'dutch', 'english', 'esperanto',
			'estonian', 'filipino', 'finnish', 'french', 'frisian', 'galician', 'georgian', 'german', 'greek', 'gujarati', 'haitian', 'hawaiian', 'hmong',
			'igbo', 'creole', 'hausa', 'hebrew', 'hindi', 'hungarian', 'icelandic', 'indonesian', 'irish', 'italian', 'japanese', 'javanese', 'kannada',
			'kazakh', 'khmer', 'kinyarwanda', 'korean', 'kurmanji', 'kyrgyz', 'lao', 'latin', 'latvian', 'lithuanian', 'luxembourgish', 'macedonian',
			'malagasy', 'malay', 'malayalam', 'maltese', 'maori', 'marathi', 'mongolian', 'nepali', 'norwegian', 'odia', 'pashto', 'persian', 'polish',
			'portuguese', 'punjabi', 'romanian', 'russian', 'samoan', 'scottish gaelic', 'serbian', 'shona', 'sindhi', 'sinhala', 'slovak', 'slovenian',
			'somali', 'sotho', 'spanish', 'spanish (formal)', 'sundanese', 'swahili', 'swedish', 'tajik', 'tamil', 'tatar', 'telugu', 'thai', 'turkish', 'turkmen', 'ukrainian',
			'urdu', 'uyghur', 'uzbek', 'vietnamese', 'welsh', 'xhosa', 'yiddish', 'yoruba', 'zulu'];
		
		interwikis.find('a').each( function() {
			var $this = $(this);
			var origLangName = $this.text();
			if ( origLangName !== null ) {
				var newLangName = 'undefined_language';
				var hrefs = $this.attr('href');
				if (hardLangs[ origLangName ]) {
					newLangName = hardLangs[ origLangName ];
					$this.text( l10n(newLangName) ).removeAttr('lang style');
				}

				var classes = "external gtrans";
				if (googleSupported.indexOf(newLangName) < 0)
					classes += " gtrans-unsupported";

				$('<a></a>', {
					'class': classes,
					'target': '_blank',
					'href': gtPre + hrefs,
					'title': l10n('googletranslate').replace('$lang$', l10n(newLangName))
				}).insertAfter( $this ).before(' ');
				if ( $this.text().length > 17 )  $this.html( $this.html().replace('-','- ').replace(' ', '<br/>') );
			}
		});
		plangUL.prepend( interwikis.sort(sort) );
	}
});