Index: signup.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/signup/signup.module,v
retrieving revision 1.168.2.28
diff -u -p -r1.168.2.28 signup.module
--- signup.module	18 Dec 2008 01:01:00 -0000	1.168.2.28
+++ signup.module	23 Dec 2008 21:14:16 -0000
@@ -2457,6 +2457,12 @@ function theme_signup_email_token_custom
  */
 function theme_signup_custom_data_email($data) {
   $output = '';
+  // All of the possible array key values should already be translated as
+  // string literals in theme_signup_user_form() via the #title attributes, so
+  // passing a variable to t() is actually safe here.  However, to avoid
+  // warnings when extracting strings, "hide" the call to t() by using a
+  // variable to hold the function name.
+  $tr = 't';
   // Loop through each first level element.
   foreach ($data as $key => $value) {
     if (is_array($value)) {
@@ -2465,7 +2471,7 @@ function theme_signup_custom_data_email(
       $output .= "\n\r". call_user_func(__FUNCTION__, $value) ."\n\r";
     }
     else {
-      $output .= $key .': '. $value ."\n\r";
+      $output .= $tr($key) .': '. $value ."\n\r";
     }
   }
   return $output;
@@ -2509,6 +2515,12 @@ function theme_signup_custom_data_table(
  */
 function theme_signup_custom_data_rows($data) {
   $rows = array();
+  // All of the possible array key values should already be translated as
+  // string literals in theme_signup_user_form() via the #title attributes, so
+  // passing a variable to t() is actually safe here.  However, to avoid
+  // warnings when extracting strings, "hide" the call to t() by using a
+  // variable to hold the function name.
+  $tr = 't';
   // Loop through each first level element.
   foreach ($data as $key => $value) {
     if (is_array($value)) {
@@ -2517,7 +2529,7 @@ function theme_signup_custom_data_rows($
       $rows += call_user_func(__FUNCTION__, $value);
     }
     else {
-      $rows[] = array($key .':', check_plain($value));
+      $rows[] = array($tr($key) .':', check_plain($value));
     }
   }
   return $rows;
@@ -2540,6 +2552,12 @@ function theme_signup_custom_data_rows($
  */
 function theme_signup_custom_data($data) {
   $output = '';
+  // All of the possible array key values should already be translated as
+  // string literals in theme_signup_user_form() via the #title attributes, so
+  // passing a variable to t() is actually safe here.  However, to avoid
+  // warnings when extracting strings, "hide" the call to t() by using a
+  // variable to hold the function name.
+  $tr = 't';
   // Loop through each first level element.
   foreach ($data as $key => $value) {
     $output .= '<div id="'. signup_id_safe($key) .'">';
@@ -2549,7 +2567,7 @@ function theme_signup_custom_data($data)
       $output .= call_user_func(__FUNCTION__, $value);
     }
     else {
-      $output .= $key .': '. check_plain($value);
+      $output .= $tr($key) .': '. check_plain($value);
     }
     $output .= "</div>\n";
   }
Index: theme/signup.theme
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/signup/theme/Attic/signup.theme,v
retrieving revision 1.18.2.2
diff -u -p -r1.18.2.2 signup.theme
--- theme/signup.theme	13 Nov 2008 19:48:26 -0000	1.18.2.2
+++ theme/signup.theme	23 Dec 2008 21:14:16 -0000
@@ -26,12 +26,14 @@ function theme_signup_user_schedule($nod
  * 'Name' field in this function, you will probably have to implement a
  * version of theme_signup_email_token_anonymous_username() for your site.
  *
- * In order for the form to be rendered properly, the name of the form
- * element must be $form['signup_form_data']['NameOfDataField'], where
- * NameOfDataField is replaced with the actual name of the data field.
- * We suggest that the displayed name of the field (the '#title'
- * property) be the same as the name of the data field, but it's not
- * required.  See below for examples.
+ * In order for the form to be rendered properly and for the custom
+ * fields to be fully translatable when printed in other parts of the
+ * Signup module (displayed in signup lists, emails, etc), the name of
+ * the form element must be $form['signup_form_data']['NameOfDataField'],
+ * where NameOfDataField is replaced with the actual name of the data
+ * field.  For translation to work, the displayed name of the field
+ * (the '#title' property) be the same as the name of the data field,
+ * but wrapped in t().  See below for examples.
  *
  * Fieldsets are not currently supported in this form.  Any
  * '#default_value' will be filled in by default when the form is
