Ticket #464: fix_languages.2.patch

File fix_languages.2.patch, 8.7 kB (added by momo360modena, 10 months ago)
  • includes/mu.php

    old new  
    274274        <?php 
    275275} 
    276276add_action('wpmueditblogaction', 'xmlrpc_active_setting'); 
    277 ?> 
     277 
     278function format_code_lang( $code = '' ) { 
     279        $code = strtolower(substr($code, 0, 2)); 
     280        $lang_codes = array('aa' => 'Afar',  'ab' => 'Abkhazian',  'af' => 'Afrikaans',  'ak' => 'Akan',  'sq' => 'Albanian',  'am' => 'Amharic',  'ar' => 'Arabic',  'an' => 'Aragonese',  'hy' => 'Armenian',  'as' => 'Assamese',  'av' => 'Avaric',  'ae' => 'Avestan',  'ay' => 'Aymara',  'az' => 'Azerbaijani',  'ba' => 'Bashkir',  'bm' => 'Bambara',  'eu' => 'Basque',  'be' => 'Belarusian',  'bn' => 'Bengali',  'bh' => 'Bihari',  'bi' => 'Bislama',  'bs' => 'Bosnian',  'br' => 'Breton',  'bg' => 'Bulgarian',  'my' => 'Burmese',  'ca' => 'Catalan; Valencian',  'ch' => 'Chamorro',  'ce' => 'Chechen',  'zh' => 'Chinese',  'cu' => 'Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic',  'cv' => 'Chuvash',  'kw' => 'Cornish',  'co' => 'Corsican',  'cr' => 'Cree',  'cs' => 'Czech',  'da' => 'Danish',  'dv' => 'Divehi; Dhivehi; Maldivian',  'nl' => 'Dutch; Flemish',  'dz' => 'Dzongkha',  'en' => 'English',  'eo' => 'Esperanto',  'et' => 'Estonian',  'ee' => 'Ewe',  'fo' => 'Faroese',  'fj' => 'Fijian',  'fi' => 'Finnish',  'fr' => 'French',  'fy' => 'Western Frisian',  'ff' => 'Fulah',  'ka' => 'Georgian',  'de' => 'German',  'gd' => 'Gaelic; Scottish Gaelic',  'ga' => 'Irish',  'gl' => 'Galician',  'gv' => 'Manx',  'el' => 'Greek, Modern',  'gn' => 'Guarani',  'gu' => 'Gujarati',  'ht' => 'Haitian; Haitian Creole',  'ha' => 'Hausa',  'he' => 'Hebrew',  'hz' => 'Herero',  'hi' => 'Hindi',  'ho' => 'Hiri Motu',  'hu' => 'Hungarian',  'ig' => 'Igbo',  'is' => 'Icelandic',  'io' => 'Ido',  'ii' => 'Sichuan Yi',  'iu' => 'Inuktitut',  'ie' => 'Interlingue',  'ia' => 'Interlingua (International Auxiliary Language Association)',  'id' => 'Indonesian',  'ik' => 'Inupiaq',  'it' => 'Italian',  'jv' => 'Javanese',  'ja' => 'Japanese',  'kl' => 'Kalaallisut; Greenlandic',  'kn' => 'Kannada',  'ks' => 'Kashmiri',  'kr' => 'Kanuri',  'kk' => 'Kazakh',  'km' => 'Central Khmer',  'ki' => 'Kikuyu; Gikuyu',  'rw' => 'Kinyarwanda',  'ky' => 'Kirghiz; Kyrgyz',  'kv' => 'Komi',  'kg' => 'Kongo',  'ko' => 'Korean',  'kj' => 'Kuanyama; Kwanyama',  'ku' => 'Kurdish',  'lo' => 'Lao',  'la' => 'Latin',  'lv' => 'Latvian',  'li' => 'Limburgan; Limburger; Limburgish',  'ln' => 'Lingala',  'lt' => 'Lithuanian',  'lb' => 'Luxembourgish; Letzeburgesch',  'lu' => 'Luba-Katanga',  'lg' => 'Ganda',  'mk' => 'Macedonian',  'mh' => 'Marshallese',  'ml' => 'Malayalam',  'mi' => 'Maori',  'mr' => 'Marathi',  'ms' => 'Malay',  'mg' => 'Malagasy',  'mt' => 'Maltese',  'mo' => 'Moldavian',  'mn' => 'Mongolian',  'na' => 'Nauru',  'nv' => 'Navajo; Navaho',  'nr' => 'Ndebele, South; South Ndebele',  'nd' => 'Ndebele, North; North Ndebele',  'ng' => 'Ndonga',  'ne' => 'Nepali',  'nn' => 'Norwegian Nynorsk; Nynorsk, Norwegian',  'nb' => 'Bokmål, Norwegian, Norwegian Bokmål',  'no' => 'Norwegian',  'ny' => 'Chichewa; Chewa; Nyanja',  'oc' => 'Occitan, Provençal',  'oj' => 'Ojibwa',  'or' => 'Oriya',  'om' => 'Oromo',  'os' => 'Ossetian; Ossetic',  'pa' => 'Panjabi; Punjabi',  'fa' => 'Persian',  'pi' => 'Pali',  'pl' => 'Polish',  'pt' => 'Portuguese',  'ps' => 'Pushto',  'qu' => 'Quechua',  'rm' => 'Romansh',  'ro' => 'Romanian',  'rn' => 'Rundi',  'ru' => 'Russian',  'sg' => 'Sango',  'sa' => 'Sanskrit',  'sr' => 'Serbian',  'hr' => 'Croatian',  'si' => 'Sinhala; Sinhalese',  'sk' => 'Slovak',  'sl' => 'Slovenian',  'se' => 'Northern Sami',  'sm' => 'Samoan',  'sn' => 'Shona',  'sd' => 'Sindhi',  'so' => 'Somali',  'st' => 'Sotho, Southern',  'es' => 'Spanish; Castilian',  'sc' => 'Sardinian',  'ss' => 'Swati',  'su' => 'Sundanese',  'sw' => 'Swahili',  'sv' => 'Swedish',  'ty' => 'Tahitian',  'ta' => 'Tamil',  'tt' => 'Tatar',  'te' => 'Telugu',  'tg' => 'Tajik',  'tl' => 'Tagalog',  'th' => 'Thai',  'bo' => 'Tibetan',  'ti' => 'Tigrinya',  'to' => 'Tonga (Tonga Islands)',  'tn' => 'Tswana',  'ts' => 'Tsonga',  'tk' => 'Turkmen',  'tr' => 'Turkish',  'tw' => 'Twi',  'ug' => 'Uighur; Uyghur',  'uk' => 'Ukrainian',  'ur' => 'Urdu',  'uz' => 'Uzbek',  've' => 'Venda',  'vi' => 'Vietnamese',  'vo' => 'Volapük',  'cy' => 'Welsh',  'wa' => 'Walloon',  'wo' => 'Wolof',  'xh' => 'Xhosa',  'yi' => 'Yiddish',  'yo' => 'Yoruba',  'za' => 'Zhuang; Chuang',  'zu' => 'Zulu'); 
     281        $lang_codes = apply_filters('lang_codes', $lang_codes); 
     282        return strtr( $code, $lang_codes ); 
     283
     284?> 
  • options-general.php

    old new  
    4040</tr> 
    4141 
    4242<?php 
    43 $lang_files = glob( ABSPATH . LANGDIR . "/*" ); 
    44 $lang = get_option( "WPLANG" ); 
     43$lang_files = glob( ABSPATH . LANGDIR . '/*.mo' ); 
     44$lang = get_option('WPLANG'); 
    4545 
    46 if( is_array( $lang_files ) && count($lang_files) >= 1 ) { 
     46if( is_array( $lang_files ) ) { 
    4747        ?> 
    4848        <tr valign="top">  
    49         <th width="33%" scope="row"><?php _e('Language:') ?></th>  
    50         <td><select name="WPLANG" id="WPLANG"> 
     49                <th width="33%" scope="row"><?php _e('Blog language:') ?></th>  
     50                <td> 
     51                        <select name="WPLANG" id="WPLANG"> 
     52                                <?php 
     53                                echo '<option value=""'.((empty($lang)) ? 'selected="selected"': '').'>'.__('English').'</option>'; 
     54                                foreach ( (array) $lang_files as $key => $val ) { 
     55                                        $code_lang = basename( $val, '.mo' ); 
     56                                        echo '<option value="'.$code_lang.'"'.(($lang == $code_lang) ? ' selected="selected"' : '').'> '.format_code_lang($code_lang).'</option>'; 
     57                                } 
     58                                ?> 
     59                        </select> 
     60                </td> 
     61        </tr>  
    5162        <?php 
    52         echo "<option value=''>Default</option>"; 
    53         while( list( $key, $val ) = each( $lang_files ) ) {  
    54                 $l = basename( $val, ".mo" ); 
    55                 echo "<option value='$l'"; 
    56                 echo $lang == $l ? " selected" : ""; 
    57                 echo "> $l</option>"; 
    58         } 
    59         ?> 
    60                 </select></td> 
    61                 </tr>  
    62                 <?php 
    6363} // languages 
    6464?> 
    6565</table>  
  • wpmu-edit.php

    old new  
    2121        case "siteoptions": 
    2222                check_admin_referer('siteoptions'); 
    2323                if( empty( $_POST ) ) 
    24                         die( "You probably need to go back to the <a href='wpmu-options.php'>options page</a>" ); 
     24                        wp_die( __("You probably need to go back to the <a href='wpmu-options.php'>options page</a>") ); 
    2525 
    2626                update_site_option( "WPLANG", $_POST['WPLANG'] ); 
    2727                if( is_email( $_POST['admin_email'] ) ) 
     
    130130        case "updateblog": 
    131131                check_admin_referer('editblog'); 
    132132                if( empty( $_POST ) ) 
    133                         die( "You probably need to go back to the <a href='wpmu-blogs.php'>blogs page</a>" ); 
     133                        wp_die( __("You probably need to go back to the <a href='wpmu-blogs.php'>blogs page</a>") ); 
    134134 
    135135                // themes 
    136136                if( is_array( $_POST['theme'] ) ) { 
  • wpmu-options.php

    old new  
    163163                        <legend><?php _e('Site Wide Settings <em>(These settings may be overridden by blog owners)</em>') ?></legend>  
    164164                        <table width="100%" cellspacing="2" cellpadding="5" class="editform">  
    165165                                <?php 
    166                                 $lang_files = glob( ABSPATH . LANGDIR . "/*.mo" ); 
    167                                 $lang = get_site_option( "WPLANG" ); 
     166                                $lang_files = glob( ABSPATH . LANGDIR . '/*.mo' ); 
     167                                $lang = get_site_option('WPLANG'); 
    168168                                if( is_array( $lang_files ) ) { 
    169169                                        ?> 
    170170                                        <tr valign="top">  
     
    172172                                                <td> 
    173173                                                        <select name="WPLANG" id="WPLANG"> 
    174174                                                        <?php 
    175                                                         echo "<option value=''>".__('Default')."</option>"; 
     175                                                        echo '<option value=""'.((empty($lang)) ? ' selected="selected"' : '').'>'.__('English')."</option>"; 
    176176                                                        foreach ( (array) $lang_files as $key => $val ) { 
    177                                                                 $l = basename( $val, ".mo" ); 
    178                                                                 echo "<option value='$l'"; 
    179                                                                 echo $lang == $l ? " selected='selected'" : ""; 
    180                                                                 echo "> $l</option>"; 
     177                                                                $code_lang = basename( $val, '.mo' ); 
     178                                                                echo '<option value="'.$code_lang.'"'.(($lang == $code_lang) ? ' selected="selected"' : '').'> '.format_code_lang($code_lang).'</option>'; 
    181179                                                        } 
    182180                                                        ?> 
    183181                                                        </select> 
     
    198196                                </tr> 
    199197                                <?php 
    200198                                $menu_perms = get_site_option( "menu_items" ); 
    201                                 $menu_items = array( "plugins" ); 
     199                                $menu_items = array('plugins'); 
    202200                                foreach ( (array) $menu_items as $key => $val ) { 
    203201                                        $checked = ( $menu_perms[$val] == '1' ) ? ' checked="checked"' : ''; 
    204202                                        echo "<tr><th scope='row'>" . ucfirst( $val ) . "</th><td><input type='checkbox' name='menu_items[" . $val . "]' value='1'" . $checked . " /></td></tr>";