Make WordPress Core

Ticket #44494: 44494.2.diff

File 44494.2.diff, 2.5 KB (added by swissspidy, 5 years ago)
  • src/wp-includes/l10n.php

    diff --git src/wp-includes/l10n.php src/wp-includes/l10n.php
    index 915fa72701..08ae04222d 100644
    function wp_get_pomo_file_data( $po_file ) { 
    13821382 *                                                  boolean equivalents. Default 1.
    13831383 *     @type bool     $show_available_translations  Whether to show available translations. Default true.
    13841384 *     @type bool     $show_option_site_default     Whether to show an option to fall back to the site's locale. Default false.
     1385 *     @type bool     $show_option_en_us            Whether to show an option for English (United States). Default true.
    13851386 * }
    13861387 * @return string HTML content
    13871388 */
    function wp_dropdown_languages( $args = array() ) { 
    13981399                        'echo'                        => 1,
    13991400                        'show_available_translations' => true,
    14001401                        'show_option_site_default'    => false,
     1402                        'show_option_en_us'           => true,
    14011403                )
    14021404        );
    14031405
    function wp_dropdown_languages( $args = array() ) { 
    14611463                );
    14621464        }
    14631465
    1464         // Always show English.
    1465         $structure[] = sprintf(
    1466                 '<option value="" lang="en" data-installed="1"%s>English (United States)</option>',
    1467                 selected( '', $parsed_args['selected'], false )
    1468         );
     1466        if ( $parsed_args['show_option_en_us'] ) {
     1467                $structure[] = sprintf(
     1468                        '<option value="" lang="en" data-installed="1"%s>English (United States)</option>',
     1469                        selected( '', $parsed_args['selected'], false )
     1470                );
     1471        }
    14691472
    14701473        // List installed languages.
    14711474        foreach ( $languages as $language ) {
  • tests/phpunit/tests/l10n.php

    diff --git tests/phpunit/tests/l10n.php tests/phpunit/tests/l10n.php
    index 5173621d2c..930108228a 100644
    class Tests_L10n extends WP_UnitTestCase { 
    124124                $this->assertContains( '<option value="ja_JP" lang="ja">日本語</option>', $actual );
    125125        }
    126126
     127        /**
     128         * @ticket 44494
     129         */
     130        function test_wp_dropdown_languages_exclude_en_us() {
     131                $args   = array(
     132                        'id'                       => 'foo',
     133                        'name'                     => 'bar',
     134                        'languages'                => array( 'de_DE' ),
     135                        'translations'             => $this->wp_dropdown_languages_filter(),
     136                        'selected'                 => 'de_DE',
     137                        'echo'                     => false,
     138                        'show_option_en_us'        => false,
     139                );
     140                $actual = wp_dropdown_languages( $args );
     141
     142                $this->assertNotContains( '<option value="" lang="en" data-installed="1">English (United States)</option>', $actual );
     143        }
     144
    127145        /**
    128146         * @ticket 38632
    129147         */