Index: mailchimp.module
===================================================================
--- mailchimp.module	(revision 1352)
+++ mailchimp.module	(working copy)
@@ -24,7 +24,7 @@
       // wrap in a fieldset
       $form['mailchimp_lists'] = array(
         '#type' => 'fieldset',
-        '#title' => t('Newsletters')
+        '#title' => t(variable_get('mailchimp_user_settings_title', 'Newsletter Subscriptions'))
       );
       $form['mailchimp_lists'][] = mailchimp_subscribe_auth_form(NULL, $account, FALSE);
       return $form;
@@ -124,10 +124,10 @@
           '#prefix' => '<div class="mailchimp-newsletter-wrapper">',
           '#suffix' => '</div>'
         );
-
+        
         $form['wrapper'. $list->id]['mailchimp_list_'. $list->id] = array(
             '#type'           => 'checkbox',
-            '#title'          => t('Subscribe to the @newsletter newsletter', array('@newsletter' => $list->name)),
+            '#title'          => ($list->label) ? t($list->label) : t('Subscribe to the @newsletter newsletter', array('@newsletter' => $list->name)),
             '#default_value'  => $default_value,
             '#description'    => $list->description,
             '#attributes'     => array('class' => 'mailchimp-newsletter-checkbox-' . $list->id)
@@ -176,6 +176,8 @@
         '#value' => t('save settings'),
         '#weight' => 100
       );
+      
+      drupal_set_title(t(variable_get('mailchimp_user_settings_title', 'Newsletter Subscriptions')));
     }
   }
 
@@ -294,16 +296,17 @@
   $items['user/%user/mailchimp'] = array(
     'page callback' => 'drupal_get_form',
     'page arguments' => array('mailchimp_subscribe_auth_form', 1),
-    'title' => 'Newsletter Subscriptions',
+    'title callback' => 'mailchimp_user_settings_page_title',
     'type' => MENU_LOCAL_TASK,
     'access callback' => 'mailchimp_user_edit_access',
     'access arguments' => array(1),
-    'tab_parent' => 'user/%/edit'
+    'tab_parent' => 'user/%/edit',
+    'weight' => 10
   );
 
   $items['mailchimp/subscribe'] = array(
       'page callback' => 'mailchimp_subscribe_page',
-      'title' => 'Newsletter Subscription' ,
+      'title callback' => 'mailchimp_subscribe_page_title',
       'type' => MENU_NORMAL_ITEM,
       'access arguments' => array('access content'),
   );
@@ -316,7 +319,7 @@
   $items['mailchimp/unsubscribe'] = array(
       'page callback' => 'drupal_get_form',
       'page arguments' => array('mailchimp_unsubscribe_form'),
-      'title' => 'Newsletter Unsubscribe' ,
+      'title callback' => 'mailchimp_unsubscribe_page_title',
       'type' => MENU_CALLBACK,
       'access callback' => TRUE,
   );
@@ -408,7 +411,6 @@
         foreach ($lists as $list) {
           $saved_list = unserialize(variable_get('mailchimp_lists', NULL));
           $saved_list = $saved_list[$list['id']];
-
           $form['mailchimp_lists']['mailchimp_list_'. $list['id']] = array(
               '#type'       => 'fieldset',
               '#collapsible' => TRUE,
@@ -442,7 +444,14 @@
                 '#default_value'  => $saved_list->roles[$rid],
             );
           }
-
+          
+          $form['mailchimp_lists']['mailchimp_list_'. $list['id']]['label'] = array(
+              '#type'           => 'textfield',
+              '#title'          => t('List Label'),
+              '#default_value'  => ($saved_list->label) ? t($saved_list->label) : t('Subscribe to the @newsletter newsletter',  array('@newsletter' => $list['name'])),
+              '#description'    => t('Enter the text to display next to the checkbox for this list on the registration and user account settings pages.  If you have only one list enabled, this text will also act as the default title for the Mailchimp block (which can be further overridden in the block settings).')
+          );
+          
           $form['mailchimp_lists']['mailchimp_list_'. $list['id']]['description'] = array(
               '#type'           => 'textarea',
               '#title'          => t('List Description'),
@@ -513,6 +522,27 @@
             '#title'          => t('Unsubscription Failure Message'),
             '#default_value'  => variable_get('mailchimp_unsubscription_failure_message', t('We were unable to unsubscribe you at this time. Please try again later.'))
         );
+        
+        $form['mailchimp_subscribe_page_title'] = array(
+            '#type'           => 'textfield',
+            '#title'          => t('Subscribe page title'),
+            '#description'    => t('The page title to display on the !subscribe_page.', array('!subscribe_page' => l(t('Subscribe page'), 'mailchimp/subscribe'))),
+            '#default_value'  => t(variable_get('mailchimp_subscribe_page_title', 'Newsletter Subscription'))
+        );
+        
+        $form['mailchimp_unsubscribe_page_title'] = array(
+            '#type'           => 'textfield',
+            '#title'          => t('Unsubscribe page title'),
+            '#description'    => t('The page title to display on the !unsubscribe_page.', array('!unsubscribe_page' => l(t('Unsubscribe page'), 'mailchimp/unsubscribe'))),
+            '#default_value'  => t(variable_get('mailchimp_unsubscribe_page_title', 'Newsletter Unsubscribe'))
+        );
+        
+        $form['mailchimp_unsubscribe_page_description'] = array(
+            '#type'           => 'textarea',
+            '#title'          => t('Unsubscribe page description'),
+            '#description'    => t('The text to display above the form on the !unsubscribe_page.', array('!unsubscribe_page' => l(t('Unsubscribe page'), 'mailchimp/unsubscribe'))),
+            '#default_value'  => variable_get('mailchimp_unsubscribe_page_description', t('Use this form to unsubscribe from all of our newsletters.'))
+        );
 
         $form['mailchimp_user_register'] = array(
             '#type'           => 'checkbox',
@@ -520,12 +550,21 @@
             '#description'    => t('This will only apply for lists granted to the authenticated role.'),
             '#default_value'  => variable_get('mailchimp_user_register', TRUE)
         );
+        
         $form['mailchimp_user_edit'] = array(
             '#type'           => 'checkbox',
             '#title'          => t('Show Subscription Options on User Edit Screen'),
             '#description'    => t('If set, a tab will be presented for managing newsletter subscriptions when editing an account.'),
             '#default_value'  => variable_get('mailchimp_user_edit', TRUE)
         );
+        
+        $form['mailchimp_user_settings_title'] = array(
+            '#type'           => 'textfield',
+            '#title'          => t('User settings title'),
+            '#description'    => t('If you\'ve enabled subscription options on the user registration form or the user edit screen, this text will be used as the fieldset and page title respectively.'),
+            '#default_value'  => t(variable_get('mailchimp_user_settings_title', 'Newsletter Subscriptions'))
+        );
+        
         $form['mailchimp_cron'] = array(
             '#type'           => 'checkbox',
             '#title'          => t('Sync Required Lists During Cron'),
@@ -594,6 +633,7 @@
     $list->name = $form_list['name'];
     $list->roles = array_filter($form_list['roles']);
     $list->description = $form_list['description'];
+    $list->label = $form_list['label'];
     $list->listtype = $form_list['listtype'];
     $list->doublein = $form_list['doublein'];
     $list->mergevars  = $form_list['mergevars'];
@@ -627,6 +667,33 @@
 }
 
 /**
+ * Title callback for subscribe page
+ *
+ * @return <type> page title
+ */
+function mailchimp_subscribe_page_title() {
+  return t(variable_get('mailchimp_subscribe_page_title', 'Newsletter Subscription'));
+}
+
+/**
+ * Title callback for unsubscribe page
+ *
+ * @return <type> page title
+ */
+function mailchimp_unsubscribe_page_title() {
+  return t(variable_get('mailchimp_unsubscribe_page_title', 'Newsletter Unsubscribe'));
+}  
+
+/**
+ * Title callback for user settings page
+ *
+ * @return <type> page title
+ */
+function mailchimp_user_settings_page_title() {
+  return t(variable_get('mailchimp_user_settings_title', 'Newsletter Subscriptions'));
+}
+
+/**
  * Return a form for a given MC list
  *
  * @param <type> $form_state
@@ -775,7 +842,7 @@
   $form = array();
   $form['intro'] = array(
       '#type'           => 'markup',
-      '#value'          => t('Use this form to unsubscribe from all of our newsletters.'),
+      '#value'          => t(variable_get('mailchimp_unsubscribe_page_description', 'Use this form to unsubscribe from all of our newsletters.')),
   );
 
   $form['EMAIL'] = array(
@@ -1104,7 +1171,7 @@
           }
           // if only single newsletter, set block title to its name
           if($count == 1){
-            $subject = t('Subscribe to the @title newsletter', array('@title' => $list->name));
+            $subject = t($list->label);
           }
         }
       }
