diff --git a/ds.module b/ds.module
index 7c35f73..db0d853 100644
--- a/ds.module
+++ b/ds.module
@@ -1196,6 +1196,18 @@ function ds_field_formatter_info() {
         'taxonomy_term_separator' => ', ',
       ),
     );
+
+    if (module_exists('i18n_taxonomy')) {
+      $formatters['ds_taxonomy_seperator_localized'] = array(
+        'label'       => t('Separated (localized)'),
+        'description' => t('Display the referenced term with a separator. Use this with the "localize" translation mode for vocabularies.'),
+        'field types' => array('taxonomy_term_reference'),
+        'settings'    => array(
+          'taxonomy_term_link' => TRUE,
+          'taxonomy_term_separator' => ', ',
+        ),
+      );
+    }
   }
 
   return $formatters;
@@ -1205,6 +1217,7 @@ function ds_field_formatter_info() {
  * Implements hook_field_formatter_view().
  */
 function ds_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
+  global $language;
   $element = array();
 
   if ($display['type'] === 'ds_taxonomy_view_mode') {
@@ -1253,6 +1266,40 @@ function ds_field_formatter_view($entity_type, $entity, $field, $instance, $lang
     }
   }
 
+  if($display['type'] === 'ds_taxonomy_seperator_localized') {
+    $linked = $display['settings']['taxonomy_term_link'];
+
+    $terms = array();
+    foreach ($items as $delta => $item) {
+      if ($item['tid'] == 'autocreate') {
+        // We don't necessarily have a link when this is
+        // an autocreated term, usually in preview.
+        // So just send the term as check plained markup.
+        $item_display = check_plain($item['name']);
+      }
+      else {
+        $term = taxonomy_term_load($item['tid']);
+        if (!isset($term->name)) {
+          return;
+        }
+        $term->name = i18n_taxonomy_term_name($term, $language->language);
+        $item_display = check_plain($term->name);
+        if ($linked) {
+          $uri = entity_uri('taxonomy_term', $term);
+          $item_display = l($term->name, $uri['path']);
+        }
+      }
+      $terms[] = $item_display;
+    }
+
+    if (!empty($terms)) {
+      $output = '';
+      $separator = $display['settings']['taxonomy_term_separator'];
+      $output = implode($separator, $terms);
+      $element[0] = array('#markup' => $output);
+    }
+  }
+
   return $element;
 }
 
