מדיה ויקי:סקריפטים/105.js

מתוך ויקיפדיה, האנציקלופדיה החופשית

הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
  • אופרה: ללחוץ על Ctrl-F5.
/**
 * Simple script for easy translation of wikidata labels
 */ 
$(function(){
	if (!$( 'a.wb-entity-link[href*="Q"]' ).length) return;
	function translateLabel(e)
	{
		var entityId = /Q[0-9]+/.exec($(this).prev().prop('href')), hebrewLabel, repoApi;
		if (entityId) {
			entityId = entityId[0];
			hebrewLabel = prompt('הזנת תווית עברית ל-'+ $(this).prev().text());
			if (hebrewLabel) {
				mw.loader.using( [ 'wikibase.api.RepoApi', 'mw.config.values.wbRepo' ] ).done(function(){
					var repoConfig = mw.config.get( 'wbRepo' ),
					repoApi = new wikibase.api.RepoApi( wikibase.api.getLocationAgnosticMwApi(repoConfig.url + repoConfig.scriptPath + '/api.php') );
					repoApi.setLabel(entityId,0,hebrewLabel,'he').done(function(d){ if (d.success) mw.notify('התרגום נשמר!'); })
				});
			}
		}
		e.preventDefault();
	}
	var translateLink = $('<span> [ <a href="#">תרגום</a> ]</span>').click( translateLabel );
	$( 'a.wb-entity-link[href*="Q"]' ).filter( function( i, e ) { return /[a-z]/i.test( e.text ) } ).after( translateLink );
})