WordPress.org

Make WordPress Core

Ticket #9794: 9794.2.diff

File 9794.2.diff, 1.6 KB (added by ryan, 5 years ago)

Sort by translated names, load continents-cities mo file

  • wp-includes/functions.php

     
    31063106 * 
    31073107 */ 
    31083108function wp_timezone_choice($selectedzone) { 
     3109        static $mo_loaded = false; 
     3110 
    31093111        $continents = array('Africa', 'America', 'Antarctica', 'Arctic', 'Asia', 'Atlantic', 'Australia', 'Europe', 'Indian', 'Pacific', 'Etc'); 
    31103112 
     3113        // Load translations for continents and cities 
     3114        if ( ! $mo_loaded ) { 
     3115                $locale = get_locale(); 
     3116                $mofile = WP_LANG_DIR . "/continents-cities-$locale.mo"; 
     3117                load_textdomain('default', $mofile); 
     3118                $mo_loaded = true; 
     3119        } 
     3120 
    31113121        $all = timezone_identifiers_list(); 
    31123122 
    31133123        $i = 0; 
     
    31233133 
    31243134        usort($zonen, create_function( 
    31253135                '$a, $b', ' 
    3126                 if ( $a["continent"] == $b["continent"] && $a["city"] == $b["city"] ) 
    3127                         return strnatcasecmp($a["subcity"], $b["subcity"]); 
    3128                 elseif ( $a["continent"] == $b["continent"] ) 
    3129                         return strnatcasecmp($a["city"], $b["city"]); 
     3136                $a_continent = translate($a["continent"]); 
     3137                $b_continent = translate($b["continent"]); 
     3138                $a_city = translate($a["city"]); 
     3139                $b_city = translate($b["city"]); 
     3140                $a_subcity = translate($a["subcity"]); 
     3141                $b_subcity = translate($b["subcity"]); 
     3142                if ( $a_continent == $b_continent && $a_city == $b_city ) 
     3143                        return strnatcasecmp($a_subcity, $b_subcity); 
     3144                elseif ( $a_continent == $b_continent ) 
     3145                        return strnatcasecmp($a_city, $b_city); 
    31303146                else 
    3131                         return strnatcasecmp($a["continent"], $b["continent"]); 
     3147                        return strnatcasecmp($a_continent, $b_continent); 
    31323148                ')); 
    31333149         
    31343150        $structure = '';