Index: wp-admin/edit.php
===================================================================
--- wp-admin/edit.php	(revision 18731)
+++ wp-admin/edit.php	(working copy)
@@ -182,6 +182,36 @@
 
 add_screen_option( 'per_page', array('label' => $title, 'default' => 20) );
 
+$counts = array(
+	0 => null,
+	1 => isset( $_REQUEST['updated'] )   ? intval( $_REQUEST['updated'] )   : 0,
+	2 => isset( $_REQUEST['locked'] )    ? intval( $_REQUEST['locked'] )    : 0,
+	3 => isset( $_REQUEST['deleted'] )   ? intval( $_REQUEST['deleted'] )   : 0,
+	4 => isset( $_REQUEST['trashed'] )   ? intval( $_REQUEST['trashed'] )   : 0,
+	5 => isset( $_REQUEST['untrashed'] ) ? intval( $_REQUEST['untrashed'] ) : 0,
+);
+
+$messages = array();
+$messages['post'] = array(
+	0 => '',
+	1 => _n('%s post updated.', '%s posts updated.', $counts[1]),
+	2 => _n('%s post not updated, somebody is editing it.', '%s posts not updated, somebody is editing them.', $counts[2]),
+	3 => _n('Post permanently deleted.', '%s posts permanently deleted.', $counts[3]),
+	4 => _n('Post moved to the Trash.', '%s posts moved to the Trash.', $counts[4]),
+	5 => _n('Post restored from the Trash.', '%s posts restored from the Trash.', $counts[5]),
+);
+$messages['page'] = array(
+	0 => '',
+	1 => _n('%s page updated.', '%s pages updated.', $counts[1]),
+	2 => _n('%s page not updated, somebody is editing it.', '%s pages not updated, somebody is editing them.', $counts[2]),
+	3 => _n('Page permanently deleted.', '%s pages permanently deleted.', $counts[3]),
+	4 => _n('Page moved to the Trash.', '%s pages moved to the Trash.', $counts[4]),
+	5 => _n('Page restored from the Trash.', '%s pages restored from the Trash.', $counts[5]),
+);
+
+$messages = apply_filters( 'bulk_post_updated_messages', $messages, $counts );
+unset($counts);
+
 require_once('./admin-header.php');
 ?>
 <div class="wrap">
@@ -200,7 +230,12 @@
 <?php if ( isset($_REQUEST['locked']) || isset($_REQUEST['skipped']) || isset($_REQUEST['updated']) || isset($_REQUEST['deleted']) || isset($_REQUEST['trashed']) || isset($_REQUEST['untrashed']) ) { ?>
 <div id="message" class="updated"><p>
 <?php if ( isset($_REQUEST['updated']) && (int) $_REQUEST['updated'] ) {
-	printf( _n( '%s post updated.', '%s posts updated.', $_REQUEST['updated'] ), number_format_i18n( $_REQUEST['updated'] ) );
+	if ( isset( $messages[$post_type][1] ) )
+		$message = $messages[$post_type][1];
+	else
+		$message = $messages['post'][1];
+
+	printf( $message, $_REQUEST['updated'], number_format_i18n( $_REQUEST['updated'] ) );
 	unset($_REQUEST['updated']);
 }
 
@@ -208,24 +243,44 @@
 	unset($_REQUEST['skipped']);
 
 if ( isset($_REQUEST['locked']) && (int) $_REQUEST['locked'] ) {
-	printf( _n( '%s item not updated, somebody is editing it.', '%s items not updated, somebody is editing them.', $_REQUEST['locked'] ), number_format_i18n( $_REQUEST['locked'] ) );
+	if ( isset( $messages[$post_type][2] ) )
+		$message = $messages[$post_type][2];
+	else
+		$message = $messages['post'][2];
+
+	printf( $message, $_REQUEST['locked'], number_format_i18n( $_REQUEST['locked'] ) );
 	unset($_REQUEST['locked']);
 }
 
 if ( isset($_REQUEST['deleted']) && (int) $_REQUEST['deleted'] ) {
-	printf( _n( 'Item permanently deleted.', '%s items permanently deleted.', $_REQUEST['deleted'] ), number_format_i18n( $_REQUEST['deleted'] ) );
+	if ( isset( $messages[$post_type][3] ) )
+		$message = $messages[$post_type][3];
+	else
+		$message = $messages['post'][3];
+
+	printf( $message, $_REQUEST['deleted'], number_format_i18n( $_REQUEST['deleted'] ) );
 	unset($_REQUEST['deleted']);
 }
 
 if ( isset($_REQUEST['trashed']) && (int) $_REQUEST['trashed'] ) {
-	printf( _n( 'Item moved to the Trash.', '%s items moved to the Trash.', $_REQUEST['trashed'] ), number_format_i18n( $_REQUEST['trashed'] ) );
+	if ( isset( $messages[$post_type][4] ) )
+		$message = $messages[$post_type][4];
+	else
+		$message = $messages['post'][4];
+
+	printf( $message, $_REQUEST['trashed'], number_format_i18n( $_REQUEST['trashed'] ) );
 	$ids = isset($_REQUEST['ids']) ? $_REQUEST['ids'] : 0;
 	echo ' <a href="' . esc_url( wp_nonce_url( "edit.php?post_type=$post_type&doaction=undo&action=untrash&ids=$ids", "bulk-posts" ) ) . '">' . __('Undo') . '</a><br />';
 	unset($_REQUEST['trashed']);
 }
 
 if ( isset($_REQUEST['untrashed']) && (int) $_REQUEST['untrashed'] ) {
-	printf( _n( 'Item restored from the Trash.', '%s items restored from the Trash.', $_REQUEST['untrashed'] ), number_format_i18n( $_REQUEST['untrashed'] ) );
+	if ( isset( $messages[$post_type][5] ) )
+		$message = $messages[$post_type][5];
+	else
+		$message = $messages['post'][5];
+
+	printf( $message, $_REQUEST['untrashed'], number_format_i18n( $_REQUEST['untrashed'] ) );
 	unset($_REQUEST['undeleted']);
 }
 
