Version 1
[yaffs-website] / web / core / modules / views / src / Entity / Render / ConfigurableLanguageRenderer.php
diff --git a/web/core/modules/views/src/Entity/Render/ConfigurableLanguageRenderer.php b/web/core/modules/views/src/Entity/Render/ConfigurableLanguageRenderer.php
new file mode 100644 (file)
index 0000000..2e28f9d
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+
+namespace Drupal\views\Entity\Render;
+
+use Drupal\Core\Entity\EntityTypeInterface;
+use Drupal\Core\Language\LanguageManagerInterface;
+use Drupal\views\ResultRow;
+use Drupal\views\ViewExecutable;
+
+/**
+ * Renders entities in a configured language.
+ */
+class ConfigurableLanguageRenderer extends EntityTranslationRendererBase {
+
+  /**
+   * A specific language code for rendering if available.
+   *
+   * @var string|null
+   */
+  protected $langcode;
+
+  /**
+   * Constructs a renderer object.
+   *
+   * @param \Drupal\views\ViewExecutable $view
+   *   The entity row being rendered.
+   * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
+   *   The language manager.
+   * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
+   *   The entity type.
+   * @param string|null $langcode
+   *   A specific language code to set, if available.
+   */
+  public function __construct(ViewExecutable $view, LanguageManagerInterface $language_manager, EntityTypeInterface $entity_type, $langcode) {
+    parent::__construct($view, $language_manager, $entity_type);
+    $this->langcode = $langcode;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getLangcode(ResultRow $row) {
+    return $this->langcode;
+  }
+
+}