WordPress.org

Make WordPress Core

Ticket #38796: 38796.1.diff

File 38796.1.diff, 4.6 KB (added by celloexpressions, 4 years ago)

Add translator comments for placeholders and reuse automatic labels for image controls

  • src/wp-includes/class-wp-customize-manager.php

     
    40144014                        'description'    => $control_description,
    40154015                        'section'        => 'header_image',
    40164016                        'mime_type'      => 'video',
    4017                         // @todo These button_labels can be removed once WP_Customize_Media_Control provides mime_type-specific labels automatically. See <https://core.trac.wordpress.org/ticket/38796>.
    4018                         'button_labels'  => array(
    4019                                 'select'       => __( 'Select Video' ),
    4020                                 'change'       => __( 'Change Video' ),
    4021                                 'placeholder'  => __( 'No video selected' ),
    4022                                 'frame_title'  => __( 'Select Video' ),
    4023                                 'frame_button' => __( 'Choose Video' ),
    4024                         ),
    40254017                        'active_callback' => 'is_header_video_active',
    40264018                ) ) );
    40274019
  • src/wp-includes/customize/class-wp-customize-image-control.php

     
    1919        public $mime_type = 'image';
    2020
    2121        /**
    22          * Constructor.
    23          *
    24          * @since 3.4.0
    25          * @uses WP_Customize_Upload_Control::__construct()
    26          *
    27          * @param WP_Customize_Manager $manager Customizer bootstrap instance.
    28          * @param string               $id      Control ID.
    29          * @param array                $args    Optional. Arguments to override class property defaults.
    30          */
    31         public function __construct( $manager, $id, $args = array() ) {
    32                 parent::__construct( $manager, $id, $args );
    33 
    34                 $this->button_labels = wp_parse_args( $this->button_labels, array(
    35                         'select'       => __( 'Select Image' ),
    36                         'change'       => __( 'Change Image' ),
    37                         'remove'       => __( 'Remove' ),
    38                         'default'      => __( 'Default' ),
    39                         'placeholder'  => __( 'No image selected' ),
    40                         'frame_title'  => __( 'Select Image' ),
    41                         'frame_button' => __( 'Choose Image' ),
    42                 ) );
    43         }
    44 
    45         /**
    4622         * @since 3.4.2
    4723         * @deprecated 4.1.0
    4824         */
  • src/wp-includes/customize/class-wp-customize-media-control.php

     
    5555        public function __construct( $manager, $id, $args = array() ) {
    5656                parent::__construct( $manager, $id, $args );
    5757
    58                 if ( ! ( $this instanceof WP_Customize_Image_Control ) ) {
    59                         $this->button_labels = wp_parse_args( $this->button_labels, array(
    60                                 'select'       => __( 'Select File' ),
    61                                 'change'       => __( 'Change File' ),
    62                                 'default'      => __( 'Default' ),
    63                                 'remove'       => __( 'Remove' ),
    64                                 'placeholder'  => __( 'No file selected' ),
    65                                 'frame_title'  => __( 'Select File' ),
    66                                 'frame_button' => __( 'Choose File' ),
    67                         ) );
    68                 }
     58                $this->button_labels = wp_parse_args( $this->button_labels, $this->get_default_button_labels() );
    6959        }
    7060
    7161        /**
     
    212202                <# } #>
    213203                <?php
    214204        }
     205
     206        /**
     207         * Get Default Button Labels
     208         *
     209         * Provides an array of the default button labels based on the mime type of the current control.
     210         *
     211         * @since  4.8.0
     212         *
     213         * @return array An associative array of default button labels.
     214         */
     215        public function get_default_button_labels() {
     216                // Set the default translated labels.
     217                $labels = array(
     218                        'video'   => _x( 'Video', 'noun' ),
     219                        'audio'   => __( 'Audio' ),
     220                        'image'   => __( 'Image' ),
     221                        'default' => _x( 'File', 'noun' ),
     222                );
     223
     224                // Get just the mime type and strip the mime subtype if present.
     225                $mime_type = ( '' !== $this->mime_type ) ? strtok( ltrim( $this->mime_type, '/' ), '/' ) : 'default';
     226
     227                // Get the default label of the mime type.
     228                $default_label = array_key_exists( $mime_type, $labels ) ? $labels[ $mime_type ] : $label['default'];
     229
     230                return array(
     231                        /** translators: %s is the media type */
     232                        'select'       => sprintf( __( 'Select %s' ), $default_label ),
     233                        /** translators: %s is the media type */
     234                        'change'       => sprintf( __( 'Change %s' ), $default_label ),
     235                        'default'      => __( 'Default' ),
     236                        'remove'       => __( 'Remove' ),
     237                        /** translators: %s is the media type */
     238                        'placeholder'  => sprintf( __( 'No %s selected' ), strtolower( $default_label ) ),
     239                        /** translators: %s is the media type */
     240                        'frame_title'  => sprintf( __( 'Select %s' ), $default_label ),
     241                        /** translators: %s is the media type */
     242                        'frame_button' => sprintf( __( 'Choose %s' ), $default_label ),
     243                );
     244        }
    215245}