From b65dc65e8fe90ba7e5d5396f042210299e7d6887 Mon Sep 17 00:00:00 2001
From: Pierre Buyle <buyle@pheromone.ca>
Date: Tue, 2 Sep 2014 15:48:26 -0400
Subject: [PATCH] Issue #2280441: Use interface language for path prefix for
 entities translated with Entity Translation.

---
 plugins/linkit_search/entity.class.php | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/plugins/linkit_search/entity.class.php b/plugins/linkit_search/entity.class.php
index d2f0073..745d687 100644
--- a/plugins/linkit_search/entity.class.php
+++ b/plugins/linkit_search/entity.class.php
@@ -136,13 +136,20 @@ class LinkitSearchPluginEntity extends LinkitSearchPlugin {
 
     $options = array();
     // Handle multilingual sites.
-    if (isset($entity->language) && $entity->language != LANGUAGE_NONE && drupal_multilingual() && language_negotiation_get_any(LOCALE_LANGUAGE_NEGOTIATION_URL)) {
-      $languages = language_list('enabled');
-      // Only use enabled languages.
-      $languages = $languages[1];
+    if (drupal_multilingual() && language_negotiation_get_any(LOCALE_LANGUAGE_NEGOTIATION_URL)) {
+      // Handle field translation with entity_translation.
+      if (function_exists('entity_translation_enabled') && entity_translation_enabled($this->plugin['entity_type'], $entity)) {
+        $options['language'] = $GLOBALS['language'];
+      }
+      // Handle content translation.
+      else if (isset($entity->language) && $entity->language != LANGUAGE_NONE) {
+        $languages = language_list('enabled');
+        // Only use enabled languages.
+        $languages = $languages[1];
 
-      if ($languages && isset($languages[$entity->language])) {
-        $options['language'] = $languages[$entity->language];
+        if ($languages && isset($languages[$entity->language])) {
+          $options['language'] = $languages[$entity->language];
+        }
       }
     }
     // Process the uri with the insert pluing.
-- 
1.9.1

