From 9c5d1f60119c165782221e4a02ad52c9e9ee7386 Mon Sep 17 00:00:00 2001 From: Weston Ruter Date: Thu, 8 Dec 2016 19:31:37 +0000 Subject: [PATCH] Customize: Use selected user language for edit shortcuts in preview instead of site language. Props ocean90. Fixes #39009. git-svn-id: https://develop.svn.wordpress.org/trunk@39545 602fd350-edb4-49c9-b593-d223f7449a82 --- .../class-wp-customize-manager.php | 17 +++++++++---- .../class-wp-customize-widgets.php | 12 +++++++--- .../class-wp-customize-selective-refresh.php | 24 ++++++++++++------- 3 files changed, 36 insertions(+), 17 deletions(-) diff --git a/src/wp-includes/class-wp-customize-manager.php b/src/wp-includes/class-wp-customize-manager.php index 127d572be7..5b68a76943 100644 --- a/src/wp-includes/class-wp-customize-manager.php +++ b/src/wp-includes/class-wp-customize-manager.php @@ -1776,6 +1776,17 @@ final class WP_Customize_Manager { } $allowed_hosts[] = $host; } + + $switched_locale = switch_to_locale( get_user_locale() ); + $l10n = array( + 'shiftClickToEdit' => __( 'Shift-click to edit this element.' ), + 'linkUnpreviewable' => __( 'This link is not live-previewable.' ), + 'formUnpreviewable' => __( 'This form is not live-previewable.' ), + ); + if ( $switched_locale ) { + restore_previous_locale(); + } + $settings = array( 'changeset' => array( 'uuid' => $this->_changeset_uuid, @@ -1800,11 +1811,7 @@ final class WP_Customize_Manager { 'activeControls' => array(), 'settingValidities' => $exported_setting_validities, 'nonce' => current_user_can( 'customize' ) ? $this->get_nonces() : array(), - 'l10n' => array( - 'shiftClickToEdit' => __( 'Shift-click to edit this element.' ), - 'linkUnpreviewable' => __( 'This link is not live-previewable.' ), - 'formUnpreviewable' => __( 'This form is not live-previewable.' ), - ), + 'l10n' => $l10n, '_dirty' => array_keys( $post_values ), ); diff --git a/src/wp-includes/class-wp-customize-widgets.php b/src/wp-includes/class-wp-customize-widgets.php index 74031194fd..4be73e4d81 100644 --- a/src/wp-includes/class-wp-customize-widgets.php +++ b/src/wp-includes/class-wp-customize-widgets.php @@ -1123,15 +1123,21 @@ final class WP_Customize_Widgets { public function export_preview_data() { global $wp_registered_sidebars, $wp_registered_widgets; + $switched_locale = switch_to_locale( get_user_locale() ); + $l10n = array( + 'widgetTooltip' => __( 'Shift-click to edit this widget.' ), + ); + if ( $switched_locale ) { + restore_previous_locale(); + } + // Prepare Customizer settings to pass to JavaScript. $settings = array( 'renderedSidebars' => array_fill_keys( array_unique( $this->rendered_sidebars ), true ), 'renderedWidgets' => array_fill_keys( array_keys( $this->rendered_widgets ), true ), 'registeredSidebars' => array_values( $wp_registered_sidebars ), 'registeredWidgets' => $wp_registered_widgets, - 'l10n' => array( - 'widgetTooltip' => __( 'Shift-click to edit this widget.' ), - ), + 'l10n' => $l10n, 'selectiveRefreshableWidgets' => $this->get_selective_refreshable_widgets(), ); foreach ( $settings['registeredWidgets'] as &$registered_widget ) { diff --git a/src/wp-includes/customize/class-wp-customize-selective-refresh.php b/src/wp-includes/customize/class-wp-customize-selective-refresh.php index 2342aef9ba..af0c74d67b 100644 --- a/src/wp-includes/customize/class-wp-customize-selective-refresh.php +++ b/src/wp-includes/customize/class-wp-customize-selective-refresh.php @@ -179,18 +179,24 @@ final class WP_Customize_Selective_Refresh { } } + $switched_locale = switch_to_locale( get_user_locale() ); + $l10n = array( + 'shiftClickToEdit' => __( 'Shift-click to edit this element.' ), + 'clickEditMenu' => __( 'Click to edit this menu.' ), + 'clickEditWidget' => __( 'Click to edit this widget.' ), + 'clickEditTitle' => __( 'Click to edit the site title.' ), + 'clickEditMisc' => __( 'Click to edit this element.' ), + /* translators: %s: document.write() */ + 'badDocumentWrite' => sprintf( __( '%s is forbidden' ), 'document.write()' ), + ); + if ( $switched_locale ) { + restore_previous_locale(); + } + $exports = array( 'partials' => $partials, 'renderQueryVar' => self::RENDER_QUERY_VAR, - 'l10n' => array( - 'shiftClickToEdit' => __( 'Shift-click to edit this element.' ), - 'clickEditMenu' => __( 'Click to edit this menu.' ), - 'clickEditWidget' => __( 'Click to edit this widget.' ), - 'clickEditTitle' => __( 'Click to edit the site title.' ), - 'clickEditMisc' => __( 'Click to edit this element.' ), - /* translators: %s: document.write() */ - 'badDocumentWrite' => sprintf( __( '%s is forbidden' ), 'document.write()' ), - ), + 'l10n' => $l10n, ); // Export data to JS.