Making WordPress.org

Ticket #2618: locale-banner.patch

File locale-banner.patch, 2.1 KB (added by joostdevalk, 7 years ago)

Simpler patch

  • wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-locale-banner.php

    diff --git wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-locale-banner.php wordpress.org/public_html/wp-content/plugins/plugin-directory/api/routes/class-locale-banner.php
    index d7c4c74d..a7c40e1f 100644
    class Locale_Banner extends Base { 
    7575                // Get the native language names of the locales.
    7676                $suggest_named_locales = [];
    7777                foreach ( $suggest_locales as $locale ) {
    78                         $name = $this->get_native_language_name( $locale );
     78                        $locale = \GP_Locales::by_field( 'wp_locale', $locale )->native_name;
     79                        $name = $locale->native_name;
    7980                        if ( $name ) {
    8081                                $suggest_named_locales[ $locale ] = $name;
    8182                        }
    class Locale_Banner extends Base { 
    172173                } elseif ( ! $current_locale_is_suggested && ! $current_locale_is_translated && $is_plugin_request ) {
    173174                        $suggest_string = sprintf(
    174175                                $this->translate( 'This plugin is not available in %1$s yet. <a href="%2$s">Help translate it!</a>', $current_locale ),
    175                                 $this->get_native_language_name( $current_locale ),
     176                                \GP_Locales::by_field( 'wp_locale', $current_locale )->native_name,
    176177                                esc_url( 'https://translate.wordpress.org/projects/wp-plugins/' . $plugin_slug )
    177178                        );
    178179                }
    class Locale_Banner extends Base { 
    339340
    340341                return isset( $translations[ $gp_locale ] ) ? $translations[ $gp_locale ] : $string;
    341342        }
    342 
    343         protected function get_native_language_name( $locale ) {
    344                 global $wpdb;
    345 
    346                 $slug = str_replace( '_', '-', $locale );
    347                 $slug = strtolower( $slug );
    348 
    349                 $name = $wpdb->get_var( $wpdb->prepare( 'SELECT name FROM languages WHERE slug = %s', $slug ) );
    350                 if ( ! $name ) {
    351                         $fallback_slug = explode( '-', $slug )[0]; // de-de => de
    352                         $name = $wpdb->get_var( $wpdb->prepare( 'SELECT name FROM languages WHERE slug = %s', $fallback_slug ) );
    353                         if ( $name ) {
    354                                 return $name;
    355                         }
    356                 } else {
    357                         return $name;
    358                 }
    359 
    360                 return '';
    361         }
     343       
    362344}
    363345
    364346// Strings for the POT file.