<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[31941] trunk/src: Decouple strings where the singular and plural form are not just the same string with different numbers, but essentially two different strings.</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="https://core.trac.wordpress.org/changeset/31941">31941</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"https://core.trac.wordpress.org/changeset/31941","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>SergeyBiryukov</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2015-03-31 18:44:46 +0000 (Tue, 31 Mar 2015)</dd>
</dl>

<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>Decouple strings where the singular and plural form are not just the same string with different numbers, but essentially two different strings.

This allows for using proper plural forms in languages with more than two forms, and also resolves string conflicts when the same string is present in both singular and plural form.

fixes <a href="https://core.trac.wordpress.org/ticket/28502">#28502</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunksrcwpadmineditphp">trunk/src/wp-admin/edit.php</a></li>
<li><a href="#trunksrcwpadminincludesajaxactionsphp">trunk/src/wp-admin/includes/ajax-actions.php</a></li>
<li><a href="#trunksrcwpadminnetworkthemesphp">trunk/src/wp-admin/network/themes.php</a></li>
<li><a href="#trunksrcwpadminnetworkusersphp">trunk/src/wp-admin/network/users.php</a></li>
<li><a href="#trunksrcwpadminnetworkphp">trunk/src/wp-admin/network.php</a></li>
<li><a href="#trunksrcwpadminpluginsphp">trunk/src/wp-admin/plugins.php</a></li>
<li><a href="#trunksrcwpadminuploadphp">trunk/src/wp-admin/upload.php</a></li>
<li><a href="#trunksrcwpadminusersphp">trunk/src/wp-admin/users.php</a></li>
<li><a href="#trunksrcwpincludesclasswpcustomizemanagerphp">trunk/src/wp-includes/class-wp-customize-manager.php</a></li>
<li><a href="#trunksrcwpincludesthemecompatcommentsphp">trunk/src/wp-includes/theme-compat/comments.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunksrcwpadmineditphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/edit.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/edit.php       2015-03-31 09:36:29 UTC (rev 31940)
+++ trunk/src/wp-admin/edit.php 2015-03-31 18:44:46 UTC (rev 31941)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -247,14 +247,16 @@
</span><span class="cx" style="display: block; padding: 0 10px"> $bulk_messages = array();
</span><span class="cx" style="display: block; padding: 0 10px"> $bulk_messages['post'] = array(
</span><span class="cx" style="display: block; padding: 0 10px">        'updated'   => _n( '%s post updated.', '%s posts updated.', $bulk_counts['updated'] ),
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        'locked'    => _n( '%s post not updated, somebody is editing it.', '%s posts not updated, somebody is editing them.', $bulk_counts['locked'] ),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ 'locked'    => ( 1 == $bulk_counts['locked'] ) ? __( '1 post not updated, somebody is editing it.' ) :
+                          _n( '%s post not updated, somebody is editing it.', '%s posts not updated, somebody is editing them.', $bulk_counts['locked'] ),
</ins><span class="cx" style="display: block; padding: 0 10px">         'deleted'   => _n( '%s post permanently deleted.', '%s posts permanently deleted.', $bulk_counts['deleted'] ),
</span><span class="cx" style="display: block; padding: 0 10px">        'trashed'   => _n( '%s post moved to the Trash.', '%s posts moved to the Trash.', $bulk_counts['trashed'] ),
</span><span class="cx" style="display: block; padding: 0 10px">        'untrashed' => _n( '%s post restored from the Trash.', '%s posts restored from the Trash.', $bulk_counts['untrashed'] ),
</span><span class="cx" style="display: block; padding: 0 10px"> );
</span><span class="cx" style="display: block; padding: 0 10px"> $bulk_messages['page'] = array(
</span><span class="cx" style="display: block; padding: 0 10px">        'updated'   => _n( '%s page updated.', '%s pages updated.', $bulk_counts['updated'] ),
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        'locked'    => _n( '%s page not updated, somebody is editing it.', '%s pages not updated, somebody is editing them.', $bulk_counts['locked'] ),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ 'locked'    => ( 1 == $bulk_counts['locked'] ) ? __( '1 page not updated, somebody is editing it.' ) :
+                          _n( '%s page not updated, somebody is editing it.', '%s pages not updated, somebody is editing them.', $bulk_counts['locked'] ),
</ins><span class="cx" style="display: block; padding: 0 10px">         'deleted'   => _n( '%s page permanently deleted.', '%s pages permanently deleted.', $bulk_counts['deleted'] ),
</span><span class="cx" style="display: block; padding: 0 10px">        'trashed'   => _n( '%s page moved to the Trash.', '%s pages moved to the Trash.', $bulk_counts['trashed'] ),
</span><span class="cx" style="display: block; padding: 0 10px">        'untrashed' => _n( '%s page restored from the Trash.', '%s pages restored from the Trash.', $bulk_counts['untrashed'] ),
</span></span></pre></div>
<a id="trunksrcwpadminincludesajaxactionsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/includes/ajax-actions.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/includes/ajax-actions.php      2015-03-31 09:36:29 UTC (rev 31940)
+++ trunk/src/wp-admin/includes/ajax-actions.php        2015-03-31 18:44:46 UTC (rev 31941)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -379,7 +379,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">                // Here for completeness - not used.
</span><span class="cx" style="display: block; padding: 0 10px">                'id' => $comment_id,
</span><span class="cx" style="display: block; padding: 0 10px">                'supplemental' => array(
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'total_items_i18n' => sprintf( _n( '1 item', '%s items', $total ), number_format_i18n( $total ) ),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'total_items_i18n' => sprintf( _n( '%s item', '%s items', $total ), number_format_i18n( $total ) ),
</ins><span class="cx" style="display: block; padding: 0 10px">                         'total_pages' => ceil( $total / $per_page ),
</span><span class="cx" style="display: block; padding: 0 10px">                        'total_pages_i18n' => number_format_i18n( ceil( $total / $per_page ) ),
</span><span class="cx" style="display: block; padding: 0 10px">                        'total' => $total,
</span></span></pre></div>
<a id="trunksrcwpadminnetworkthemesphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/network/themes.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/network/themes.php     2015-03-31 09:36:29 UTC (rev 31940)
+++ trunk/src/wp-admin/network/themes.php       2015-03-31 18:44:46 UTC (rev 31941)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -146,14 +146,18 @@
</span><span class="cx" style="display: block; padding: 0 10px">                        if ( ! isset( $_REQUEST['verify-delete'] ) ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                wp_enqueue_script( 'jquery' );
</span><span class="cx" style="display: block; padding: 0 10px">                                require_once( ABSPATH . 'wp-admin/admin-header.php' );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                                $themes_to_delete = count( $themes );
</ins><span class="cx" style="display: block; padding: 0 10px">                                 ?>
</span><span class="cx" style="display: block; padding: 0 10px">                        <div class="wrap">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <?php
-                                       $themes_to_delete = count( $themes );
-                                       echo '<h2>' . _n( 'Delete Theme', 'Delete Themes', $themes_to_delete ) . '</h2>';
-                               ?>
-                               <div class="error"><p><strong><?php _e( 'Caution:' ); ?></strong> <?php echo _n( 'This theme may be active on other sites in the network.', 'These themes may be active on other sites in the network.', $themes_to_delete ); ?></p></div>
-                               <p><?php echo _n( 'You are about to remove the following theme:', 'You are about to remove the following themes:', $themes_to_delete ); ?></p>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         <?php if ( 1 == $themes_to_delete ) : ?>
+                                       <h2><?php _e( 'Delete Theme' ); ?></h2>
+                                       <div class="error"><p><strong><?php _e( 'Caution:' ); ?></strong> <?php _e( 'This theme may be active on other sites in the network.' ); ?></p></div>
+                                       <p><?php _e( 'You are about to remove the following theme:' ); ?></p>
+                               <?php else : ?>
+                                       <h2><?php _e( 'Delete Themes' ); ?></h2>
+                                       <div class="error"><p><strong><?php _e( 'Caution:' ); ?></strong> <?php _e( 'These themes may be active on other sites in the network.' ); ?></p></div>
+                                       <p><?php _e( 'You are about to remove the following themes:' ); ?></p>
+                               <?php endif; ?>
</ins><span class="cx" style="display: block; padding: 0 10px">                                         <ul class="ul-disc">
</span><span class="cx" style="display: block; padding: 0 10px">                                        <?php
</span><span class="cx" style="display: block; padding: 0 10px">                                                foreach ( $theme_info as $theme ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -162,7 +166,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                                }
</span><span class="cx" style="display: block; padding: 0 10px">                                        ?>
</span><span class="cx" style="display: block; padding: 0 10px">                                        </ul>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <p><?php _e('Are you sure you wish to delete these themes?'); ?></p>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         <?php if ( 1 == $themes_to_delete ) : ?>
+                                       <p><?php _e( 'Are you sure you wish to delete this theme?' ); ?></p>
+                               <?php else : ?>
+                                       <p><?php _e( 'Are you sure you wish to delete these themes?' ); ?></p>
+                               <?php endif; ?>
</ins><span class="cx" style="display: block; padding: 0 10px">                                 <form method="post" action="<?php echo esc_url($_SERVER['REQUEST_URI']); ?>" style="display:inline;">
</span><span class="cx" style="display: block; padding: 0 10px">                                        <input type="hidden" name="verify-delete" value="1" />
</span><span class="cx" style="display: block; padding: 0 10px">                                        <input type="hidden" name="action" value="delete-selected" />
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -170,9 +178,15 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                                foreach ( (array) $themes as $theme ) {
</span><span class="cx" style="display: block; padding: 0 10px">                                                        echo '<input type="hidden" name="checked[]" value="' . esc_attr($theme) . '" />';
</span><span class="cx" style="display: block; padding: 0 10px">                                                }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+                                               wp_nonce_field( 'bulk-themes' );
+
+                                               if ( 1 == $themes_to_delete ) {
+                                                       submit_button( __( 'Yes, Delete this theme' ), 'button', 'submit', false );
+                                               } else {
+                                                       submit_button( __( 'Yes, Delete these themes' ), 'button', 'submit', false );
+                                               }
</ins><span class="cx" style="display: block; padding: 0 10px">                                         ?>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        <?php wp_nonce_field('bulk-themes') ?>
-                                       <?php submit_button( _n( 'Yes, Delete this theme', 'Yes, Delete these themes', $themes_to_delete ), 'button', 'submit', false ); ?>
</del><span class="cx" style="display: block; padding: 0 10px">                                 </form>
</span><span class="cx" style="display: block; padding: 0 10px">                                <?php
</span><span class="cx" style="display: block; padding: 0 10px">                                $referer = wp_get_referer();
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -254,14 +268,29 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><span class="cx" style="display: block; padding: 0 10px"> if ( isset( $_GET['enabled'] ) ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        $_GET['enabled'] = absint( $_GET['enabled'] );
-       echo '<div id="message" class="updated"><p>' . sprintf( _n( 'Theme enabled.', '%s themes enabled.', $_GET['enabled'] ), number_format_i18n( $_GET['enabled'] ) ) . '</p></div>';
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $enabled = absint( $_GET['enabled'] );
+       if ( 1 == $enabled ) {
+               $message = __( 'Theme enabled.' );
+       } else {
+               $message = _n( '%s theme enabled.', '%s themes enabled.', $enabled );
+       }
+       echo '<div id="message" class="updated"><p>' . sprintf( $message, number_format_i18n( $enabled ) ) . '</p></div>';
</ins><span class="cx" style="display: block; padding: 0 10px"> } elseif ( isset( $_GET['disabled'] ) ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        $_GET['disabled'] = absint( $_GET['disabled'] );
-       echo '<div id="message" class="updated"><p>' . sprintf( _n( 'Theme disabled.', '%s themes disabled.', $_GET['disabled'] ), number_format_i18n( $_GET['disabled'] ) ) . '</p></div>';
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $disabled = absint( $_GET['disabled'] );
+       if ( 1 == $disabled ) {
+               $message = __( 'Theme disabled.' );
+       } else {
+               $message = _n( '%s theme disabled.', '%s themes disabled.', $disabled );
+       }
+       echo '<div id="message" class="updated"><p>' . sprintf( $message, number_format_i18n( $disabled ) ) . '</p></div>';
</ins><span class="cx" style="display: block; padding: 0 10px"> } elseif ( isset( $_GET['deleted'] ) ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        $_GET['deleted'] = absint( $_GET['deleted'] );
-       echo '<div id="message" class="updated"><p>' . sprintf( _nx( 'Theme deleted.', '%s themes deleted.', $_GET['deleted'], 'network' ), number_format_i18n( $_GET['deleted'] ) ) . '</p></div>';
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $deleted = absint( $_GET['deleted'] );
+       if ( 1 == $deleted ) {
+               $message = __( 'Theme deleted.' );
+       } else {
+               $message = _n( '%s theme deleted.', '%s themes deleted.', $deleted );
+       }
+       echo '<div id="message" class="updated"><p>' . sprintf( $message, number_format_i18n( $deleted ) ) . '</p></div>';
</ins><span class="cx" style="display: block; padding: 0 10px"> } elseif ( isset( $_GET['error'] ) && 'none' == $_GET['error'] ) {
</span><span class="cx" style="display: block; padding: 0 10px">        echo '<div id="message" class="error"><p>' . __( 'No theme selected.' ) . '</p></div>';
</span><span class="cx" style="display: block; padding: 0 10px"> } elseif ( isset( $_GET['error'] ) && 'main' == $_GET['error'] ) {
</span></span></pre></div>
<a id="trunksrcwpadminnetworkusersphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/network/users.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/network/users.php      2015-03-31 09:36:29 UTC (rev 31940)
+++ trunk/src/wp-admin/network/users.php        2015-03-31 18:44:46 UTC (rev 31941)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -24,10 +24,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">        ?>
</span><span class="cx" style="display: block; padding: 0 10px">        <h2><?php esc_html_e( 'Users' ); ?></h2>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        <?php if ( count( $users ) > 1 ) : ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <?php if ( 1 == count( $users ) ) : ?>
+               <p><?php _e( 'You have chosen to delete the user from all networks and sites.' ); ?></p>
+       <?php else : ?>
</ins><span class="cx" style="display: block; padding: 0 10px">                 <p><?php _e( 'You have chosen to delete the following users from all networks and sites.' ); ?></p>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        <?php else : ?>
-               <p><?php _e( 'You have chosen to delete the user from all networks and sites.' ); ?></p>
</del><span class="cx" style="display: block; padding: 0 10px">         <?php endif; ?>
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        <form action="users.php?action=dodelete" method="post">
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -103,10 +103,10 @@
</span><span class="cx" style="display: block; padding: 0 10px">        /** This action is documented in wp-admin/users.php */
</span><span class="cx" style="display: block; padding: 0 10px">        do_action( 'delete_user_form', $current_user );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        if ( count( $users ) > 1 ) : ?>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ if ( 1 == count( $users ) ) : ?>
+               <p><?php _e( 'Once you hit &#8220;Confirm Deletion&#8221;, the user will be permanently removed.' ); ?></p>
+       <?php else : ?>
</ins><span class="cx" style="display: block; padding: 0 10px">                 <p><?php _e( 'Once you hit &#8220;Confirm Deletion&#8221;, these users will be permanently removed.' ); ?></p>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        <?php else : ?>
-               <p><?php _e( 'Once you hit &#8220;Confirm Deletion&#8221;, the user will be permanently removed.' ); ?></p>
</del><span class="cx" style="display: block; padding: 0 10px">         <?php endif;
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        submit_button( __('Confirm Deletion'), 'delete' );
</span></span></pre></div>
<a id="trunksrcwpadminnetworkphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/network.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/network.php    2015-03-31 09:36:29 UTC (rev 31940)
+++ trunk/src/wp-admin/network.php      2015-03-31 18:44:46 UTC (rev 31941)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -413,8 +413,16 @@
</span><span class="cx" style="display: block; padding: 0 10px">                }
</span><span class="cx" style="display: block; padding: 0 10px">                $num_keys_salts = count( $keys_salts );
</span><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        <p><?php
-               echo _n( 'This unique authentication key is also missing from your <code>wp-config.php</code> file.', 'These unique authentication keys are also missing from your <code>wp-config.php</code> file.', $num_keys_salts ); ?> <?php _e( 'To make your installation more secure, you should also add:' ) ?></p>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <p>
+               <?php
+                       if ( 1 == $num_keys_salts ) {
+                               _e( 'This unique authentication key is also missing from your <code>wp-config.php</code> file.' );
+                       } else {
+                               _e( 'These unique authentication keys are also missing from your <code>wp-config.php</code> file.' );
+                       }
+               ?>
+               <?php _e( 'To make your installation more secure, you should also add:' ); ?>
+       </p>
</ins><span class="cx" style="display: block; padding: 0 10px">         <textarea class="code" readonly="readonly" cols="100" rows="<?php echo $num_keys_salts; ?>"><?php echo esc_textarea( $keys_salts_str ); ?></textarea>
</span><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><span class="cx" style="display: block; padding: 0 10px">        }
</span></span></pre></div>
<a id="trunksrcwpadminpluginsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/plugins.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/plugins.php    2015-03-31 09:36:29 UTC (rev 31940)
+++ trunk/src/wp-admin/plugins.php      2015-03-31 18:44:46 UTC (rev 31941)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -283,12 +283,20 @@
</span><span class="cx" style="display: block; padding: 0 10px">                                                }
</span><span class="cx" style="display: block; padding: 0 10px">                                        }
</span><span class="cx" style="display: block; padding: 0 10px">                                        $plugins_to_delete = count( $plugin_info );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                        echo '<h2>' . _n( 'Delete Plugin', 'Delete Plugins', $plugins_to_delete ) . '</h2>';
</del><span class="cx" style="display: block; padding: 0 10px">                                 ?>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <?php if ( $have_non_network_plugins && is_network_admin() ) : ?>
-                               <div class="error"><p><strong><?php _e( 'Caution:' ); ?></strong> <?php echo _n( 'This plugin may be active on other sites in the network.', 'These plugins may be active on other sites in the network.', $plugins_to_delete ); ?></p></div>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                         <?php if ( 1 == $plugins_to_delete ) : ?>
+                                       <h2><?php _e( 'Delete Plugin' ); ?></h2>
+                                       <?php if ( $have_non_network_plugins && is_network_admin() ) : ?>
+                                               <div class="error"><p><strong><?php _e( 'Caution:' ); ?></strong> <?php _e( 'This plugin may be active on other sites in the network.' ); ?></p></div>
+                                       <?php endif; ?>
+                                       <p><?php _e( 'You are about to remove the following plugin:' ); ?></p>
+                               <?php else: ?>
+                                       <h2><?php _e( 'Delete Plugins' ); ?></h2>
+                                       <?php if ( $have_non_network_plugins && is_network_admin() ) : ?>
+                                               <div class="error"><p><strong><?php _e( 'Caution:' ); ?></strong> <?php _e( 'These plugins may be active on other sites in the network.' ); ?></p></div>
+                                       <?php endif; ?>
+                                       <p><?php _e( 'You are about to remove the following plugins:' ); ?></p>
</ins><span class="cx" style="display: block; padding: 0 10px">                                 <?php endif; ?>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                                <p><?php echo _n( 'You are about to remove the following plugin:', 'You are about to remove the following plugins:', $plugins_to_delete ); ?></p>
</del><span class="cx" style="display: block; padding: 0 10px">                                         <ul class="ul-disc">
</span><span class="cx" style="display: block; padding: 0 10px">                                                <?php
</span><span class="cx" style="display: block; padding: 0 10px">                                                $data_to_delete = false;
</span></span></pre></div>
<a id="trunksrcwpadminuploadphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/upload.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/upload.php     2015-03-31 09:36:29 UTC (rev 31940)
+++ trunk/src/wp-admin/upload.php       2015-03-31 18:44:46 UTC (rev 31941)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -219,12 +219,12 @@
</span><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><span class="cx" style="display: block; padding: 0 10px"> $message = '';
</span><span class="cx" style="display: block; padding: 0 10px"> if ( ! empty( $_GET['posted'] ) ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        $message = __('Media attachment updated.');
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $message = __( 'Media attachment updated.' );
</ins><span class="cx" style="display: block; padding: 0 10px">         $_SERVER['REQUEST_URI'] = remove_query_arg(array('posted'), $_SERVER['REQUEST_URI']);
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> if ( ! empty( $_GET['attached'] ) && $attached = absint( $_GET['attached'] ) ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        $message = sprintf( _n('Reattached %d attachment.', 'Reattached %d attachments.', $attached), $attached );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $message = sprintf( _n( 'Reattached %d attachment.', 'Reattached %d attachments.', $attached ), $attached );
</ins><span class="cx" style="display: block; padding: 0 10px">         $_SERVER['REQUEST_URI'] = remove_query_arg( array( 'detach', 'attached' ), $_SERVER['REQUEST_URI'] );
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -234,18 +234,33 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> if ( ! empty( $_GET['deleted'] ) && $deleted = absint( $_GET['deleted'] ) ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        $message = sprintf( _n( 'Media attachment permanently deleted.', '%d media attachments permanently deleted.', $deleted ), number_format_i18n( $_GET['deleted'] ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ if ( 1 == $deleted ) {
+               $message = __( 'Media attachment permanently deleted.' );
+       } else {
+               $message = _n( '%d media attachment permanently deleted.', '%d media attachments permanently deleted.', $deleted );
+       }
+       $message = sprintf( $message, number_format_i18n( $deleted ) );
</ins><span class="cx" style="display: block; padding: 0 10px">         $_SERVER['REQUEST_URI'] = remove_query_arg(array('deleted'), $_SERVER['REQUEST_URI']);
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> if ( ! empty( $_GET['trashed'] ) && $trashed = absint( $_GET['trashed'] ) ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        $message = sprintf( _n( 'Media attachment moved to the trash.', '%d media attachments moved to the trash.', $trashed ), number_format_i18n( $_GET['trashed'] ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ if ( 1 == $trashed ) {
+               $message = __( 'Media attachment moved to the trash.' );
+       } else {
+               $message = _n( '%d media attachment moved to the trash.', '%d media attachments moved to the trash.', $trashed );
+       }
+       $message = sprintf( $message, number_format_i18n( $trashed ) );
</ins><span class="cx" style="display: block; padding: 0 10px">         $message .= ' <a href="' . esc_url( wp_nonce_url( 'upload.php?doaction=undo&action=untrash&ids='.(isset($_GET['ids']) ? $_GET['ids'] : ''), "bulk-media" ) ) . '">' . __('Undo') . '</a>';
</span><span class="cx" style="display: block; padding: 0 10px">        $_SERVER['REQUEST_URI'] = remove_query_arg(array('trashed'), $_SERVER['REQUEST_URI']);
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> if ( ! empty( $_GET['untrashed'] ) && $untrashed = absint( $_GET['untrashed'] ) ) {
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        $message = sprintf( _n( 'Media attachment restored from the trash.', '%d media attachments restored from the trash.', $untrashed ), number_format_i18n( $_GET['untrashed'] ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ if ( 1 == $untrashed ) {
+               $message = __( 'Media attachment restored from the trash.' );
+       } else {
+               $message = _n( '%d media attachment restored from the trash.', '%d media attachments restored from the trash.', $untrashed );
+       }
+       $message = sprintf( $message, number_format_i18n( $untrashed ) );
</ins><span class="cx" style="display: block; padding: 0 10px">         $_SERVER['REQUEST_URI'] = remove_query_arg(array('untrashed'), $_SERVER['REQUEST_URI']);
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span></span></pre></div>
<a id="trunksrcwpadminusersphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/users.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/users.php      2015-03-31 09:36:29 UTC (rev 31940)
+++ trunk/src/wp-admin/users.php        2015-03-31 18:44:46 UTC (rev 31941)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -216,11 +216,17 @@
</span><span class="cx" style="display: block; padding: 0 10px"> <div class="wrap">
</span><span class="cx" style="display: block; padding: 0 10px"> <h2><?php _e('Delete Users'); ?></h2>
</span><span class="cx" style="display: block; padding: 0 10px"> <?php if ( isset( $_REQUEST['error'] ) ) : ?>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-<div class="error">
-       <p><strong><?php _e( 'ERROR:' ); ?></strong> <?php _e( 'Please select an option.' ); ?></p>
-</div>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <div class="error">
+               <p><strong><?php _e( 'ERROR:' ); ?></strong> <?php _e( 'Please select an option.' ); ?></p>
+       </div>
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php endif; ?>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-<p><?php echo _n( 'You have specified this user for deletion:', 'You have specified these users for deletion:', count( $userids ) ); ?></p>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+<?php if ( 1 == count( $userids ) ) : ?>
+       <p><?php _e( 'You have specified this user for deletion:' ); ?></p>
+<?php else : ?>
+       <p><?php _e( 'You have specified these users for deletion:' ); ?></p>
+<?php endif; ?>
+
</ins><span class="cx" style="display: block; padding: 0 10px"> <ul>
</span><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><span class="cx" style="display: block; padding: 0 10px">        $go_delete = 0;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -236,7 +242,11 @@
</span><span class="cx" style="display: block; padding: 0 10px">        ?>
</span><span class="cx" style="display: block; padding: 0 10px">        </ul>
</span><span class="cx" style="display: block; padding: 0 10px"> <?php if ( $go_delete ) : ?>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        <fieldset><p><legend><?php echo _n( 'What should be done with content owned by this user?', 'What should be done with content owned by these users?', $go_delete ); ?></legend></p>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <?php if ( 1 == $go_delete ) : ?>
+               <fieldset><p><legend><?php _e( 'What should be done with content owned by this user?' ); ?></legend></p>
+       <?php else : ?>
+               <fieldset><p><legend><?php _e( 'What should be done with content owned by these users?' ); ?></legend></p>
+       <?php endif; ?>
</ins><span class="cx" style="display: block; padding: 0 10px">         <ul style="list-style:none;">
</span><span class="cx" style="display: block; padding: 0 10px">                <li><label><input type="radio" id="delete_option0" name="delete_option" value="delete" />
</span><span class="cx" style="display: block; padding: 0 10px">                <?php _e('Delete all content.'); ?></label></li>
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -379,7 +389,12 @@
</span><span class="cx" style="display: block; padding: 0 10px">                case 'del':
</span><span class="cx" style="display: block; padding: 0 10px">                case 'del_many':
</span><span class="cx" style="display: block; padding: 0 10px">                        $delete_count = isset($_GET['delete_count']) ? (int) $_GET['delete_count'] : 0;
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        $messages[] = '<div id="message" class="updated"><p>' . sprintf( _n( 'User deleted.', '%s users deleted.', $delete_count ), number_format_i18n( $delete_count ) ) . '</p></div>';
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 if ( 1 == $delete_count ) {
+                               $message = __( 'User deleted.' );
+                       } else {
+                               $message = _n( '%s user deleted.', '%s users deleted.', $delete_count );
+                       }
+                       $messages[] = '<div id="message" class="updated"><p>' . sprintf( $message, number_format_i18n( $delete_count ) ) . '</p></div>';
</ins><span class="cx" style="display: block; padding: 0 10px">                         break;
</span><span class="cx" style="display: block; padding: 0 10px">                case 'add':
</span><span class="cx" style="display: block; padding: 0 10px">                        if ( isset( $_GET['id'] ) && ( $user_id = $_GET['id'] ) && current_user_can( 'edit_user', $user_id ) ) {
</span></span></pre></div>
<a id="trunksrcwpincludesclasswpcustomizemanagerphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/class-wp-customize-manager.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/class-wp-customize-manager.php      2015-03-31 09:36:29 UTC (rev 31940)
+++ trunk/src/wp-includes/class-wp-customize-manager.php        2015-03-31 18:44:46 UTC (rev 31941)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1351,11 +1351,17 @@
</span><span class="cx" style="display: block; padding: 0 10px">                $menus          = wp_get_nav_menus();
</span><span class="cx" style="display: block; padding: 0 10px">                $num_locations  = count( array_keys( $locations ) );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                if ( 1 == $num_locations ) {
+                       $description = __( 'Your theme supports one menu. Select which menu you would like to use.' );
+               } else {
+                       $description = sprintf( _n( 'Your theme supports %s menu. Select which menu appears in each location.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations ), number_format_i18n( $num_locations ) );
+               }
+
</ins><span class="cx" style="display: block; padding: 0 10px">                 $this->add_section( 'nav', array(
</span><span class="cx" style="display: block; padding: 0 10px">                        'title'          => __( 'Navigation' ),
</span><span class="cx" style="display: block; padding: 0 10px">                        'theme_supports' => 'menus',
</span><span class="cx" style="display: block; padding: 0 10px">                        'priority'       => 100,
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-                        'description'    => sprintf( _n('Your theme supports %s menu. Select which menu you would like to use.', 'Your theme supports %s menus. Select which menu appears in each location.', $num_locations ), number_format_i18n( $num_locations ) ) . "\n\n" . __('You can edit your menu content on the Menus screen in the Appearance section.'),
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+                 'description'    => $description . "\n\n" . __( 'You can edit your menu content on the Menus screen in the Appearance section.' ),
</ins><span class="cx" style="display: block; padding: 0 10px">                 ) );
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">                if ( $menus ) {
</span></span></pre></div>
<a id="trunksrcwpincludesthemecompatcommentsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/theme-compat/comments.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/theme-compat/comments.php   2015-03-31 09:36:29 UTC (rev 31940)
+++ trunk/src/wp-includes/theme-compat/comments.php     2015-03-31 18:44:46 UTC (rev 31941)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -23,8 +23,16 @@
</span><span class="cx" style="display: block; padding: 0 10px"> <!-- You can start editing here. -->
</span><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px"> <?php if ( have_comments() ) : ?>
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-        <h3 id="comments"><?php      printf( _n( 'One Response to %2$s', '%1$s Responses to %2$s', get_comments_number() ),
-                                                                       number_format_i18n( get_comments_number() ), '&#8220;' . get_the_title() . '&#8221;' ); ?></h3>
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ <h3 id="comments">
+               <?php
+                       if ( 1 == get_comments_number() ) {
+                               printf( 'One Response to %2$s',  '&#8220;' . get_the_title() . '&#8221;' );
+                       } else {
+                               printf( _n( '%1$s Response to %2$s', '%1$s Responses to %2$s', get_comments_number() ),
+                                       number_format_i18n( get_comments_number() ),  '&#8220;' . get_the_title() . '&#8221;' );
+                       }
+               ?>
+       </h3>
</ins><span class="cx" style="display: block; padding: 0 10px"> 
</span><span class="cx" style="display: block; padding: 0 10px">        <div class="navigation">
</span><span class="cx" style="display: block; padding: 0 10px">                <div class="alignleft"><?php previous_comments_link() ?></div>
</span></span></pre>
</div>
</div>

</body>
</html>