diff -u b/core/modules/media/src/Entity/Media.php b/core/modules/media/src/Entity/Media.php --- b/core/modules/media/src/Entity/Media.php +++ b/core/modules/media/src/Entity/Media.php @@ -174,7 +174,7 @@ $this->thumbnail->alt = $media_source->getMetadata($this, $plugin_definition['thumbnail_alt_metadata_attribute']); } else { - $this->thumbnail->alt = $this->t('Thumbnail', [], ['options' => $this->langcode->value]); + $this->thumbnail->alt = $this->t('Thumbnail', [], ['langcode' => $this->langcode->value]); } // Set the thumbnail title. diff -u b/core/modules/media/tests/modules/media_test_source/src/Plugin/media/Source/TestTranslation.php b/core/modules/media/tests/modules/media_test_source/src/Plugin/media/Source/TestTranslation.php --- b/core/modules/media/tests/modules/media_test_source/src/Plugin/media/Source/TestTranslation.php +++ b/core/modules/media/tests/modules/media_test_source/src/Plugin/media/Source/TestTranslation.php @@ -12,6 +12,7 @@ * label = @Translation("Test source with translations"), * description = @Translation("Test media source with translations."), * allowed_field_types = {"string"}, + * thumbnail_alt_metadata_attribute = "test_thumbnail_alt", * ) */ class TestTranslation extends Test { @@ -24,6 +25,11 @@ return 'public://' . $media->language()->getId() . '.png'; } + if ($attribute_name == 'test_thumbnail_alt') { + $langcode = $media->language()->getId(); + return $this->t('Test Thumbnail ' . $langcode, [], ['langcode' => $langcode]); + } + return parent::getMetadata($media, $attribute_name); } diff -u b/core/modules/media/tests/src/Functional/MediaTemplateSuggestionsTest.php b/core/modules/media/tests/src/Functional/MediaTemplateSuggestionsTest.php --- b/core/modules/media/tests/src/Functional/MediaTemplateSuggestionsTest.php +++ b/core/modules/media/tests/src/Functional/MediaTemplateSuggestionsTest.php @@ -37,7 +37,7 @@ $view_mode = 'full'; // Simulate theming of the media item. - $build = \Drupal::entityManager()->getViewBuilder('media')->view($media, $view_mode); + $build = \Drupal::entityTypeManager()->getViewBuilder('media')->view($media, $view_mode); $variables['elements'] = $build; $suggestions = \Drupal::moduleHandler()->invokeAll('theme_suggestions_media', [$variables]); diff -u b/core/modules/media/tests/src/Kernel/MediaTranslationTest.php b/core/modules/media/tests/src/Kernel/MediaTranslationTest.php --- b/core/modules/media/tests/src/Kernel/MediaTranslationTest.php +++ b/core/modules/media/tests/src/Kernel/MediaTranslationTest.php @@ -94,6 +94,9 @@ } $this->assertTrue($result, new FormattableMarkup('%language translation field value not correct.', ['%language' => $langcode])); $this->assertEquals('public://' . $langcode . '.png', $media_translation->getSource()->getMetadata($media_translation, 'thumbnail_uri'), new FormattableMarkup('%language translation thumbnail metadata attribute is not correct.', ['%language' => $langcode])); + $this->assertEquals('public://' . $langcode . '.png', $media_translation->get('thumbnail')->entity->getFileUri(), new FormattableMarkup('%language translation thumbnail metadata attribute is not correct.', ['%language' => $langcode])); + $this->assertEquals('Test Thumbnail ' . $langcode, $media_translation->getSource()->getMetadata($media_translation, 'test_thumbnail_alt')); + $this->assertEquals('Test Thumbnail ' . $langcode, $media_translation->get('thumbnail')->alt); } }