Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.632
diff -u -p -r1.632 common.inc
--- includes/common.inc	18 Apr 2007 20:35:45 -0000	1.632
+++ includes/common.inc	19 Apr 2007 10:36:01 -0000
@@ -1074,17 +1074,22 @@ function format_date($timestamp, $type =
 
   switch ($type) {
     case 'small':
-      $format = variable_get('date_format_short', 'm/d/Y - H:i');
+      $format = variable_get('date_format_short', '!dateshort m/d/Y - H:i');
       break;
     case 'large':
-      $format = variable_get('date_format_long', 'l, F j, Y - H:i');
+      $format = variable_get('date_format_long', '!datelong l, F j, Y - H:i');
       break;
     case 'custom':
       // No change to format
       break;
     case 'medium':
     default:
-      $format = variable_get('date_format_medium', 'D, m/d/Y - H:i');
+      $format = variable_get('date_format_medium', '!datemedium D, m/d/Y - H:i');
+  }
+  
+  // If localization hint found, translate date format and remove the hint.
+  if (strpos($format, '!date') === 0) {
+    $format = trim(str_replace(array('!dateshort', '!datemedium', '!datelong'), '', t($format)));
   }
 
   $max = strlen($format);
Index: modules/system/system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.module,v
retrieving revision 1.469
diff -u -p -r1.469 system.module
--- modules/system/system.module	18 Apr 2007 20:42:23 -0000	1.469
+++ modules/system/system.module	19 Apr 2007 10:36:02 -0000
@@ -810,11 +810,11 @@ function system_date_time_settings() {
   $zones = _system_zonelist();
 
   // Date settings: possible date formats
-  $dateshort = array('Y-m-d H:i', 'm/d/Y - H:i', 'd/m/Y - H:i', 'Y/m/d - H:i',
+  $dateshort = array('m/d/Y - H:i', 'Y-m-d H:i', 'd/m/Y - H:i', 'Y/m/d - H:i',
            'd.m.Y - H:i', 'm/d/Y - g:ia', 'd/m/Y - g:ia', 'Y/m/d - g:ia',
            'M j Y - H:i', 'j M Y - H:i', 'Y M j - H:i',
            'M j Y - g:ia', 'j M Y - g:ia', 'Y M j - g:ia');
-  $datemedium = array('D, Y-m-d H:i', 'D, m/d/Y - H:i', 'D, d/m/Y - H:i',
+  $datemedium = array('D, m/d/Y - H:i', 'D, Y-m-d H:i', 'D, d/m/Y - H:i',
           'D, Y/m/d - H:i', 'F j, Y - H:i', 'j F, Y - H:i', 'Y, F j - H:i',
           'D, m/d/Y - g:ia', 'D, d/m/Y - g:ia', 'D, Y/m/d - g:ia',
           'F j, Y - g:ia', 'j F Y - g:ia', 'Y, F j - g:ia', 'j. F Y - G:i');
@@ -822,12 +822,16 @@ function system_date_time_settings() {
         'l, F j, Y - g:ia', 'l, j F Y - g:ia', 'l, Y,  F j - g:ia', 'l, j. F Y - G:i');
 
   // Date settings: construct choices for user
+  $languagenote = ' ('. t('language dependent') .')';
+  $dateshortchoices = array('!dateshort m/d/Y - H:i' => format_date(time(), 'custom', '!dateshort m/d/Y - H:i'). $languagenote);
   foreach ($dateshort as $f) {
     $dateshortchoices[$f] = format_date(time(), 'custom', $f);
   }
+  $datemediumchoices = array('!datemedium D, m/d/Y - H:i' => format_date(time(), 'custom', '!datemedium D, m/d/Y - H:i'). $languagenote);
   foreach ($datemedium as $f) {
     $datemediumchoices[$f] = format_date(time(), 'custom', $f);
   }
+  $datelongchoices = array('!datelong l, F j, Y - H:i' => format_date(time(), 'custom', '!datelong l, F j, Y - H:i'). $languagenote);
   foreach ($datelong as $f) {
     $datelongchoices[$f] = format_date(time(), 'custom', $f);
   }
@@ -851,7 +855,7 @@ function system_date_time_settings() {
   $form['date_format_short'] = array(
     '#type' => 'select',
     '#title' => t('Short date format'),
-    '#default_value' => variable_get('date_format_short', $dateshort[1]),
+    '#default_value' => variable_get('date_format_short', array_shift(array_keys($dateshortchoices))),
     '#options' => $dateshortchoices,
     '#description' => t('The short format of date display.')
   );
@@ -859,7 +863,7 @@ function system_date_time_settings() {
   $form['date_format_medium'] = array(
     '#type' => 'select',
     '#title' => t('Medium date format'),
-    '#default_value' => variable_get('date_format_medium', $datemedium[1]),
+    '#default_value' => variable_get('date_format_medium', array_shift(array_keys($datemediumchoices))),
     '#options' => $datemediumchoices,
     '#description' => t('The medium sized date display.')
   );
@@ -867,7 +871,7 @@ function system_date_time_settings() {
   $form['date_format_long'] = array(
     '#type' => 'select',
     '#title' => t('Long date format'),
-    '#default_value' => variable_get('date_format_long', $datelong[0]),
+    '#default_value' => variable_get('date_format_long', array_shift(array_keys($datelongchoices))),
     '#options' => $datelongchoices,
     '#description' => t('Longer date format used for detailed display.')
   );
