You can use the following code to change Publish button’s text to Save even after editing Post Status.
Do not forget: Clicking OK or Cancel buttons when editing Post Status will change Publish button’s text. This happens also when editing Post Visibility and Publish time. I used setTimeout() to postpone changing Publish button’s text after Post status, visibility and time edited.
function change_button_text(){
echo "<script>
jQuery(document).ready( function() {
jQuery('input[id=\"publish\"]').val('Save');
jQuery('.save-post-status').click(change_on_post_status_visibilty_time_edit);
jQuery('.cancel-post-status').click(change_on_post_status_visibilty_time_edit);
jQuery('.save-post-visibility').click(change_on_post_status_visibilty_time_edit);
jQuery('.cancel-post-visibility').click(change_on_post_status_visibilty_time_edit);
jQuery('.save-timestamp').click(change_on_post_status_visibilty_time_edit);
jQuery('.cancel-timestamp').click(change_on_post_status_visibilty_time_edit);
});
function change_on_post_status_visibilty_time_edit(){
setTimeout( function() {jQuery( 'input[id=\"publish\"]' ).val('Save')}, 100);
};
</script>";
}
add_action('admin_head-post.php', 'change_button_text');
add_action('admin_head-post-new.php', 'change_button_text');