commit a775f7eaaa6efa332c77c0292a1459b264043ba6
Author: Randy Fay <randy@randyfay.com>
Date:   Fri Jun 12 16:48:01 2015 -0600

    Add hook_variable_info() to pm_email_notify

diff --git a/pm_email_notify/pm_email_notify.module b/pm_email_notify/pm_email_notify.module
index 0d872c5..065dfd4 100644
--- a/pm_email_notify/pm_email_notify.module
+++ b/pm_email_notify/pm_email_notify.module
@@ -73,6 +73,7 @@ function pm_email_notify_mail($key, &$message, $params) {
         'privatemsg-display-invalid' => FALSE,
       );
 
+
       $message['subject'] = trim(token_replace(variable_get('pm_email_notify_subject', 'New private message at [site:name].'), $data, $options));
       $message['body'][] = trim(token_replace(variable_get('pm_email_notify_body', _pm_email_notify_default_body()), $data, $options));
       break;
@@ -186,3 +187,61 @@ function pm_email_notify_form_privatemsg_admin_settings_alter(&$form, &$form_sta
 
   return system_settings_form($form);
 }
+
+
+/**
+ * Implements hook_variable_info(), provided by variable module
+ * This is required for variables to be translatable.
+ * @param $options
+ * @return array
+ */
+function pm_email_notify_variable_info($options) {
+  $variable = array();
+  $variable['pm_email_notify_default'] = array(
+    'type' => 'boolean',
+    'title' =>  t('Notify users of new private messages by default'),
+    'default' =>  TRUE,
+    'localize' => FALSE,
+    'group' => 'privatemsg',
+  );
+  $variable['pm_email_notify_from'] = array(
+    'type' => 'string',
+    'title' =>  t('"From:" address for outgoing email'),
+    'default' =>  '',
+    'localize' => TRUE,
+    'group' => 'privatemsg',
+  );
+
+  $variable['pm_email_notify_subject'] = array(
+    'type' => 'string',
+    'title' =>  t('"Subject of outgoing email'),
+    'default' =>  'New private message at [site:name].',
+    'localize' => TRUE,
+    'group' => 'privatemsg',
+  );
+  $variable['pm_email_notify_body'] = array(
+    'type' => 'string',
+    'title' =>  t('"Body of outgoing email'),
+    'default' =>  _pm_email_notify_default_body(),
+    'localize' => TRUE,
+    'group' => 'privatemsg',
+  );
+
+  return $variable;
+}
+
+/**
+ * Implements hook_variable_group_info()
+ * (which is via variable module)
+ * @return mixed
+ */
+function pm_email_notify_variable_group_info() {
+  if (empty($groups['privatemsg'])) {
+    $groups['privatemsg'] = array(
+      'title' => t('Private Message'),
+      'access' => 'administer privatemsg settings',
+      'path' => 'admin/config/messaging/privatemsg',
+    );
+    return $groups;
+  }
+}
