לדלג לתוכן

מדיה ויקי:Gadget-browsertab.js: הבדלים בין גרסאות בדף

מתוך צפונות ויקי
אין תקציר עריכה
אין תקציר עריכה
שורה 72: שורה 72:
// get browser number data at title start
// get browser number data at title start
var oldtext = $(document).prop('title');
var oldtext = $(document).prop('title');
var par = oldtext.match(/\([^\)]*\)/);
var par = oldtext.match(/^\([^\)]*\)/);
var partext = par == null || oldtext.indexOf(par[0]) != 0 ? '' : par[0] + ' ';
var partext = par ? par[0] + ' ' : '' ;
// set the short name
// set the short name
var namespaces = mw.config.get('wgFormattedNamespaces');
var namespaces = mw.config.get('wgFormattedNamespaces');

גרסה מ־17:18, 5 בדצמבר 2021

/*
This gadget shortens the tab browser title.
For example,
"(1) שיחה:אורי צבי גרינברג – הבדלי גרסאות"
will be
"(1) =ש:אורי צבי גרינברג – השוואה"
To understand RTL, the translated result is
"(1) =ShortNamespacePageName – diff".
The structure of the new title includes:
1) Browser number data, as "(1) ", if existed in the original title.
2) Action symbol, "=" for diff, "!" for editing, ";" for history, nothing for reading.
3) Page name with shortened namespace.
4) Text " – "
5) Action full name, like "ויקיפדיה" for reading, "השוואה", "עריכה", "היסטוריה".
There is no change for two different pages comparing.
*/
$(function () {
	//exit on non Hebrew
	if (mw.config.get('wgUserLanguage') != 'he')
		return;
	// convertion data
	var converttable = {
		'מיוחד': 'מי',
		'שיחה': 'ש',
		'משתמש': 'מש',
		'שיחת משתמש': 'שמש',
		'ויקיפדיה': 'וק',
		'שיחת ויקיפדיה': 'שוק',
		'קובץ': 'קו',
		'שיחת קובץ': 'שקו',
		'מדיה ויקי': 'מו',
		'שיחת מדיה ויקי': 'שמו',
		'תבנית': 'תב',
		'שיחת תבנית': 'שתב',
		'עזרה': 'עז',
		'שיחת עזרה': 'שז',
		'קטגוריה': 'קט',
		'שיחת קטגוריה': 'שקט',
		'פורטל': 'פ',
		'שיחת פורטל': 'שפ',
		'טיוטה': 'טי',
		'שיחת טיוטה': 'שטי',
		'יחידה': 'י',
		'שיחת יחידה': 'שי',
		'נושא': 'נ'
	};
	// data about action symbols and names
	var letters = {
		view: ['', 'ויקיפדיה'],
		purge: ['', 'ויקיפדיה'],
		submit: ['!', 'עריכה'],
		edit: ['!', 'עריכה'],
		history: [';', 'היסטוריה'],
		diff: ['=', 'השוואה']
	};
	// find page name
	var pagename = mw.config.get('wgPageName').replaceAll('_', ' ');
	// find current action
	var action, letter, actionname;
	if ($('.difference-title').length)
		action = 'diff';
	else if ($('#contentSub').length && $('#contentSub').text().indexOf('הבדלים בין דפים') !== -1)
		// different pages comparing, do not touch
		return;
	else
		action = mw.config.get('wgAction');
	// unknown action
	if (letters[action] == null)
		return;
	else
		[letter, actionname] = letters[action];
	// get browser number data at title start
	var oldtext = $(document).prop('title');
	var par = oldtext.match(/^\([^\)]*\)/);
	var partext = par ? par[0] + ' ' : '' ;
	// set the short name
	var namespaces = mw.config.get('wgFormattedNamespaces');
	var namespace = namespaces[mw.config.get('wgNamespaceNumber')];
	$(document)
		.prop('title', partext + letter + String.fromCharCode(8207)
		+ pagename.replace(namespace, converttable[namespace] || namespace)
		+ ' – ' + actionname);
});