From 374a1718c765588376da12dfbc454a707b49e35e Mon Sep 17 00:00:00 2001
From: Shivam-Innoraft <shivam.tiwari@innoraft.com>
Date: Wed, 12 Feb 2025 12:55:32 +0530
Subject: [PATCH] Show translated title and link to translated entity.

---
 src/Plugin/views/field/LinkcheckerLinkPageEntityLabel.php | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/Plugin/views/field/LinkcheckerLinkPageEntityLabel.php b/src/Plugin/views/field/LinkcheckerLinkPageEntityLabel.php
index 6bcff3d..b40ec78 100644
--- a/src/Plugin/views/field/LinkcheckerLinkPageEntityLabel.php
+++ b/src/Plugin/views/field/LinkcheckerLinkPageEntityLabel.php
@@ -6,6 +6,7 @@ use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Entity\EntityMalformedException;
 use Drupal\Core\Entity\Exception\UndefinedLinkTemplateException;
 use Drupal\Core\Form\FormStateInterface;
+use Drupal\Core\TypedData\TranslatableInterface;
 use Drupal\linkchecker\LinkCheckerLinkInterface;
 use Drupal\views\Plugin\views\field\FieldPluginBase;
 use Drupal\views\ResultRow;
@@ -75,6 +76,13 @@ class LinkcheckerLinkPageEntityLabel extends FieldPluginBase {
       $linked_entity = $linked_entity->getParentEntity();
     }
 
+    if ($linked_entity instanceof TranslatableInterface) {
+      $langcode = $linkchecker_link->get('entity_langcode')->value;
+      if ($linked_entity->hasTranslation($langcode)) {
+        $linked_entity = $linked_entity->getTranslation($langcode);
+      }
+    }
+
     if (!empty($this->options['link_to_entity'])) {
       try {
         $this->options['alter']['url'] = $linked_entity->toUrl();
-- 
GitLab