Index: wp-includes/l10n.php
===================================================================
--- wp-includes/l10n.php	(revision 11100)
+++ wp-includes/l10n.php	(working copy)
@@ -106,6 +106,22 @@
 }
 
 /**
+ * Retrieves the translation of $text and escapes it for safe use in an attribute.
+ * If there is no translation, or the domain isn't loaded the original text is returned.
+ *
+ * @see translate() An alias of translate()
+ * @see attr()
+ * @since 2.8.0
+ *
+ * @param string $text Text to translate
+ * @param string $domain Optional. Domain to retrieve the translated text
+ * @return string Translated text
+ */
+function _a( $text, $domain = 'default' ) {
+	return attr( translate( $text, $domain ) );
+}
+
+/**
  * Displays the returned translated text from translate().
  *
  * @see translate() Echos returned translate() string
@@ -119,6 +135,20 @@
 }
 
 /**
+ * Displays translated text that has been escaped for safe use in an attribute.
+ *
+ * @see translate() Echos returned translate() string
+ * @see attr()
+ * @since 2.8.0
+ *
+ * @param string $text Text to translate
+ * @param string $domain Optional. Domain to retrieve the translated text
+ */
+function _ea( $text, $domain = 'default' ) {
+	echo attr( translate( $text, $domain ) );
+}
+
+/**
  * Retrieve translated string with vertical bar context
  *
  * Quite a few times, there will be collisions with similar translatable text
@@ -145,6 +175,10 @@
 	return translate_with_gettext_context( $single, $context, $domain );
 }
 
+function _xa( $single, $context, $domain = 'default' ) {
+	return attr( translate_with_gettext_context( $single, $context, $domain ) );
+}
+
 function __ngettext() {
 	_deprecated_function( __FUNCTION__, '2.8', '_n()' );
 	$args = func_get_args();
Index: wp-includes/formatting.php
===================================================================
--- wp-includes/formatting.php	(revision 11100)
+++ wp-includes/formatting.php	(working copy)
@@ -2073,18 +2073,33 @@
 /**
  * Escaping for HTML attributes.
  *
- * @since 2.0.6
+ * @since 2.8.0
  *
  * @param string $text
  * @return string
  */
-function attribute_escape( $text ) {
+function attr( $text ) {
 	$safe_text = wp_check_invalid_utf8( $text );
 	$safe_text = wp_specialchars( $safe_text, ENT_QUOTES );
 	return apply_filters( 'attribute_escape', $safe_text, $text );
 }
 
 /**
+ * Escaping for HTML attributes.
+ *
+ * @since 2.0.6
+ *
+ * @deprecated 2.8.0
+ * @see attr()
+ * 
+ * @param string $text
+ * @return string
+ */
+function attribute_escape( $text ) {
+	return attr( $text );
+}
+
+/**
  * Escape a HTML tag name.
  *
  * @since 2.5.0
Index: wp-admin/categories.php
===================================================================
--- wp-admin/categories.php	(revision 11100)
+++ wp-admin/categories.php	(working copy)
@@ -144,7 +144,7 @@
 <p class="search-box">
 	<label class="hidden" for="category-search-input"><?php _e('Search Categories'); ?>:</label>
 	<input type="text" id="category-search-input" name="s" value="<?php _admin_search_query(); ?>" />
-	<input type="submit" value="<?php _e( 'Search Categories' ); ?>" class="button" />
+	<input type="submit" value="<?php _ea( 'Search Categories' ); ?>" class="button" />
 </p>
 </form>
 <br class="clear" />
@@ -184,7 +184,7 @@
 <option value="" selected="selected"><?php _e('Bulk Actions'); ?></option>
 <option value="delete"><?php _e('Delete'); ?></option>
 </select>
-<input type="submit" value="<?php _e('Apply'); ?>" name="doaction" id="doaction" class="button-secondary action" />
+<input type="submit" value="<?php _ea('Apply'); ?>" name="doaction" id="doaction" class="button-secondary action" />
 <?php wp_nonce_field('bulk-categories'); ?>
 </div>
 
@@ -224,7 +224,7 @@
 <option value="" selected="selected"><?php _e('Bulk Actions'); ?></option>
 <option value="delete"><?php _e('Delete'); ?></option>
 </select>
-<input type="submit" value="<?php _e('Apply'); ?>" name="doaction2" id="doaction2" class="button-secondary action" />
+<input type="submit" value="<?php _ea('Apply'); ?>" name="doaction2" id="doaction2" class="button-secondary action" />
 <?php wp_nonce_field('bulk-categories'); ?>
 </div>
 
@@ -278,7 +278,7 @@
     <p><?php _e('The description is not prominent by default, however some themes may show it.'); ?></p>
 </div>
 
-<p class="submit"><input type="submit" class="button" name="submit" value="<?php _e('Add Category'); ?>" /></p>
+<p class="submit"><input type="submit" class="button" name="submit" value="<?php _ea('Add Category'); ?>" /></p>
 <?php do_action('edit_category_form', $category); ?>
 </form></div>
 
