User:Flominator/Replace umlauts before upload

Insert this function into MediaWiki:Monobook.js or MediaWiki:Common.js in ordner to rename files with German umlauts before uploading them.

 function fillDestFilename() {
 	if (!document.getElementById)
 		return;
 	var path = document.getElementById('wpUploadFile').value;
 	// Find trailing part
 	var slash = path.lastIndexOf('/');
 	var backslash = path.lastIndexOf('\\');
 	var fname;
 	if (slash == -1 && backslash == -1) {
 		fname = path;
 	} else if (slash > backslash) {
 		fname = path.substring(slash+1, 10000);
 	} else {
 		fname = path.substring(backslash+1, 10000);
 	}
 
 	// Capitalise first letter and replace spaces by underscores
 	fname = fname.charAt(0).toUpperCase().concat(fname.substring(1,10000)).replace(/ /g, '_');

 	//Replace umlauts and stuff by ascii-characters
 	fname = fname.replace(/Ä/g, 'Ae');
 	fname = fname.replace(/Ö/g, 'Oe');
 	fname = fname.replace(/Ü/g, 'Ue');
 	fname = fname.replace(/ä/g, 'ae');
 	fname = fname.replace(/ö/g, 'oe');
 	fname = fname.replace(/ü/g, 'ue'); 	
 	fname = fname.replace(/ß/g, 'ss'); 	
 	fname = fname.replace(/§/g, 'Paragraph'); 
 	fname = fname.replace(/“/g, ''); 
 	fname = fname.replace(/”/g, ''); 
 	fname = fname.replace(/„/g, ''); 
 	fname = fname.replace(/‘/g, ''); 
 	fname = fname.replace(/’/g, ''); 
 	fname = fname.replace(/‚/g, ''); 
 	fname = fname.replace(/«/g, ''); 
 	fname = fname.replace(/»/g, ''); 
 	fname = fname.replace(/€/g, 'Euro'); 
	fname = fname.replace(/–/g, '-'); 
	fname = fname.replace(/¯/g, '-'); 
	fname = fname.replace(/—/g, '-'); 

 	// Output result
	var destFile = document.getElementById('wpDestFile');
 	if (destFile)
 		destFile.value = fname;

 }

Keywords: Upload - Dateien umbenennen - Umlaute - Paragraph - Sonderzeichen - Hochladen