Index: wp-admin/includes/template.php
===================================================================
--- wp-admin/includes/template.php	(revision 11028)
+++ wp-admin/includes/template.php	(working copy)
@@ -3545,32 +3545,22 @@
 }
 
 function screen_options($screen) {
-	switch ( $screen ) {
-		case 'edit':
-			$per_page_label = __('Posts per page:');
-			break;
-		case 'edit-pages':
-			$per_page_label = __('Pages per page:');
-			break;
-		case 'edit-comments':
-			$per_page_label = __('Comments per page:');
-			break;
-		case 'upload':
-			$per_page_label = __('Media items per page:');
-			break;
-		case 'categories':
-			$per_page_label = __('Categories per page:');
-			break;
-		case 'edit-tags':
-			$per_page_label = __('Tags per page:');
-			break;
-		case 'plugins':
-			$per_page_label = __('Plugins per page:');
-			break;
-		default:
-			return '';
-	}
 
+	$per_page_labels 				= array();
+	$per_page_labels['edit'] 		= __('Posts per page:');
+	$per_page_labels['edit-pages'] 	= __('Pages per page:');
+	$per_page_labels['edit-comments'] 	= __('Comments per page:');
+	$per_page_labels['upload'] 		= __('Media items per page:');
+	$per_page_labels['categories'] 	= __('Categories per page:');
+	$per_page_labels['edit-tags'] 	= __('Tags per page:');
+	$per_page_labels['plugins'] 		= __('Plugins per page:');
+	
+	$per_page_labels = apply_filters('per_page_labels', $per_page_labels, $screen);
+
+	if (!isset($per_page_labels[$screen])) return '';
+
+	$per_page_label = $per_page_labels[$screen];
+
 	$option = str_replace('-', '_', "${screen}_per_page");
 	$per_page = get_user_option($option);
 	if ( empty($per_page) )
