Index: themes/garland/template.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/template.php,v
retrieving revision 1.10
diff -u -F^f -r1.10 template.php
--- themes/garland/template.php	27 Apr 2007 07:42:54 -0000	1.10
+++ themes/garland/template.php	23 May 2007 21:41:11 -0000
@@ -83,3 +83,19 @@ function phptemplate_menu_local_tasks() 
 
   return $output;
 }
+
+function phptemplate_comment_submitted($comment) {
+  return t('!datetime — !username',
+    array(
+      '!username' => theme('username', $comment),
+      '!datetime' => format_date($comment->timestamp)
+    ));
+}
+
+function phptemplate_node_submitted($node) {
+  return t('!datetime — !username',
+    array(
+      '!username' => theme('username', $node),
+      '!datetime' => format_date($node->created),
+    ));
+}
Index: themes/garland/node.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/node.tpl.php,v
retrieving revision 1.1
diff -u -F^f -r1.1 node.tpl.php
--- themes/garland/node.tpl.php	29 Oct 2006 13:17:38 -0000	1.1
+++ themes/garland/node.tpl.php	23 May 2007 21:41:11 -0000
@@ -9,7 +9,7 @@
 <?php endif; ?>
 
   <?php if ($submitted): ?>
-    <span class="submitted"><?php print t('!date — !username', array('!username' => theme('username', $node), '!date' => format_date($node->created))); ?></span>
+    <span class="submitted"><?php print $submitted; ?></span>
   <?php endif; ?>
 
   <div class="content">
@@ -28,4 +28,4 @@
     <?php endif; ?>
   </div>
 
-</div>
\ No newline at end of file
+</div>
Index: themes/garland/comment.tpl.php
===================================================================
RCS file: /cvs/drupal/drupal/themes/garland/comment.tpl.php,v
retrieving revision 1.6
diff -u -F^f -r1.6 comment.tpl.php
--- themes/garland/comment.tpl.php	1 Apr 2007 05:04:20 -0000	1.6
+++ themes/garland/comment.tpl.php	23 May 2007 21:41:11 -0000
@@ -2,7 +2,7 @@
 
   <div class="clear-block">
   <?php if ($submitted): ?>
-    <span class="submitted"><?php print t('!date — !username', array('!username' => theme('username', $comment), '!date' => format_date($comment->timestamp))); ?></span>
+    <span class="submitted"><?php print $submitted; ?></span>
   <?php endif; ?>
 
   <?php if ($comment->new) : ?>
Index: includes/theme.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/theme.inc,v
retrieving revision 1.356
diff -u -F^f -r1.356 theme.inc
--- includes/theme.inc	22 May 2007 19:56:00 -0000	1.356
+++ includes/theme.inc	23 May 2007 21:41:12 -0000
@@ -1586,7 +1586,7 @@ function template_preprocess_node(&$vari
 
   // Display info only on certain node types.
   if (theme_get_setting('toggle_node_info_' . $node->type)) {
-    $variables['submitted'] = t('Submitted by !a on @b.', array('!a' => theme('username', $node), '@b' => format_date($node->created)));
+    $variables['submitted'] = theme('node_submitted', $node);
     $variables['picture'] = theme_get_setting('toggle_node_user_picture') ? theme('user_picture', $node) : '';
   }
   else {
@@ -1614,3 +1614,4 @@ function template_preprocess_block(&$var
   $variables['template_files'][] = 'block-' . $variables['block']->module;
   $variables['template_files'][] = 'block-' . $variables['block']->module .'-'. $variables['block']->delta;
 }
+
Index: modules/comment/comment.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.module,v
retrieving revision 1.544
diff -u -F^f -r1.544 comment.module
--- modules/comment/comment.module	20 May 2007 07:30:03 -0000	1.544
+++ modules/comment/comment.module	23 May 2007 21:41:13 -0000
@@ -185,6 +185,9 @@ function comment_theme() {
     'comment_wrapper' => array(
       'arguments' => array('content' => NULL),
     ),
+    'comment_submitted' => array(
+      'arguments' => array('comment' => NULL),
+    ),
   );
 }
 
@@ -1838,9 +1841,7 @@ function template_preprocess_comment(&$v
   $variables['new']       = $comment->new ? t('new') : '';
   $variables['picture']   = theme_get_setting('toggle_comment_user_picture') ? theme('user_picture', $comment) : '';
   $variables['signature'] = $comment->signature;
-  $variables['submitted'] = t('Submitted by !a on @b.',
-                      array('!a' => theme('username', $comment),
-                            '@b' => format_date($comment->timestamp)));
+  $variables['submitted'] = theme('comment_submitted', $comment);
   $variables['title']     = l($comment->subject, $_GET['q'], array('fragment' => "comment-$comment->cid"));
 }
 
@@ -1901,6 +1902,17 @@ function theme_comment_wrapper($content)
   return '<div id="comments">'. $content .'</div>';
 }
 
+/**
+ * Make the submitted variable themable
+ */
+function theme_comment_submitted($comment) {
+  return t('Submitted by !username on @datetime.',
+    array(
+      '!username' => theme('username', $comment),
+      '@datetime' => format_date($comment->timestamp)
+    ));
+}
+
 function _comment_delete_thread($comment) {
   if (!is_object($comment) || !is_numeric($comment->cid)) {
     watchdog('content', 'Can not delete non-existent comment.', WATCHDOG_WARNING);
Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.819
diff -u -F^f -r1.819 node.module
--- modules/node/node.module	23 May 2007 07:55:08 -0000	1.819
+++ modules/node/node.module	23 May 2007 21:41:15 -0000
@@ -74,6 +74,9 @@ function node_theme() {
     'node_log_message' => array(
       'arguments' => array('log' => NULL),
     ),
+    'node_submitted' => array(
+      'arguments' => array('node' => NULL),
+    ),
   );
 }
 
@@ -3094,3 +3097,14 @@ function node_forms() {
   }
   return $forms;
 }
+
+/**
+ * Format the "Submitted by username on date/time" for each node
+ */
+function theme_node_submitted($node) {
+  return t('Submitted by !username on @datetime',
+    array(
+      '!username' => theme('username', $node),
+      '@datetime' => format_date($node->created),
+    ));
+}
