From dd353bf815e69f2f5425338b5249e016f8942037 Mon Sep 17 00:00:00 2001 From: Dominik Schilling Date: Tue, 7 Jul 2020 16:47:14 +0000 Subject: [PATCH] I18N: Use `wp.i18n` for translatable strings in `wp-admin/js/post.js`. This removes the usage of `wp_localize_script()` for passing translations to the script and instead adds the translatable strings in the script directly through the use of `wp.i18n` and its utilities. Props swissspidy, ocean90. See #20491. Fixes #50599. git-svn-id: https://develop.svn.wordpress.org/trunk@48385 602fd350-edb4-49c9-b593-d223f7449a82 --- src/js/_enqueues/admin/post.js | 67 ++++++++++++++++++------------- src/wp-includes/script-loader.php | 29 ------------- 2 files changed, 38 insertions(+), 58 deletions(-) diff --git a/src/js/_enqueues/admin/post.js b/src/js/_enqueues/admin/post.js index ad014b5eb7..2ca60e7c4b 100644 --- a/src/js/_enqueues/admin/post.js +++ b/src/js/_enqueues/admin/post.js @@ -4,7 +4,7 @@ * @output wp-admin/js/post.js */ - /* global postL10n, ajaxurl, wpAjax, setPostThumbnailL10n, postboxes, pagenow, tinymce, alert, deleteUserSetting, ClipboardJS */ + /* global ajaxurl, wpAjax, setPostThumbnailL10n, postboxes, pagenow, tinymce, alert, deleteUserSetting, ClipboardJS */ /* global theList:true, theExtraList:true, getUserSetting, setUserSetting, commentReply, commentsBox */ /* global WPSetThumbnailHTML, wptitlehint */ @@ -15,7 +15,8 @@ window.makeSlugeditClickable = window.editPermalink = function(){}; window.wp = window.wp || {}; ( function( $ ) { - var titleHasFocus = false; + var titleHasFocus = false, + __ = wp.i18n.__; /** * Control loading of comments on the post and term edit pages. @@ -73,11 +74,11 @@ window.wp = window.wp || {}; if ( commentsBox.st > commentsBox.total ) $('#show-comments').hide(); else - $('#show-comments').show().children('a').html(postL10n.showcomm); + $('#show-comments').show().children('a').text( __( 'Show more comments' ) ); return; } else if ( 1 == r ) { - $('#show-comments').html(postL10n.endcomm); + $('#show-comments').text( __( 'No more comments found.' ) ); return; } @@ -295,7 +296,6 @@ window.wp = window.wp || {}; */ jQuery(document).ready( function($) { var stamp, visibility, $submitButtons, updateVisibility, updateText, - sticky = '', $textarea = $('#content'), $document = $(document), postId = $('#post_ID').val() || 0, @@ -307,7 +307,7 @@ jQuery(document).ready( function($) { isMac = window.navigator.platform ? window.navigator.platform.indexOf( 'Mac' ) !== -1 : false, copyAttachmentURLClipboard = new ClipboardJS( '.copy-attachment-url.edit-media' ), copyAttachmentURLSuccessTimeout, - __ = wp.i18n.__; + __ = wp.i18n.__, _x = wp.i18n._x; postboxes.add_postbox_toggles(pagenow); @@ -475,7 +475,7 @@ jQuery(document).ready( function($) { $submitButtons.removeClass( 'disabled' ); } }).on( 'before-autosave.edit-post', function() { - $( '.autosave-message' ).text( postL10n.savingText ); + $( '.autosave-message' ).text( __( 'Saving Draft…' ) ); }).on( 'after-autosave.edit-post', function( event, data ) { $( '.autosave-message' ).text( data.message ); @@ -494,7 +494,7 @@ jQuery(document).ready( function($) { if ( ( editor && ! editor.isHidden() && editor.isDirty() ) || ( wp.autosave && wp.autosave.server.postChanged() ) ) { - return postL10n.saveAlert; + return __( 'The changes you made will be lost if you navigate away from this page.' ); } }).on( 'unload.edit-post', function( event ) { if ( ! releaseLock ) { @@ -754,14 +754,14 @@ jQuery(document).ready( function($) { // Determine what the publish should be depending on the date and post status. if ( attemptedDate > currentDate && $('#original_post_status').val() != 'future' ) { - publishOn = postL10n.publishOnFuture; - $('#publish').val( postL10n.schedule ); + publishOn = __( 'Schedule for:' ); + $('#publish').val( _x( 'Schedule', 'post action/button label' ) ); } else if ( attemptedDate <= currentDate && $('#original_post_status').val() != 'publish' ) { - publishOn = postL10n.publishOn; - $('#publish').val( postL10n.publish ); + publishOn = __( 'Publish on:' ); + $('#publish').val( __( 'Publish' ) ); } else { - publishOn = postL10n.publishOnPast; - $('#publish').val( postL10n.update ); + publishOn = __( 'Published on:' ); + $('#publish').val( __( 'Update' ) ); } // If the date is the same, set it to trigger update events. @@ -771,7 +771,8 @@ jQuery(document).ready( function($) { } else { $('#timestamp').html( '\n' + publishOn + ' ' + - postL10n.dateFormat + // translators: 1: Month, 2: Day, 3: Year, 4: Hour, 5: Minute. + __( '%1$s %2$s, %3$s at %4$s:%5$s' ) .replace( '%1$s', $( 'option[value="' + mm + '"]', '#mm' ).attr( 'data-text' ) ) .replace( '%2$s', parseInt( jj, 10 ) ) .replace( '%3$s', aa ) @@ -783,11 +784,11 @@ jQuery(document).ready( function($) { // Add "privately published" to post status when applies. if ( $postVisibilitySelect.find('input:radio:checked').val() == 'private' ) { - $('#publish').val( postL10n.update ); + $('#publish').val( __( 'Update' ) ); if ( 0 === optPublish.length ) { - postStatus.append(''); + postStatus.append(''); } else { - optPublish.html( postL10n.privatelyPublished ); + optPublish.html( __( 'Privately Published' ) ); } $('option[value="publish"]', postStatus).prop('selected', true); $('#misc-publishing-actions .edit-post-status').hide(); @@ -798,7 +799,7 @@ jQuery(document).ready( function($) { postStatus.val($('#hidden_post_status').val()); } } else { - optPublish.html( postL10n.published ); + optPublish.html( __( 'Published' ) ); } if ( postStatus.is(':hidden') ) $('#misc-publishing-actions .edit-post-status').show(); @@ -816,9 +817,9 @@ jQuery(document).ready( function($) { } else { $('#save-post').show(); if ( $('option:selected', postStatus).val() == 'pending' ) { - $('#save-post').show().val( postL10n.savePending ); + $('#save-post').show().val( __( 'Save as Pending' ) ); } else { - $('#save-post').show().val( postL10n.saveDraft ); + $('#save-post').show().val( __( 'Save Draft' ) ); } } return true; @@ -850,21 +851,29 @@ jQuery(document).ready( function($) { // Set the selected visibility as current. $postVisibilitySelect.find('.save-post-visibility').click( function( event ) { // Crazyhorse - multiple OK cancels. + var visibilityLabel = '', selectedVisibility = $postVisibilitySelect.find('input:radio:checked').val(); + $postVisibilitySelect.slideUp('fast'); $('#visibility .edit-visibility').show().focus(); updateText(); - if ( $postVisibilitySelect.find('input:radio:checked').val() != 'public' ) { + if ( 'public' !== selectedVisibility ) { $('#sticky').prop('checked', false); } - if ( $('#sticky').prop('checked') ) { - sticky = 'Sticky'; - } else { - sticky = ''; + switch ( selectedVisibility ) { + case 'public': + visibilityLabel = $( '#sticky' ).prop( 'checked' ) ? __( 'Public, Sticky' ) : __( 'Public' ); + break; + case 'private': + visibilityLabel = __( 'Private' ); + break; + case 'password': + visibilityLabel = __( 'Password Protected' ); + break; } - $('#post-visibility-display').html( postL10n[ $postVisibilitySelect.find('input:radio:checked').val() + sticky ] ); + $('#post-visibility-display').text( visibilityLabel ); event.preventDefault(); }); @@ -977,7 +986,7 @@ jQuery(document).ready( function($) { $el = $( '#editable-post-name' ); revert_e = $el.html(); - buttons.html( ' ' ); + buttons.html( ' ' ); // Save permalink changes. buttons.children( '.save' ).click( function() { @@ -1010,7 +1019,7 @@ jQuery(document).ready( function($) { permalink.html(permalinkOrig); real_slug.val(new_slug); $( '.edit-slug' ).focus(); - wp.a11y.speak( postL10n.permalinkSaved ); + wp.a11y.speak( __( 'Permalink saved' ) ); } ); }); diff --git a/src/wp-includes/script-loader.php b/src/wp-includes/script-loader.php index 3ff287211a..e6608e0778 100644 --- a/src/wp-includes/script-loader.php +++ b/src/wp-includes/script-loader.php @@ -1219,35 +1219,6 @@ function wp_default_scripts( $scripts ) { $scripts->add( 'post', "/wp-admin/js/post$suffix.js", array( 'suggest', 'wp-lists', 'postbox', 'tags-box', 'underscore', 'word-count', 'wp-a11y', 'wp-sanitize', 'clipboard' ), false, 1 ); $scripts->set_translations( 'post' ); - did_action( 'init' ) && $scripts->localize( - 'post', - 'postL10n', - array( - 'ok' => __( 'OK' ), - 'cancel' => __( 'Cancel' ), - 'publishOn' => __( 'Publish on:' ), - 'publishOnFuture' => __( 'Schedule for:' ), - 'publishOnPast' => __( 'Published on:' ), - /* translators: 1: Month, 2: Day, 3: Year, 4: Hour, 5: Minute. */ - 'dateFormat' => __( '%1$s %2$s, %3$s at %4$s:%5$s' ), - 'showcomm' => __( 'Show more comments' ), - 'endcomm' => __( 'No more comments found.' ), - 'publish' => __( 'Publish' ), - 'schedule' => _x( 'Schedule', 'post action/button label' ), - 'update' => __( 'Update' ), - 'savePending' => __( 'Save as Pending' ), - 'saveDraft' => __( 'Save Draft' ), - 'private' => __( 'Private' ), - 'public' => __( 'Public' ), - 'publicSticky' => __( 'Public, Sticky' ), - 'password' => __( 'Password Protected' ), - 'privatelyPublished' => __( 'Privately Published' ), - 'published' => __( 'Published' ), - 'saveAlert' => __( 'The changes you made will be lost if you navigate away from this page.' ), - 'savingText' => __( 'Saving Draft…' ), - 'permalinkSaved' => __( 'Permalink saved' ), - ) - ); $scripts->add( 'editor-expand', "/wp-admin/js/editor-expand$suffix.js", array( 'jquery', 'underscore' ), false, 1 );