ব্যবহারকারী:খাত্তাব হাসান/অনূদিত পার্শ্বদণ্ড.js

উইকিপিডিয়া, মুক্ত বিশ্বকোষ থেকে

লক্ষ্য করুন: প্রকাশ করার পর, পরিবর্তনগুলো দেখতে আপনাকে আপনার ব্রাউজারের ক্যাশে পরিষ্কার করার প্রয়োজন হতে পারে।

  • ফায়ারফক্স / সাফারি: পুনরায় লোড-এ ক্লিক করার সময় শিফট টিপে ধরে রাখুন, অথবা হয় Ctrl-F5 বা Ctrl-R টিপুন (ম্যাকে ⌘-R টিপুন)
  • গুগল ক্রোম: Ctrl-Shift-R (ম্যাকে ⌘-Shift-R) টিপুন
  • ইন্টারনেট এক্সপ্লোরার / এজ: Ctrl ধরে রাখা অবস্থায় Refresh-এ ক্লিক করুন, অথবা Ctrl-F5 টিপুন
  • অপেরা: Ctrl-F5 টিপুন।
/*  
 * Imported from [[User:Equazcion/SidebarTranslate.js]] on 2013-11-27
 * See [[:en:User:Equazcion/SidebarTranslate]]
 * Note that when syncing to disable the importStylesheet call.
 */

$( document ).ready( function () {
	'use strict';
	
	var $plang, $plangUL, $interwikis,
		langReg, gtPre, hardLangs, googleSupported, sortByText;

	$plang = $( '#p-lang, #p-lang-btn' );
	$plangUL = $plang.find( 'ul' );
	$interwikis = $plangUL.find( 'li.interlanguage-link' );

	if ( $interwikis.length === 0 ) {
		return;
	}

	$plang.hide();
	$interwikis.detach();

	langReg = /(.* – )?(.*)/;
	gtPre = 'http://translate.google.com/translate?hl=bn&sl=auto&tl=bn&u=';
	hardLangs = {
		'lumbaart': 'লোম্বার্ড', 
		'tarandíne': 'তারান্তিনো', 
		'vèneto': 'ভেনেসীয়',
		'беларуская (тарашкевіца)\u200E': 'বেলারুশ (Taraškievica)',
		'буряад': 'বুরয়াত', 
		'лакку': 'Lak',
		'भोजपुरी': 'ভোজপুরি',
		'تۆرکجه': 'আজারবাইজানীয় (দক্ষিণ)',
		'Simple English': 'সিম্পল ইংরেজি',
		'Kotava': 'কোটাভা'
	};
	googleSupported = ['Afrikaans', 'Albanian', 'Arabic', 'Armenian', 'Azerbaijani', 'Basque', 'Belarusian', 'Bengali', 'Bulgarian',
		'Catalan', 'Chinese', 'Croatian', 'Czech', 'Danish', 'Dutch', 'English', 'Esperanto', 'Estonian', 'Filipino', 'Finnish',
		'French', 'Galician', 'Georgian', 'German', 'Greek', 'Haitian', 'Creole', 'Hebrew', 'Hindi', 'Hungarian', 'Icelandic',
		'Indonesian', 'Irish', 'Italian', 'Japanese', 'Javanese', 'Kannada', 'Korean', 'Khmer', 'Latin', 'Latvian', 'Lithuanian',
		'Macedonian', 'Malay', 'Maltese', 'Marathi', 'Norwegian', 'Norwegian (bokmål)', 'Norwegian Nynorsk', 'Persian', 'Polish',
		'Portuguese', 'Romanian', 'Russian', 'Serbian', 'Slovak', 'Slovenian', 'Spanish', 'Swahili', 'Swedish', 'Tamil',
		'Telugu', 'Thai', 'Turkish', 'Ukrainian', 'Urdu', 'Vietnamese', 'Welsh', 'Yiddish'];
	
	$interwikis.find( 'a.interlanguage-link-target' ).each( function() {
		var $linkTarget, origLangName, langMatches,
			newLangName, hrefs, origLangPre, $langName,
			unsup, $googleLink;
		
		$linkTarget = $( this );
		langMatches = langReg.exec( $linkTarget.attr( 'title' ) );

		if ( langMatches === null ) {
			return;
		}

		origLangName = $linkTarget.text();
		newLangName = ( langMatches[2] in hardLangs ) ? hardLangs[ langMatches[2] ] : langMatches[2];

		hrefs = $linkTarget.attr( 'href' );
		origLangPre = ( langMatches[1] === undefined ) ? '' : langMatches[1];
		$langName = $( '<span>' )
			.attr( 'lang', 'bn' )
			.text( newLangName );

		$linkTarget	
			.text( '' )
			.append( $langName )
			.attr( 'title', origLangPre + origLangName );
		unsup = ( googleSupported.indexOf( langMatches[2]) < 0 ) ? '#FA8540' : '#4085FA';
		
		$googleLink = $( '<a>', {
			'text': 'অ',
			'class': 'external gTrans',
			'target': '_blank',
			'href': gtPre + hrefs,
			'title': 'গুগল অনুবাদ: ' + newLangName + ' থেকে বাংলা',
			'style': 'color:' + unsup + ';',
			'lang': 'bn'
		} );
		
		$googleLink
			.insertAfter( $linkTarget )
			.before( ' ' );

		if ( $langName.text().length > 17 ) {
			$langName.html( $langName.html().replace( '-', '- ' ).replace( ' ', '<br />' ) );
		}

		$linkTarget.siblings( '.gTrans' ).hover(
			function() {
				$( this ).css( { 'background-color': unsup, 'color': 'white' } );
			},
			function() {
				$( this ).css( { 'background-color': 'transparent', 'color': unsup } );
			}
		);

		$linkTarget.parent( 'li' ).hover(
			function() {
				$( this ).find( '.gTrans' ).fadeIn( 200 ).css( 'margin-left', '0' );
			},
			function() {
				$( this ).find( '.gTrans' ).fadeOut( 100 ).css( 'margin-left', '5px' );
			}
		);
	} );

	sortByText = function ( a, b ) {
		return ( $( b ).text() ) < ( $( a ).text() ) ? 1 : -1;
	};

	$plangUL.prepend( $interwikis.sort( sortByText ) );
	
	// If gray links added by Content Translation exist,
	// move them back to the top
	$plangUL.find( '.cx-new-interlanguage-link' )
		.detach()
		.prependTo( $plangUL );

	$plang.show();
} );
importStylesheet('ব্যবহারকারী:খাত্তাব হাসান/অনূদিত পার্শ্বদণ্ড.css');