diff --git a/modules/system.eval.inc b/modules/system.eval.inc
index 32a4a88f2594fdc7d3cc5321926c9cb424df7297..b72431eca409f0c7cf2bded4cc3849391f2a36a8 100644
--- a/modules/system.eval.inc
+++ b/modules/system.eval.inc
@@ -11,8 +11,11 @@
 /**
  * Action: Show a drupal message.
  */
-function rules_action_drupal_message($message, $status, $repeat) {
-  drupal_set_message(filter_xss_admin($message), $status, $repeat);
+function rules_action_drupal_message($message, $status, $repeat, $translate) {
+  if ($translate) {
+    $message = t($message);
+  }
+  drupal_set_message(filter_xss_admin($message), $status, $repeat);  
 }
 
 /**
diff --git a/sites/all/modules/rules/modules/system.rules.inc b/sites/all/modules/rules/modules/system.rules.inc
index f9cf1955f1c219abfa82d9be8cc8312cc8ad66f8..1a221b669f19009346a94d24047bc52c03fc8232 100644
--- a/modules/system.rules.inc
+++ b/modules/system.rules.inc
@@ -120,6 +120,14 @@ function rules_system_action_info() {
           'optional' => TRUE,
           'restriction' => 'input',
         ),
+        'translate' => array(
+          'type' => 'boolean',
+          'label' => t('Translate message'),
+          'description' => t("If enabled the entered message will be translated with t()."),
+          'default value' => FALSE,
+          'optional' => TRUE,
+          'restriction' => 'input',
+        ),
       ),
       'base' => 'rules_action_drupal_message',
       'access callback' => 'rules_system_integration_access',
