diff --git a/static_field.module b/static_field.module
index 2650ca6..5f37863 100755
--- a/static_field.module
+++ b/static_field.module
@@ -49,10 +49,38 @@ function static_field_field_instance_settings_form($field, $instance) {
       'item' => t('Yes. Display also the label'),
     ),
   );
+
   return $form;
 }
 
 /**
+ * Implements hook_form_FORM_ID_alter().
+ *
+ * Add submission handler for static field edit form.
+ */
+function static_field_form_field_ui_field_edit_form_alter(&$form, &$form_state) {
+  $field_info = $form['#field'];
+  if ($field_info['type'] == 'static_field') {
+    $form['#submit'][] = 'static_field_i18n_submit';
+  }
+}
+
+/**
+ * Form submission handler
+ *
+ * Support i18n.
+ */
+function static_field_i18n_submit(&$form, &$form_state) {
+  if (function_exists('i18n_string')) {
+    $instance_values = &$form_state['values']['instance'];
+    $value = $instance_values['settings']['text']['value'];
+
+    $name = array($instance_values['entity_type'], 'type', $instance_values['bundle'], $instance_values['field_name']);
+    i18n_string(implode(':', $name), $value, array('update' => true));
+  }
+}
+
+/**
  * Implements hook_field_widget_info(). A dummy widget.
  */
 function static_field_field_widget_info() {
@@ -104,7 +132,7 @@ function static_field_field_formatter_info() {
 function static_field_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
   $element = array();
 
-  $item_static = array('#markup' => check_markup($instance['settings']['text']['value'], $instance['settings']['text']['format']));
+  $item_static = array('#markup' => $items[0]['safe_value']);
   foreach ($items as $delta => $item) {
     $element[$delta] = $item_static;
   }
@@ -117,6 +145,29 @@ function static_field_field_formatter_view($entity_type, $entity, $field, $insta
  */
 function static_field_field_load($entity_type, $entities, $field, $instances, $langcode, &$items, $age) {
   foreach ($entities as $entity_id => $entity) {
-    $items[$entity_id][0]['safe_value'] = check_markup($instances[$entity_id]['settings']['text']['value'], $instances[$entity_id]['settings']['text']['format']);
+    $format = $instances[$entity_id]['settings']['text']['format'];
+    if (function_exists('i18n_string')) {
+      $name = array($entity_type, $instances[$entity_id]['bundle'], $field['field_name']);
+      $options = array(
+        'langcode' => $entity->language,
+        'format' => $format,
+      );
+      $save_value = i18n_string(implode(':', $name), $instances[$entity_id]['settings']['text']['value'], $options);
+    } else {
+      $save_value = check_markup($instances[$entity_id]['settings']['text']['value'], $format);
+    }
+    $items[$entity_id][0]['safe_value'] = $save_value;
+  }
+}
+
+/**
+ * Implements hook_field_delete_instance().
+ *
+ * Delete the translation set.
+ */
+function static_field_field_delete_instance($instance) {
+  if (function_exists('i18n_string_remove')) {
+    $name = array($instance['entity_type'], 'type', $instance['bundle'], $instance['field_name']);
+    i18n_string_remove(implode(':', $name));
   }
 }
