cvs diff -u -p translate.inc 
Index: translate.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/l10n_server/l10n_community/Attic/translate.inc,v
retrieving revision 1.1.2.7.2.25
diff -u -p -r1.1.2.7.2.25 translate.inc
--- translate.inc	6 Nov 2009 16:00:57 -0000	1.1.2.7.2.25
+++ translate.inc	20 Nov 2009 16:20:07 -0000
@@ -254,6 +254,7 @@ function l10n_community_translate_view($
  *   Community permission level of user watching the page.
  */
 function l10n_community_translate_form(&$form_state, $strings = array(), $language = NULL, $filters = array(), $perm = L10N_PERM_SUGGEST) {
+  global $user;
 
   if (isset($_GET['page'])) {
     // Ensure that we keep all filter values, even the page number, so
@@ -412,6 +413,10 @@ function l10n_community_translate_form(&
         '#type' => 'value',
         '#value' => TRUE
       );
+      $form[$string->sid]['translation']['uid_entered'] = array(
+        '#type' => 'value',
+        '#value' => $user->uid
+      );
     }
     else {
       // User with full privileges, offer option to submit suggestion.
@@ -419,6 +424,31 @@ function l10n_community_translate_form(&
         '#title' => t('Suggestion for discussion'),
         '#type' => 'checkbox',
       );
+      if ($string->uid_entered) {
+        $curr_entered = user_load(array('uid' => $string->uid_entered));
+        $options = array($curr_entered->uid => t('@name (Current)', array('@name' => $curr_entered->name)));
+      }
+      else {
+        $options = array();
+      }
+      $result = db_query("SELECT t.uid_entered, u.name FROM {l10n_community_translation} t INNER JOIN {users} u ON u.uid = t.uid_entered WHERE t.language = '%s' AND t.sid = %d AND t.is_active = 1 AND t.is_suggestion = 1 ORDER BY t.time_entered", $language->language, $string->sid);
+      while ($suggestion = db_fetch_object($result)) {
+        $options += array($suggestion->uid_entered => t('@name (Suggestion)', array('@name' => $suggestion->name)));
+      }
+      $options += array($user->uid => t('@name (Yourself)', array('@name' => $user->name)));
+      if (count($options) > 1) {
+        $form[$string->sid]['translation']['uid_entered'] = array(
+          '#title' => t('Translator'),
+          '#type' => 'select',
+          '#options' => $options,
+        );
+      }
+      else {
+        $form[$string->sid]['translation']['uid_entered'] = array(
+          '#type' => 'value',
+          '#value' => $user->uid,
+        );
+      }
     }
   }
 
@@ -457,7 +487,6 @@ function l10n_community_translate_form(&
  * Save translations entered in the web form.
  */
 function l10n_community_translate_form_submit($form, &$form_state) {
-  global $user;
 
   $inserted = $updated = $unchanged = $suggested = $duplicates = $ignored = 0;
 
@@ -494,7 +523,7 @@ function l10n_community_translate_form_s
 
       // We have some string to save.
       l10n_community_target_save(
-        $sid, $text, $form_state['values']['langcode'], $user->uid,
+        $sid, $text, $form_state['values']['langcode'], $item['translation']['uid_entered'],
         ($item['translation']['is_suggestion'] == TRUE),
         $inserted, $updated, $unchanged, $suggested
       );

