From 106b87f9764ea292b9295291b6da536a870a2a20 Mon Sep 17 00:00:00 2001
From: Ide Braakman <ide@ezcompany.nl>
Date: Fri, 27 Jan 2017 17:07:14 +0100
Subject: [PATCH] Issue #2829777 by benstjohn, idebr: Translate Radio and
 Select fields from mc

---
 mailchimp.module                                 |  5 +----
 modules/mailchimp_i18n/mailchimp_i18n.i18n.inc   | 23 +++++++++++++++++++++++
 modules/mailchimp_signup/mailchimp_signup.module | 12 ++++++++++++
 3 files changed, 36 insertions(+), 4 deletions(-)

diff --git a/mailchimp.module b/mailchimp.module
index 3190a79..94928e9 100644
--- a/mailchimp.module
+++ b/mailchimp.module
@@ -1387,10 +1387,6 @@ function mailchimp_interest_groups_form_elements($list, $defaults = array(), $em
 
     // Extract the field options:
     $options = array();
-    if ($field_type == 'select') {
-      $options[''] = '-- select --';
-    }
-
     $default_values = array();
 
     // Set interest options and default values.
@@ -1413,6 +1409,7 @@ function mailchimp_interest_groups_form_elements($list, $defaults = array(), $em
       '#type' => $field_type,
       '#title' => $group->title,
       '#options' => $options,
+      '#empty_option' => t('-- select --'),
       '#default_value' => isset($default_values[$group->id]) ? $default_values[$group->id] : array(),
       '#attributes' => array('class' => array('mailchimp-newsletter-interests-' . $list->id)),
     );
diff --git a/modules/mailchimp_i18n/mailchimp_i18n.i18n.inc b/modules/mailchimp_i18n/mailchimp_i18n.i18n.inc
index 3188737..ebccf11 100644
--- a/modules/mailchimp_i18n/mailchimp_i18n.i18n.inc
+++ b/modules/mailchimp_i18n/mailchimp_i18n.i18n.inc
@@ -62,6 +62,29 @@ class MailchimpI18nStringObjectWrapper extends i18n_string_object_wrapper {
       }
     }
 
+    if (!empty($this->object->settings['include_interest_groups'])) {
+      $lists = mailchimp_get_lists($this->object->mc_lists);
+      if (!empty($lists)) {
+        foreach ($lists as $list) {
+          foreach ($list->intgroups as $intgroup) {
+            $properties['intgroup_' . $intgroup->id] = array(
+              'title' => $intgroup->title,
+              'string' => $intgroup->title,
+            );
+
+            if (!empty($intgroup->interests)) {
+              foreach ($intgroup->interests as $interest) {
+                $properties['intgroup_' . $intgroup->id . '_interest_' . $interest->id] = array(
+                  'title' => $interest->name,
+                  'string' => $interest->name,
+                );
+              }
+            }
+          }
+        }
+      }
+    }
+
     $strings[$this->get_textgroup()]['mailchimp_signup'][$this->object->name] += $properties;
     return $strings;
   }
diff --git a/modules/mailchimp_signup/mailchimp_signup.module b/modules/mailchimp_signup/mailchimp_signup.module
index e7a637a..122f25e 100644
--- a/modules/mailchimp_signup/mailchimp_signup.module
+++ b/modules/mailchimp_signup/mailchimp_signup.module
@@ -299,6 +299,12 @@ function mailchimp_signup_subscribe_form($form, &$form_state, $signup, $type) {
           ),
         );
         $form['mailchimp_lists'][$wrapper_key]['interest_groups'] += mailchimp_interest_groups_form_elements($list);
+        foreach ($form['mailchimp_lists'][$wrapper_key]['interest_groups'] as $group_id => $group) {
+          $form['mailchimp_lists'][$wrapper_key]['interest_groups'][$group_id]['#title'] = mailchimp_signup_tt("mailchimp_signup:mailchimp_signup:$signup->name:intgroup_$group_id", $group['#title']);
+          foreach ($group['#options'] as $interest_id => $interest_name) {
+            $form['mailchimp_lists'][$wrapper_key]['interest_groups'][$group_id]['#options'][$interest_id] = mailchimp_signup_tt('mailchimp_signup:mailchimp_signup:' . $signup->name . ':intgroup_' . $group_id . '_interest_' . $interest_id, $interest_name);
+          }
+        }
       }
     }
   }
@@ -307,6 +313,12 @@ function mailchimp_signup_subscribe_form($form, &$form_state, $signup, $type) {
     if ($signup->settings['include_interest_groups'] && isset($list->intgroups)) {
       $form['mailchimp_lists']['#weight'] = 9;
       $form['mailchimp_lists']['interest_groups'] = mailchimp_interest_groups_form_elements($list);
+      foreach ($form['mailchimp_lists']['interest_groups'] as $group_id => $group) {
+        $form['mailchimp_lists']['interest_groups'][$group_id]['#title'] = mailchimp_signup_tt("mailchimp_signup:mailchimp_signup:$signup->name:intgroup_$group_id", $group['#title']);
+        foreach ($group['#options'] as $interest_id => $interest_name) {
+          $form['mailchimp_lists']['interest_groups'][$group_id]['#options'][$interest_id] = mailchimp_signup_tt('mailchimp_signup:mailchimp_signup:' . $signup->name . ':intgroup_' . $group_id . '_interest_' . $interest_id, $interest_name);
+        }
+      }
     }
   }
   $form['mergevars'] = array(
-- 
2.10.1 (Apple Git-78)

