Index: modules/system/system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.module,v
retrieving revision 1.650
diff -u -p -r1.650 system.module
--- modules/system/system.module	28 Nov 2008 09:25:59 -0000	1.650
+++ modules/system/system.module	30 Nov 2008 10:56:03 -0000
@@ -1701,6 +1701,7 @@ function system_actions_manage_form_subm
  *   Form definition.
  */
 function system_actions_configure($form_state, $action = NULL) {
+  global $language;
   if ($action === NULL) {
     drupal_goto('admin/settings/actions');
   }
@@ -1718,11 +1719,25 @@ function system_actions_configure($form_
     $edit['actions_type'] = $data->type;
     $function = $data->callback;
     $action = md5($data->callback);
+    
     $params = unserialize($data->parameters);
-    if ($params) {
-      foreach ($params as $name => $val) {
-        $edit[$name] = $val;
-      }
+    $lang_default = language_default('language');
+    
+    // Try to load settings for the current language if they exists.
+    if (isset($params[$language->language])) {
+      $lang_params = $params[$language->language];
+    }
+    // To avoid empty settings form, first try loading settings for default language.
+    elseif (isset($params[$lang_default])) {
+      $lang_params = $params[$lang_default];
+    }
+    // As a last resort settings for any language is good.
+    else {
+      $lang_params = array_shift($params);
+    }
+
+    foreach ($lang_params as $name => $val) {
+      $edit[$name] = $val;
     }
   }
   else {
@@ -1784,13 +1799,19 @@ function system_actions_configure_valida
  * Process system_actions_configure form submissions.
  */
 function system_actions_configure_submit($form, &$form_state) {
+  global $language;
   $function = actions_function_lookup($form_state['values']['actions_action']);
   $submit_function = $function . '_submit';
 
-  // Action will return keyed array of values to store.
-  $params = $submit_function($form, $form_state);
   $aid = isset($form_state['values']['actions_aid']) ? $form_state['values']['actions_aid'] : NULL;
 
+  if ($aid) {
+   $action = actions_load($aid);
+   $params = unserialize($action->parameters);
+  }
+  // Action will return keyed array of values to store.
+  $params[$language->language] = $submit_function($form, $form_state);
+
   actions_save($function, $form_state['values']['actions_type'], $params, $form_state['values']['actions_description'], $aid);
   drupal_set_message(t('The action has been successfully saved.'));
 
