wordpress-mu 2.6.5 多語系修正 plugins

以下程式碼是修補wordpress-mu對zh語系檔的設定,存成*.php放在mu-plugins資料夾下即可。


<?php
function fixed_mu_dropdown_languages( $output, $lang_files, $current ) {
$flag = false;
$output = array();

foreach ( (array) $lang_files as $val ) {
$code_lang = basename( $val, '.mo' );

if ( $code_lang == 'en_US' ) { // American English
$flag = true;
$ae = __('American English');
$output[$ae] = '<option value="'.$code_lang.'"'.(($current == $code_lang) ? ' selected="selected"' : '').'> '.$ae.'</option>';
} elseif ( $code_lang == 'en_GB' ) { // British English
$flag = true;
$be = __('British English');
$output[$be] = '<option value="'.$code_lang.'"'.(($current == $code_lang) ? ' selected="selected"' : '').'> '.$be.'</option>';
} elseif ( $code_lang == 'zh_CN' ) { // 簡體中文
$ce = 'Simple Chinese';
$output[$ce] = '<option value="'.$code_lang.'"'.(($current == $code_lang) ? ' selected="selected"' : '').'>'.$ce.'</option>';
} elseif ( $code_lang == 'zh_TW' ) { // 繁體中文
$de = 'Traditional Chinese';
$output[$de] = '<option value="'.$code_lang.'"'.(($current == $code_lang) ? ' selected="selected"' : '').'>'.$de.'</option>';
} else {
$translated = format_code_lang($code_lang);
$output[$translated] = '<option value="'.$code_lang.'"'.(($current == $code_lang) ? ' selected="selected"' : '').'> '.$translated.'</option>';
}

}

if ( $flag === false ) { // WordPress english
$output[] = '<option value=""'.((empty($current)) ? ' selected="selected"' : '').'>'.__('English')."</option>";
}

// Order by name
uksort($output, 'strnatcasecmp');

// $output = apply_filters('mu_dropdown_languages', $output, $lang_files, $current);
// echo implode("\n\t", $output);
return $output;
}

add_filter( 'mu_dropdown_languages', 'fixed_mu_dropdown_languages', 100, 3 );
?>

0 意見: