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(
