Index: modules/system/system.admin.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/system/system.admin.inc,v retrieving revision 1.276 diff -u -p -r1.276 system.admin.inc --- modules/system/system.admin.inc 1 May 2010 08:12:23 -0000 1.276 +++ modules/system/system.admin.inc 5 May 2010 08:34:22 -0000 @@ -1938,7 +1938,7 @@ function system_date_time_settings() { $choices = array(); foreach ($formats as $f => $format) { - $choices[$f] = format_date(REQUEST_TIME, 'custom', $f); + $choices[$f] = system_date_time_get_ui_text($format); } reset($formats); $default = variable_get('date_format_' . $type, key($formats)); @@ -1975,6 +1975,42 @@ function system_date_time_settings() { } /** + * Return descriptive text to disambiguate date format choices. + */ +function system_date_time_get_ui_text($format = array()) { + if (isset($format['format'])) { + $format_text = format_date(REQUEST_TIME, 'custom', $format['format']); + // Only add descriptive UI text for short formats. + if ($format['type'] != 'long') { + // Array of human-readable descriptions for replacement of date format elements. + $date_formats_transform = array( + 'a' => ' ' . t('am/pm'), + 'd' => t('DD'), + 'D' => date('D'), + 'F' => date('F'), + 'g' => t('12h'), + 'G' => t('24h'), + 'h' => t('12hh'), + 'H' => t('24hh'), + 'i' => t('mm'), + 'j' => t('D'), + 'm' => t('MM'), + 'n' => t('M'), + 's' => t('ss'), + 'y' => t('YY'), + 'Y' => t('YYYY'), + ); + // Append descriptive text. + $format_text .= ' (' . strtr($format['format'], $date_formats_transform) . ')'; + } + return $format_text; + } + else { // No format supplied. + return FALSE; + } +} + +/** * Returns HTML for the date settings form. * * @param $variables @@ -2058,7 +2094,7 @@ function system_add_date_format_type_for } $choices = array(); foreach ($formats as $f => $format) { - $choices[$f] = format_date(REQUEST_TIME, 'custom', $f); + $choices[$f] = system_date_time_get_ui_text($format); } // Show date format select list. $form['date_format'] = array(