Ticket #7753: i18n.patch
File i18n.patch, 3.0 KB (added by , 17 years ago) |
---|
-
functions.php
46 46 if ( -1 == $i || false == $i ) 47 47 $i = 0; 48 48 49 if ( !empty( $wp_locale->month ) && !empty( $wp_locale->weekday ) && $translate ) { 50 $datemonth = $wp_locale->get_month( date( 'm', $i ) ); 51 $datemonth_abbrev = $wp_locale->get_month_abbrev( $datemonth ); 52 $dateweekday = $wp_locale->get_weekday( date( 'w', $i ) ); 53 $dateweekday_abbrev = $wp_locale->get_weekday_abbrev( $dateweekday ); 54 $datemeridiem = $wp_locale->get_meridiem( date( 'a', $i ) ); 55 $datemeridiem_capital = $wp_locale->get_meridiem( date( 'A', $i ) ); 56 $dateformatstring = ' ' . $dateformatstring; 57 $dateformatstring = preg_replace( "/([^\\\])D/", "\\1" . backslashit( $dateweekday_abbrev ), $dateformatstring ); 58 $dateformatstring = preg_replace( "/([^\\\])F/", "\\1" . backslashit( $datemonth ), $dateformatstring ); 59 $dateformatstring = preg_replace( "/([^\\\])l/", "\\1" . backslashit( $dateweekday ), $dateformatstring ); 60 $dateformatstring = preg_replace( "/([^\\\])M/", "\\1" . backslashit( $datemonth_abbrev ), $dateformatstring ); 61 $dateformatstring = preg_replace( "/([^\\\])a/", "\\1" . backslashit( $datemeridiem ), $dateformatstring ); 62 $dateformatstring = preg_replace( "/([^\\\])A/", "\\1" . backslashit( $datemeridiem_capital ), $dateformatstring ); 49 if ( $translate ) // localizing names or calendar system 50 $j = date_i18n( $dateformatstring, $i ); 51 else 52 $j = @date( $dateformatstring, $i ); 63 53 64 $dateformatstring = substr( $dateformatstring, 1, strlen( $dateformatstring ) -1 );65 }66 $j = @date( $dateformatstring, $i );67 68 54 /* 69 55 if ( !$j ) // for debug purposes 70 56 echo $i." ".$mysqlstring; … … 118 104 // Sanity check for PHP 5.1.0- 119 105 if ( -1 == $i ) 120 106 $i = false; 107 108 // Let the user convert date from Gregorian to localized calendar system 109 $j = apply_filters( 'pre_date_i18n', $dateformatstring, $i ); 110 if ($j !== $dateformatstring) 111 return $j; 121 112 122 113 if ( ( !empty( $wp_locale->month ) ) && ( !empty( $wp_locale->weekday ) ) ) { 123 114 $datemonth = $wp_locale->get_month( date( 'm', $i ) ); … … 136 127 137 128 $dateformatstring = substr( $dateformatstring, 1, strlen( $dateformatstring ) -1 ); 138 129 } 139 $j = @date( $dateformatstring, $i ); 140 return $j; 130 $j = @date( $dateformatstring, $i ); 131 132 // Let the user translate digits from latin to localized language 133 return apply_filters( 'date_i18n', $j); 141 134 } 142 135 143 136 /** … … 154 147 // let the user override the precision only 155 148 $decimals = ( is_null( $decimals ) ) ? $wp_locale->number_format['decimals'] : intval( $decimals ); 156 149 157 return number_format( $number, $decimals, $wp_locale->number_format['decimal_point'], $wp_locale->number_format['thousands_sep'] ); 150 $num = number_format( $number, $decimals, $wp_locale->number_format['decimal_point'], $wp_locale->number_format['thousands_sep'] ); 151 152 // let the user translate digits from latin to localized language 153 return apply_filters( 'number_format_i18n', $num ); 158 154 } 159 155 160 156 /**