diff --git a/src/Plugin/facets/processor/TranslateEntityProcessor.php b/src/Plugin/facets/processor/TranslateEntityProcessor.php
new file mode 100644
index 0000000..e27d721
--- /dev/null
+++ b/src/Plugin/facets/processor/TranslateEntityProcessor.php
@@ -0,0 +1,53 @@
+<?php
+
+namespace Drupal\facets\Plugin\facets\processor;
+
+use Drupal\Core\Entity\Entity;
+use Drupal\facets\FacetInterface;
+use Drupal\facets\Processor\BuildProcessorInterface;
+use Drupal\facets\Processor\ProcessorPluginBase;
+
+/**
+ * Provides a processor that transforms the results to show the translated entity.
+ *
+ * @FacetsProcessor(
+ *   id = "translate_entity",
+ *   label = @Translation("Translate entity title"),
+ *   description = @Translation("Translate the entity titles"),
+ *   stages = {
+ *     "build" = 5
+ *   }
+ * )
+ */
+class TranslateEntityProcessor extends ProcessorPluginBase implements BuildProcessorInterface {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function build(FacetInterface $facet, array $results) {
+    $language_interface = \Drupal::languageManager()->getCurrentLanguage();
+
+    $index = $facet->getFacetSource()->getIndex();
+    $field = $index->getField($facet->getFieldIdentifier());
+    $entity_type = str_replace('entity:', '', $field->getDatasourceId());
+    $controller = \Drupal::entityManager()->getStorage($entity_type);
+
+    /** @var \Drupal\facets\Result\ResultInterface $result */
+    foreach ($results as &$result) {
+      /** @var \Drupal\Core\Entity $term */
+      $ids[] = $result->getRawValue();
+
+      $entity = $controller->load($result->getRawValue());
+
+      if ($entity->hasTranslation($language_interface->getId())) {
+        $entity_trans = $entity->getTranslation($language_interface->getId());
+        $result->setDisplayValue($entity_trans->getTitle());
+      }
+      else {
+        $result->setDisplayValue($entity->getTitle());
+      }
+    }
+    return $results;
+  }
+
+}
