--- i18nblocks.module	2009-05-27 18:19:21.000000000 +0200
+++ i18nblocks.module.best_validation	2009-05-27 18:16:39.000000000 +0200
@@ -168,6 +168,52 @@ function i18nblocks_form_alter(&$form, $
       $form['#submit'][] = 'i18nblocks_form_submit';
     }
   }
+  elseif($form_id == 'locale_translate_edit_form') {
+    if($form['textgroup']['#value'] == 'blocks') {
+      list(,$ibid,) = explode(':', $form['location']['#value']);
+      $i18n_block = db_fetch_object(db_query("SELECT * FROM {i18n_blocks} WHERE ibid=%d", $ibid));
+      if($i18n_block->module == 'block') {
+        $box = db_fetch_object(db_query("SELECT * FROM {boxes} WHERE bid=%d", $i18n_block->delta));
+        $form['format'] = array(
+          '#type'  => 'value', 
+          '#value' => $box->format,
+        );
+        $form['translations'][] = array(
+          '#value' => t('Formatting guidelines') . '<br />' . theme('filter_tips', _filter_tips($box->format, FALSE)), 
+        );
+      }
+      else {
+        $form['format'] = array(
+          '#type'  => 'checkbox', 
+          '#title' => t('Allow full HTML.'),
+          '#return_value' => 2,
+        );
+      }
+      array_unshift($form['#validate'], 'i18nblocks_translate_edit_form');
+      $key = array_search('locale_translate_edit_form_validate', $form['#validate']);
+      if(is_int($key)) unset($form['#validate'][$key]);
+/*
+dpm($i18n_block);
+dpm($box);
+dpm($form);
+*/
+    }
+  }
+}
+
+/**
+ * Validate (block) string editing form submissions.
+ */
+function i18nblocks_translate_edit_form($form, &$form_state) {
+  // check format, if <2 validate with locale_translate_edit_form_validate
+  if($form_state['values']['format'] < 2) {
+    locale_translate_edit_form_validate($form, $form_state);
+  }
+/*
+dsm("VAL: " . $form_state['values']['format'] );
+dpm($form);
+dpm($form_state);
+*/
 }
 
 /**
