<?php is_multisite() ? _e( 'Go to Updates' ) : _e( 'Go to Dashboard → Updates' ); ?>
<a href="<?php echo esc_url( self_admin_url() ); ?>"><?php is_blog_admin() ? _e( 'Go to Dashboard → Home' ) : _e( 'Go to Dashboard' ); ?></a>
<?php require_once ABSPATH . 'wp-admin/admin-footer.php'; ?>
window.addEventListener( 'load', function() {
var createElement = wp.element.createElement;
var Fragment = wp.element.Fragment;
var render = wp.element.render;
var useState = wp.element.useState;
var ResizableBox = wp.components.ResizableBox;
var container = document.getElementById( 'about-image-comparison' );
var images = container ? container.querySelectorAll( 'img' ) : [];
// Something's wrong, return early.
var beforeImage = images.item( 0 );
var afterImage = images.item( 1 );
var caption = container.querySelector( 'figcaption' ).innerText;
function ImageComparison( props ) {
var stateHelper = useState( props.width );
var width = stateHelper[0];
var setWidth = stateHelper[1];
className: 'about__image-comparison'
createElement( 'img', { src: beforeImage.src, alt: beforeImage.alt } ),
onResizeStop: function( event, direction, elt, delta ) {
setWidth( parseInt( width + delta.width, 10 ) );
right: ! wp.i18n.isRTL(),
className: 'about__image-comparison-resize'
style: { width: '100%', height: '100%', overflow: 'hidden' }
createElement('img', { src: afterImage.src, alt: afterImage.alt } )
width: beforeImage.clientWidth / 2,
height: beforeImage.clientHeight
createElement( 'figcaption', {}, caption )
// These are strings we may use to describe maintenance/security releases, where we aim for no new strings.
__( 'Maintenance Release' );
__( 'Maintenance Releases' );
__( 'Security Release' );
__( 'Security Releases' );
__( 'Maintenance and Security Release' );
__( 'Maintenance and Security Releases' );
/* translators: %s: WordPress version number. */
__( '<strong>Version %s</strong> addressed one security issue.' );
/* translators: %s: WordPress version number. */
__( '<strong>Version %s</strong> addressed some security issues.' );
/* translators: 1: WordPress version number, 2: Plural number of bugs. */
'<strong>Version %1$s</strong> addressed %2$s bug.',
'<strong>Version %1$s</strong> addressed %2$s bugs.'
/* translators: 1: WordPress version number, 2: Plural number of bugs. Singular security issue. */
'<strong>Version %1$s</strong> addressed a security issue and fixed %2$s bug.',
'<strong>Version %1$s</strong> addressed a security issue and fixed %2$s bugs.'
/* translators: 1: WordPress version number, 2: Plural number of bugs. More than one security issue. */
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.'
/* translators: %s: Documentation URL. */
__( 'For more information, see <a href="%s">the release notes</a>.' );
/* translators: 1: WordPress version number, 2: Link to update WordPress */
__( 'Important! Your version of WordPress (%1$s) is no longer supported, you will not receive any security updates for your website. To keep your site secure, please <a href="%2$s">update to the latest version of WordPress</a>.' );
/* translators: 1: WordPress version number, 2: Link to update WordPress */
__( 'Important! Your version of WordPress (%1$s) will stop receiving security updates in the near future. To keep your site secure, please <a href="%2$s">update to the latest version of WordPress</a>.' );
/* translators: %s: The major version of WordPress for this branch. */
__( 'This is the final release of WordPress %s' );
/* translators: The localized WordPress download URL. */
__( 'https://wordpress.org/download/' );