diff --git a/core/lib/Drupal/Component/FileSystem/RegexDirectoryIterator.php b/core/lib/Drupal/Component/FileSystem/RegexDirectoryIterator.php
index ca924227991046294058de0ebcf69a2189b2cb0a..c6c654f2becc7f140f3ef21c3ac8a531d3934b6b 100644
--- a/core/lib/Drupal/Component/FileSystem/RegexDirectoryIterator.php
+++ b/core/lib/Drupal/Component/FileSystem/RegexDirectoryIterator.php
@@ -24,7 +24,7 @@ class RegexDirectoryIterator extends \FilterIterator {
    *   /\.yml$/ would list only files ending in .yml.
    */
   public function __construct($path, $regex) {
-    // Use FilesystemIterator to not iterate over the the . and .. directories.
+    // Use FilesystemIterator to not iterate over the . and .. directories.
     $iterator = new \FilesystemIterator($path);
     parent::__construct($iterator);
     $this->regex = $regex;
diff --git a/core/lib/Drupal/Core/Installer/Form/SelectProfileForm.php b/core/lib/Drupal/Core/Installer/Form/SelectProfileForm.php
index b0b72f6a995e7ce552b3f44e56166b3eb604ef09..c393069d2438310709ae4044272bf83c3aff5e9b 100644
--- a/core/lib/Drupal/Core/Installer/Form/SelectProfileForm.php
+++ b/core/lib/Drupal/Core/Installer/Form/SelectProfileForm.php
@@ -94,7 +94,7 @@ public function buildForm(array $form, FormStateInterface $form_state, $install_
       $extensions = $sync->read('core.extension');
       $site = $sync->read('system.site');
       if (isset($site['name']) && isset($extensions['profile']) && in_array($extensions['profile'], array_keys($names), TRUE)) {
-        // Ensure the the profile can be installed from configuration. Install
+        // Ensure the profile can be installed from configuration. Install
         // profile's which implement hook_INSTALL() are not supported.
         // @todo https://www.drupal.org/project/drupal/issues/2982052 Remove
         //   this restriction.
diff --git a/core/lib/Drupal/Core/Menu/DefaultMenuLinkTreeManipulators.php b/core/lib/Drupal/Core/Menu/DefaultMenuLinkTreeManipulators.php
index 7eefd12754ad072f6d34f34d7de763c257c9e243..3b8ed1350ccc9a9affc92362ab2ea54aa5c4de97 100644
--- a/core/lib/Drupal/Core/Menu/DefaultMenuLinkTreeManipulators.php
+++ b/core/lib/Drupal/Core/Menu/DefaultMenuLinkTreeManipulators.php
@@ -75,7 +75,7 @@ public function __construct(AccessManagerInterface $access_manager, AccountInter
    * This is why inaccessible subtrees are deleted, except at the top-level
    * inaccessible link: if we didn't keep the first (depth-wise) inaccessible
    * link, we wouldn't be able to know which cache contexts would cause those
-   * subtrees to become accessible again, thus forcing us to conclude that that
+   * subtrees to become accessible again, thus forcing us to conclude that the
    * subtree is unconditionally inaccessible.
    *
    * @param \Drupal\Core\Menu\MenuLinkTreeElement[] $tree
diff --git a/core/lib/Drupal/Core/Menu/MenuLinkManager.php b/core/lib/Drupal/Core/Menu/MenuLinkManager.php
index af2e4a594d5dbb3721a8c8c7a2acaccf714fd13f..1f6f2227714a38be4274f2e9909e2fb7344e5362 100644
--- a/core/lib/Drupal/Core/Menu/MenuLinkManager.php
+++ b/core/lib/Drupal/Core/Menu/MenuLinkManager.php
@@ -38,7 +38,7 @@ class MenuLinkManager implements MenuLinkManagerInterface {
     // or other safe source this may be a TranslatableMarkup object.
     'title' => '',
     // The description. If this came from a YAML definition or other safe source
-    // this may be be a TranslatableMarkup object.
+    // this may be a TranslatableMarkup object.
     'description' => '',
     // The plugin ID of the parent link (or NULL for a top-level link).
     'parent' => '',
diff --git a/core/lib/Drupal/Core/Pager/Pager.php b/core/lib/Drupal/Core/Pager/Pager.php
index dedeed2657f9cd1caf4059a5a22963da870f2576..68d4b4efa1f67df79ffc95ac38b81268dfbf148b 100644
--- a/core/lib/Drupal/Core/Pager/Pager.php
+++ b/core/lib/Drupal/Core/Pager/Pager.php
@@ -112,7 +112,7 @@ public function getCurrentPage() {
    * Gets the maximum number of items per page.
    *
    * @return int
-   *   The the maximum number of items per page.
+   *   The maximum number of items per page.
    */
   public function getLimit() {
     return $this->limit;
diff --git a/core/lib/Drupal/Core/Test/TestDiscovery.php b/core/lib/Drupal/Core/Test/TestDiscovery.php
index a2fc30686e1fca6da1b87cd6461aadf57a6a4982..1c319dfcab956528818ed4a84590caf32b98fd50 100644
--- a/core/lib/Drupal/Core/Test/TestDiscovery.php
+++ b/core/lib/Drupal/Core/Test/TestDiscovery.php
@@ -133,7 +133,7 @@ public function registerTestNamespaces() {
    *   An array of included test types.
    *
    * @return array
-   *   An array of tests keyed by the the group name. If a test is annotated to
+   *   An array of tests keyed by the group name. If a test is annotated to
    *   belong to multiple groups, it will appear under all group keys it belongs
    *   to.
    * @code
diff --git a/core/misc/tabledrag.es6.js b/core/misc/tabledrag.es6.js
index a447abae5aad6bf98279ab5224a2285484445570..15f5df7b7674cca97bad674a3b41f4201064eaad 100644
--- a/core/misc/tabledrag.es6.js
+++ b/core/misc/tabledrag.es6.js
@@ -721,7 +721,7 @@
    * @param {Drupal.tableDrag} self
    *   The drag handle.
    * @param {HTMLElement} item
-   *   The item that that is being dragged.
+   *   The item that is being dragged.
    */
   Drupal.tableDrag.prototype.dragStart = function(event, self, item) {
     // Create a new dragObject recording the pointer information.
diff --git a/core/modules/block/tests/src/Functional/Views/DisplayBlockTest.php b/core/modules/block/tests/src/Functional/Views/DisplayBlockTest.php
index a02967099426beae254168f57521862e8c84bda8..76f2d7458e6c3954bf0ba2f62e24bbe692c4b2c4 100644
--- a/core/modules/block/tests/src/Functional/Views/DisplayBlockTest.php
+++ b/core/modules/block/tests/src/Functional/Views/DisplayBlockTest.php
@@ -195,7 +195,7 @@ public function testViewsBlockForm() {
     $this->drupalGet('admin/structure/block/add/views_block:test_view_block-block_1/' . $default_theme);
     $elements = $this->xpath('//input[@name="label"]');
     $this->assertTrue(empty($elements), 'The label field is not found for Views blocks.');
-    // Test that that machine name field is hidden from display and has been
+    // Test that the machine name field is hidden from display and has been
     // saved as expected from the default value.
     $this->assertNoFieldById('edit-machine-name', 'views_block__test_view_block_1', 'The machine name is hidden on the views block form.');
 
diff --git a/core/modules/book/src/BookManagerInterface.php b/core/modules/book/src/BookManagerInterface.php
index 155e2a86ce22d5f25d4a620fb9705d4fe3fa9b8b..bee18c045903f16c756727b7d3f7a645ec6a4118 100644
--- a/core/modules/book/src/BookManagerInterface.php
+++ b/core/modules/book/src/BookManagerInterface.php
@@ -15,7 +15,7 @@ interface BookManagerInterface {
    * Gets the data structure representing a named menu tree.
    *
    * Since this can be the full tree including hidden items, the data returned
-   * may be used for generating an an admin interface or a select.
+   * may be used for generating an admin interface or a select.
    *
    * Note: based on menu_tree_all_data().
    *
diff --git a/core/modules/content_moderation/src/Plugin/Field/FieldWidget/ModerationStateWidget.php b/core/modules/content_moderation/src/Plugin/Field/FieldWidget/ModerationStateWidget.php
index 8bfba8a35cc62d3c1ad91340ea109982c66998ce..2f259b25ccdd290eea97085191d55cd08c148bf3 100644
--- a/core/modules/content_moderation/src/Plugin/Field/FieldWidget/ModerationStateWidget.php
+++ b/core/modules/content_moderation/src/Plugin/Field/FieldWidget/ModerationStateWidget.php
@@ -124,7 +124,7 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen
 
     // If the entity already exists, grab the most recent revision and load it.
     // The moderation state of the saved revision will be used to display the
-    // current state as well determine the the appropriate transitions.
+    // current state as well determine the appropriate transitions.
     if (!$entity->isNew()) {
       /** @var \Drupal\Core\Entity\ContentEntityInterface $original_entity */
       $original_entity = $this->entityTypeManager->getStorage($entity->getEntityTypeId())->loadRevision($entity->getLoadedRevisionId());
diff --git a/core/modules/content_moderation/tests/src/Kernel/ViewsModerationStateFilterTest.php b/core/modules/content_moderation/tests/src/Kernel/ViewsModerationStateFilterTest.php
index 983b20d73347432b253f031d0cfab0f1fb32ba2d..a8ade5fa396f2f14557e9737ffd42841b8993960 100644
--- a/core/modules/content_moderation/tests/src/Kernel/ViewsModerationStateFilterTest.php
+++ b/core/modules/content_moderation/tests/src/Kernel/ViewsModerationStateFilterTest.php
@@ -150,7 +150,7 @@ public function testStateFilterViewsRelationship() {
       'moderation_state' => 'editorial-draft',
     ], 'test_content_moderation_state_filter_revision_table');
     // Creating a new forward revision of node three, creates a second published
-    // revision of of the original language, hence there are two published
+    // revision of the original language, hence there are two published
     // revisions of node three.
     $this->assertNodesWithFilters([$node, $third_node, $third_node], [
       'moderation_state' => 'editorial-published',
diff --git a/core/modules/file/src/Plugin/rest/resource/FileUploadResource.php b/core/modules/file/src/Plugin/rest/resource/FileUploadResource.php
index 66353c214de58b6757157cb1b102a31e42be3e1c..b46c692949319bc3283013ea02b88d32c6eb90d4 100644
--- a/core/modules/file/src/Plugin/rest/resource/FileUploadResource.php
+++ b/core/modules/file/src/Plugin/rest/resource/FileUploadResource.php
@@ -511,7 +511,7 @@ protected function getUploadLocation(array $settings) {
    * Retrieves the upload validators for a field definition.
    *
    * This is copied from \Drupal\file\Plugin\Field\FieldType\FileItem as there
-   * is no entity instance available here that that a FileItem would exist for.
+   * is no entity instance available here that a FileItem would exist for.
    *
    * @param \Drupal\Core\Field\FieldDefinitionInterface $field_definition
    *   The field definition for which to get validators.
diff --git a/core/modules/jsonapi/src/Context/FieldResolver.php b/core/modules/jsonapi/src/Context/FieldResolver.php
index 6b5333cf2c80126a772d910521ee0e3e63d61c14..7da702576d5ae094a73e68cf24cf630debdb1074 100644
--- a/core/modules/jsonapi/src/Context/FieldResolver.php
+++ b/core/modules/jsonapi/src/Context/FieldResolver.php
@@ -242,9 +242,9 @@ public static function resolveInternalIncludePath(ResourceType $resource_type, a
    * elide the "entity" keyword from them (this word is used by the entity query
    * system to traverse entity references).
    *
-   * This method takes this external field expression and and attempts to
-   * resolve any aliases and/or abbreviations into a field expression that will
-   * be compatible with the entity query system.
+   * This method takes this external field expression and attempts to resolve
+   * any aliases and/or abbreviations into a field expression that will be
+   * compatible with the entity query system.
    *
    * @link http://jsonapi.org/recommendations/#urls-reference-document
    *
diff --git a/core/modules/jsonapi/src/Controller/TemporaryJsonapiFileFieldUploader.php b/core/modules/jsonapi/src/Controller/TemporaryJsonapiFileFieldUploader.php
index c4edc2f44c4072ebc4554ecd64091b795cf114f2..2847e17e53612ed106f9dd43da6e0fbcce5ba97d 100644
--- a/core/modules/jsonapi/src/Controller/TemporaryJsonapiFileFieldUploader.php
+++ b/core/modules/jsonapi/src/Controller/TemporaryJsonapiFileFieldUploader.php
@@ -429,7 +429,7 @@ protected function getUploadLocation(array $settings) {
    * Retrieves the upload validators for a field definition.
    *
    * This is copied from \Drupal\file\Plugin\Field\FieldType\FileItem as there
-   * is no entity instance available here that that a FileItem would exist for.
+   * is no entity instance available here that a FileItem would exist for.
    *
    * @param \Drupal\Core\Field\FieldDefinitionInterface $field_definition
    *   The field definition for which to get validators.
diff --git a/core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierTrait.php b/core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierTrait.php
index 5db7403d4496091751efd7fe8ee9ec22759aced7..e4942cfb8faa57374bb33789618b8030bb2bc672 100644
--- a/core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierTrait.php
+++ b/core/modules/jsonapi/src/JsonApiResource/ResourceIdentifierTrait.php
@@ -23,7 +23,7 @@ trait ResourceIdentifierTrait {
   protected $resourceIdentifier;
 
   /**
-   * The JSON:API resource type of of the identified resource object.
+   * The JSON:API resource type of the identified resource object.
    *
    * @var \Drupal\jsonapi\ResourceType\ResourceType
    */
diff --git a/core/modules/jsonapi/src/Query/EntityConditionGroup.php b/core/modules/jsonapi/src/Query/EntityConditionGroup.php
index ad4f0f886594b776558d7fd0e9867ad1adabe170..fcefe2a278dc981db4c3d56bbef5d6ae1c2481cb 100644
--- a/core/modules/jsonapi/src/Query/EntityConditionGroup.php
+++ b/core/modules/jsonapi/src/Query/EntityConditionGroup.php
@@ -61,7 +61,7 @@ public function conjunction() {
   }
 
   /**
-   * The members which belong to the the condition group.
+   * The members which belong to the condition group.
    *
    * @return \Drupal\jsonapi\Query\EntityCondition[]
    *   The member conditions of this condition group.
diff --git a/core/modules/jsonapi/src/Query/Sort.php b/core/modules/jsonapi/src/Query/Sort.php
index 5052623346a069d906f4924b8707ba10624850e6..c127a9230af00a24c8b0ab8cfb53e43e8e70d128 100644
--- a/core/modules/jsonapi/src/Query/Sort.php
+++ b/core/modules/jsonapi/src/Query/Sort.php
@@ -68,7 +68,7 @@ class Sort {
    *   ]
    *
    * @param array $fields
-   *   The the entity query sort fields.
+   *   The entity query sort fields.
    */
   public function __construct(array $fields) {
     $this->fields = $fields;
diff --git a/core/modules/jsonapi/tests/src/Functional/JsonApiFunctionalMultilingualTest.php b/core/modules/jsonapi/tests/src/Functional/JsonApiFunctionalMultilingualTest.php
index a6ca2fbb150e43ec74b89cb74232d5b6e5950e22..abe0a73d6969a7607e636ebc3bd59f4812e2304d 100644
--- a/core/modules/jsonapi/tests/src/Functional/JsonApiFunctionalMultilingualTest.php
+++ b/core/modules/jsonapi/tests/src/Functional/JsonApiFunctionalMultilingualTest.php
@@ -161,7 +161,7 @@ public function testPatchTranslation() {
 
     // Changing the langcode of the default ('en') translation is possible:
     // first verify that it currently is 'en', then change it to 'ca-fr', and
-    // verify that the the title is unchanged, but the langcode is updated.
+    // verify that the title is unchanged, but the langcode is updated.
     $response = $this->request('GET', Url::fromUri('base:/jsonapi/node/article/' . $this->nodes[0]->uuid()), $request_options);
     $this->assertSame(200, $response->getStatusCode());
     $document = Json::decode((string) $response->getBody());
diff --git a/core/modules/jsonapi/tests/src/Functional/ResourceTestBase.php b/core/modules/jsonapi/tests/src/Functional/ResourceTestBase.php
index 4f80462903296ac231471aa359a3a5fc06ba7f4a..4cc441b29ae975a801f5cc9ed4865a2d33efa8f0 100644
--- a/core/modules/jsonapi/tests/src/Functional/ResourceTestBase.php
+++ b/core/modules/jsonapi/tests/src/Functional/ResourceTestBase.php
@@ -3021,9 +3021,9 @@ public function testRevisions() {
     $forward_revision_id_url = $forward_revision_id_url->setOption('query', ['resourceVersion' => "id:$forward_revision_id"]);
     $expected_document['data']['links']['self']['href'] = $forward_revision_id_url->setAbsolute()->toString();
     $amend_relationship_urls($expected_document, $forward_revision_id);
-    // Since the the working copy is not the default revision. A
-    // `latest-version` link is required to indicate that the requested version
-    // is not the default revision.
+    // Since the working copy is not the default revision. A `latest-version`
+    // link is required to indicate that the requested version is not the
+    // default revision.
     unset($expected_document['data']['links']['working-copy']);
     $expected_document['data']['links']['latest-version']['href'] = $rel_latest_version_url->setAbsolute()->toString();
     $expected_cache_tags = $this->getExpectedCacheTags();
@@ -3334,7 +3334,7 @@ protected static function entityFieldAccess(EntityInterface $entity, $field_name
   }
 
   /**
-   * Gets an array of of all nested include paths to be tested.
+   * Gets an array of all nested include paths to be tested.
    *
    * @param int $depth
    *   (optional) The maximum depth to which included paths should be nested.
diff --git a/core/modules/language/src/Plugin/LanguageNegotiation/LanguageNegotiationContentEntity.php b/core/modules/language/src/Plugin/LanguageNegotiation/LanguageNegotiationContentEntity.php
index cff1fa238fe87e088019240aa02883e02c51f636..a28506caebeba5df7348d8864ffdceaf4429427a 100644
--- a/core/modules/language/src/Plugin/LanguageNegotiation/LanguageNegotiationContentEntity.php
+++ b/core/modules/language/src/Plugin/LanguageNegotiation/LanguageNegotiationContentEntity.php
@@ -163,8 +163,8 @@ public function getLanguageSwitchLinks(Request $request, $type, Url $url) {
    * \Drupal\language\Plugin\LanguageNegotiation\LanguageNegotiationContentEntity::processOutbound().
    *
    * @return bool
-   *   TRUE if the the content entity language negotiator has higher priority
-   *   than the url language negotiator, FALSE otherwise.
+   *   TRUE if the content entity language negotiator has higher priority than
+   *   the url language negotiator, FALSE otherwise.
    */
   protected function hasLowerLanguageNegotiationWeight() {
     if (!isset($this->hasLowerLanguageNegotiationWeightResult)) {
diff --git a/core/modules/media/src/Access/MediaRevisionAccessCheck.php b/core/modules/media/src/Access/MediaRevisionAccessCheck.php
index fb3d560c8857946189973f141bc4d6c1600aeb18..25695b43cbe66a6947a37d9f22298bf0de935daf 100644
--- a/core/modules/media/src/Access/MediaRevisionAccessCheck.php
+++ b/core/modules/media/src/Access/MediaRevisionAccessCheck.php
@@ -132,7 +132,7 @@ public function checkAccess(MediaInterface $media, AccountInterface $account, $o
    * Counts the number of revisions in the default language.
    *
    * @param \Drupal\media\MediaInterface $media
-   *   The media item for which to to count the revisions.
+   *   The media item for which to count the revisions.
    *
    * @return int
    *   The number of revisions in the default language.
diff --git a/core/modules/media/tests/src/Kernel/MediaKernelTestBase.php b/core/modules/media/tests/src/Kernel/MediaKernelTestBase.php
index 164f12608f09378fba6c1e1f89a37a8a0dc910df..8996f03fa454ff44e21fbfe65706681c4a76c8aa 100644
--- a/core/modules/media/tests/src/Kernel/MediaKernelTestBase.php
+++ b/core/modules/media/tests/src/Kernel/MediaKernelTestBase.php
@@ -85,7 +85,7 @@ protected function setUp() {
    * @param string $filename
    *   String filename with extension.
    * @param \Drupal\media\MediaTypeInterface $media_type
-   *   The the media type.
+   *   The media type.
    *
    * @return \Drupal\media\Entity\Media
    *   A media item.
diff --git a/core/modules/path_alias/tests/src/Kernel/AliasTest.php b/core/modules/path_alias/tests/src/Kernel/AliasTest.php
index d93ce691282698e3999c755ae0e20195c934b23e..02069217371acc345f3390a70b87c50c42399550 100644
--- a/core/modules/path_alias/tests/src/Kernel/AliasTest.php
+++ b/core/modules/path_alias/tests/src/Kernel/AliasTest.php
@@ -202,7 +202,7 @@ public function testWhitelistCacheDeletionMidRequest() {
     $this->assertEquals(['user' => FALSE, 'admin' => TRUE], $memoryCounterBackend->get('path_alias_whitelist')->data);
     $memoryCounterBackend->resetCounter();
 
-    // Re-initialize the the whitelist and lookup an alias for the 'user' path.
+    // Re-initialize the whitelist and lookup an alias for the 'user' path.
     // Whitelist should load data from its cache, see that it hasn't done a
     // check for 'user' yet, perform the check, then mark the result to be
     // persisted to cache.
diff --git a/core/modules/system/src/Form/PrepareModulesEntityUninstallForm.php b/core/modules/system/src/Form/PrepareModulesEntityUninstallForm.php
index 8531653247b51cbd0212f67a6f08a0543bf4963b..8746a3834f2d5cc1367a3cb69a1f3435db5e2d0a 100644
--- a/core/modules/system/src/Form/PrepareModulesEntityUninstallForm.php
+++ b/core/modules/system/src/Form/PrepareModulesEntityUninstallForm.php
@@ -227,7 +227,7 @@ public static function deleteContentEntities($entity_type_id, &$context) {
       $storage->delete($entities);
     }
     // Sometimes deletes cause secondary deletes. For example, deleting a
-    // taxonomy term can cause its children to be be deleted too.
+    // taxonomy term can cause its children to be deleted too.
     $context['sandbox']['progress'] = $context['sandbox']['max'] - $storage->getQuery()->count()->execute();
 
     // Inform the batch engine that we are not finished and provide an
diff --git a/core/modules/system/tests/src/Functional/Form/ModulesListFormWebTest.php b/core/modules/system/tests/src/Functional/Form/ModulesListFormWebTest.php
index ca5b5aa92255f404c2a967c7b5273ad69f26f5a5..7ce0b2737038fa119b37cde0e07fd8193e195976 100644
--- a/core/modules/system/tests/src/Functional/Form/ModulesListFormWebTest.php
+++ b/core/modules/system/tests/src/Functional/Form/ModulesListFormWebTest.php
@@ -116,7 +116,7 @@ public function testModulesListFormWithInvalidInfoFile() {
   public function testRequiredByThemeMessage() {
     $this->drupalGet('admin/modules');
     $module_theme_depends_on_description = $this->getSession()->getPage()->findAll('css', '#edit-modules-test-module-required-by-theme-enable-description .admin-requirements li:contains("Test Theme Depending on Modules (theme) (disabled)")');
-    // Confirm that that 'Test Theme Depending on Modules' is listed as being
+    // Confirm that 'Test Theme Depending on Modules' is listed as being
     // required by the module 'Test Module Required by Theme'.
     $this->assertCount(1, $module_theme_depends_on_description);
     // Confirm that the required by message does not appear anywhere else.
diff --git a/core/modules/system/tests/src/Functional/System/SitesDirectoryHardeningTest.php b/core/modules/system/tests/src/Functional/System/SitesDirectoryHardeningTest.php
index 2fc1c8f4aef2e0d06700748f33721456967749a4..78e220e12e7626a349a2b8617a0b3fe82da89fee 100644
--- a/core/modules/system/tests/src/Functional/System/SitesDirectoryHardeningTest.php
+++ b/core/modules/system/tests/src/Functional/System/SitesDirectoryHardeningTest.php
@@ -23,7 +23,7 @@ class SitesDirectoryHardeningTest extends BrowserTestBase {
   /**
    * Tests the default behavior to restrict directory permissions is enforced.
    *
-   * Checks both the the current sites directory and settings.php.
+   * Checks both the current sites directory and settings.php.
    */
   public function testSitesDirectoryHardening() {
     $site_path = $this->kernel->getSitePath();
diff --git a/core/modules/system/tests/src/Functional/Theme/ThemeTest.php b/core/modules/system/tests/src/Functional/Theme/ThemeTest.php
index 8120a1d9eaaf8853203d1051316043f04a702e2d..79055ae9cf9ba57e8038b9ef2a44261b0c0987a8 100644
--- a/core/modules/system/tests/src/Functional/Theme/ThemeTest.php
+++ b/core/modules/system/tests/src/Functional/Theme/ThemeTest.php
@@ -37,7 +37,7 @@ protected function setUp(): void {
    * Ensures preprocess functions run even for suggestion implementations.
    *
    * The theme hook used by this test has its base preprocess function in a
-   * separate file, so this test also ensures that that file is correctly loaded
+   * separate file, so this test also ensures that the file is correctly loaded
    * when needed.
    */
   public function testPreprocessForSuggestions() {
@@ -171,7 +171,7 @@ public function testRegionClass() {
    * Ensures suggestion preprocess functions run for default implementations.
    *
    * The theme hook used by this test has its base preprocess function in a
-   * separate file, so this test also ensures that that file is correctly loaded
+   * separate file, so this test also ensures that the file is correctly loaded
    * when needed.
    */
   public function testSuggestionPreprocessForDefaults() {
diff --git a/core/modules/system/tests/src/FunctionalJavascript/Form/TriggeringElementTest.php b/core/modules/system/tests/src/FunctionalJavascript/Form/TriggeringElementTest.php
index 3a3840d2d2297cbadf58a2789b6d02170a2c4fd9..6eaf98cde5f95a37d8147cc92a5f0a7cd8e42ca0 100644
--- a/core/modules/system/tests/src/FunctionalJavascript/Form/TriggeringElementTest.php
+++ b/core/modules/system/tests/src/FunctionalJavascript/Form/TriggeringElementTest.php
@@ -22,7 +22,7 @@ class TriggeringElementTest extends WebDriverTestBase {
   protected $defaultTheme = 'stark';
 
   /**
-   * Tests the the triggering element when no button information is included.
+   * Tests the triggering element when no button information is included.
    *
    * Test the determination of the triggering element when no button
    * information is included in the POST data, as is sometimes the case when
diff --git a/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateVocabularyFieldInstanceTest.php b/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateVocabularyFieldInstanceTest.php
index 2facbfcc6996df1b77ab0b885d6513f509814973..5869e71a69f46ceb504f85370e62e98e1e4a70ca 100644
--- a/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateVocabularyFieldInstanceTest.php
+++ b/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateVocabularyFieldInstanceTest.php
@@ -62,21 +62,21 @@ public function testVocabularyFieldInstance() {
 
     $this->assertSame([['node', 'article', 'field_tags']], $this->getMigration('d6_vocabulary_field_instance')->getIdMap()->lookupDestinationIds([4, 'article']));
 
-    // Test the the field vocabulary_1_i_0_ with multilingual option,
+    // Test the field vocabulary_1_i_0_ with multilingual option,
     // 'per language terms'.
     $field_id = 'node.story.field_vocabulary_1_i_0_';
     $field = FieldConfig::load($field_id);
     $this->assertFalse($field->isRequired(), 'Field is not required');
     $this->assertTrue($field->isTranslatable());
 
-    // Test the the field vocabulary_2_i_0_ with multilingual option,
+    // Test the field vocabulary_2_i_0_ with multilingual option,
     // 'Set language to vocabulary'.
     $field_id = 'node.story.field_vocabulary_2_i_1_';
     $field = FieldConfig::load($field_id);
     $this->assertFalse($field->isRequired(), 'Field is not required');
     $this->assertFalse($field->isTranslatable());
 
-    // Test the the field vocabulary_3_i_0_ with multilingual option,
+    // Test the field vocabulary_3_i_0_ with multilingual option,
     // 'Localize terms'.
     $field_id = 'node.story.field_vocabulary_3_i_2_';
     $field = FieldConfig::load($field_id);
diff --git a/core/modules/update/tests/src/Functional/UpdateCoreTest.php b/core/modules/update/tests/src/Functional/UpdateCoreTest.php
index 5a057efca9c02997c29ff3cfe83df5b5f19f2dde..253d888ab5318d785a244765770db18286fcb282 100644
--- a/core/modules/update/tests/src/Functional/UpdateCoreTest.php
+++ b/core/modules/update/tests/src/Functional/UpdateCoreTest.php
@@ -854,7 +854,7 @@ public function testRevokedRelease() {
    *    'supported_branches' is '8.0.,8.1.'.
    * - drupal.1.0-unsupported.xml
    *    'supported_branches' is '8.1.'.
-   * They both have an '8.0.3' release that that has the 'Release type' value of
+   * They both have an '8.0.3' release that has the 'Release type' value of
    * 'unsupported' and an '8.1.0' release that has the 'Release type' value of
    * 'supported' and is the expected update.
    */
diff --git a/core/modules/views/tests/src/FunctionalJavascript/PaginationAJAXTest.php b/core/modules/views/tests/src/FunctionalJavascript/PaginationAJAXTest.php
index 94e2888f43a3adecc738950dd66a07c581795d48..dc6eaffff7dfe42e07a1426b4e14d45d3f45dbc0 100644
--- a/core/modules/views/tests/src/FunctionalJavascript/PaginationAJAXTest.php
+++ b/core/modules/views/tests/src/FunctionalJavascript/PaginationAJAXTest.php
@@ -71,7 +71,7 @@ public function testBasicPagination() {
 
     $settings = $this->getDrupalSettings();
 
-    // Make sure the the view_path is set correctly.
+    // Make sure that the view_path is set correctly.
     $expected_view_path = '/test-content-ajax';
     $this->assertEquals($expected_view_path, current($settings['views']['ajaxViews'])['view_path']);
 
diff --git a/core/modules/views/tests/src/Kernel/Handler/FieldCounterTest.php b/core/modules/views/tests/src/Kernel/Handler/FieldCounterTest.php
index 5ae9c974b816bda79d70af08cf90a0822077b02a..24c18b215b5f9b96f37f7f1498f50c2f72e040e2 100644
--- a/core/modules/views/tests/src/Kernel/Handler/FieldCounterTest.php
+++ b/core/modules/views/tests/src/Kernel/Handler/FieldCounterTest.php
@@ -116,7 +116,7 @@ public function testPager() {
     $this->assertEquals('1', $counter);
     $view->destroy();
 
-    // Go the the second page.
+    // Go to the second page.
     $view->setCurrentPage(1);
     $view->preview();
 
@@ -124,7 +124,7 @@ public function testPager() {
     $this->assertEquals('2', $counter);
     $view->destroy();
 
-    // Go the the third page.
+    // Go to the third page.
     $view->setCurrentPage(2);
     $view->preview();
 
@@ -158,7 +158,7 @@ public function testPager() {
     $this->assertEquals($counter_start, $counter);
     $view->destroy();
 
-    // Go the the second page.
+    // Go to the second page.
     $view->setCurrentPage(1);
     $view->preview();
 
@@ -166,7 +166,7 @@ public function testPager() {
     $this->assertEquals($counter_start + 1, $counter);
     $view->destroy();
 
-    // Go the the third page.
+    // Go to the third page.
     $view->setCurrentPage(2);
     $view->preview();
 
diff --git a/core/modules/workspaces/src/EntityQuery/Query.php b/core/modules/workspaces/src/EntityQuery/Query.php
index 471c1d87a48128e9c01143dd533bb7eb06d6a3e1..ebc92c6f9ddd6980bad4e96e8bf26e4244117842 100644
--- a/core/modules/workspaces/src/EntityQuery/Query.php
+++ b/core/modules/workspaces/src/EntityQuery/Query.php
@@ -20,7 +20,7 @@ public function prepare() {
     $this->traitPrepare();
 
     // If the prepare() method from the trait decided that we need to alter this
-    // query, we need to re-define the the key fields for fetchAllKeyed() as SQL
+    // query, we need to re-define the key fields for fetchAllKeyed() as SQL
     // expressions.
     if ($this->sqlQuery->getMetaData('active_workspace_id')) {
       $id_field = $this->entityType->getKey('id');
diff --git a/core/tests/Drupal/KernelTests/Core/Config/ConfigDiffTest.php b/core/tests/Drupal/KernelTests/Core/Config/ConfigDiffTest.php
index 279817671594ef765c2a0c8037dac94393feb797..ba5bce5c6c66deb89a50d9b58c08f3a8d7f1826c 100644
--- a/core/tests/Drupal/KernelTests/Core/Config/ConfigDiffTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Config/ConfigDiffTest.php
@@ -146,10 +146,10 @@ public function testCollectionDiff() {
    * @param string $type
    *   The type of edit that is being asserted.
    * @param mixed $orig
-   *   (optional) The original value of of the edit. If not supplied, assertion
+   *   (optional) The original value of the edit. If not supplied, assertion
    *   is skipped.
    * @param mixed $closing
-   *   (optional) The closing value of of the edit. If not supplied, assertion
+   *   (optional) The closing value of the edit. If not supplied, assertion
    *   is skipped.
    */
   protected function assertYamlEdit(array $edits, $field, $type, $orig = NULL, $closing = NULL) {
diff --git a/core/tests/Drupal/Tests/Component/Render/FormattableMarkupTest.php b/core/tests/Drupal/Tests/Component/Render/FormattableMarkupTest.php
index 27445b151b2ec8df61424bba7ac5586caf7d15d1..67a8a39dfe47778bd142618195cfe92d6d0fc0aa 100644
--- a/core/tests/Drupal/Tests/Component/Render/FormattableMarkupTest.php
+++ b/core/tests/Drupal/Tests/Component/Render/FormattableMarkupTest.php
@@ -93,7 +93,7 @@ public function providerTestUnexpectedPlaceholder() {
     return [
       ['Non alpha starting character: ~placeholder', ['~placeholder' => 'replaced'], E_USER_ERROR, 'Invalid placeholder (~placeholder) in string: Non alpha starting character: ~placeholder'],
       ['Alpha starting character: placeholder', ['placeholder' => 'replaced'], E_USER_DEPRECATED, 'Invalid placeholder (placeholder) in string: Alpha starting character: placeholder'],
-      // Ensure that where the placeholder is located in the the string is
+      // Ensure that where the placeholder is located in the string is
       // irrelevant.
       ['placeholder', ['placeholder' => 'replaced'], E_USER_DEPRECATED, 'Invalid placeholder (placeholder) in string: placeholder'],
     ];
diff --git a/core/tests/Drupal/Tests/Core/EventSubscriber/FinalExceptionSubscriberTest.php b/core/tests/Drupal/Tests/Core/EventSubscriber/FinalExceptionSubscriberTest.php
index 4b64df599172ccee40bea384026887a2d309407a..c4a11cf822dab8db46b4bd9537cc224f3c819719 100644
--- a/core/tests/Drupal/Tests/Core/EventSubscriber/FinalExceptionSubscriberTest.php
+++ b/core/tests/Drupal/Tests/Core/EventSubscriber/FinalExceptionSubscriberTest.php
@@ -38,7 +38,7 @@ public function testOnExceptionWithUnknownFormat() {
     $this->stringStartsWith('The website encountered an unexpected error. Please try again later.</br></br><em class="placeholder">Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException</em>: test message in ', $response->getContent());
     $this->assertEquals(405, $response->getStatusCode());
     $this->assertEquals('POST, PUT', $response->headers->get('Allow'));
-    // Also check that that text/plain content type was added.
+    // Also check that the text/plain content type was added.
     $this->assertEquals('text/plain', $response->headers->get('Content-Type'));
   }
 
diff --git a/core/themes/claro/css/components/dropbutton.css b/core/themes/claro/css/components/dropbutton.css
index 9021be7bc0cdca949f90b1b31ed98e6170223a6b..d0fd2346620f3ed52768cf59d3751a408d4dc3d4 100644
--- a/core/themes/claro/css/components/dropbutton.css
+++ b/core/themes/claro/css/components/dropbutton.css
@@ -413,7 +413,7 @@
 }
 
 /**
- * Set the the inherited button border color to transparent for high contrast
+ * Set the inherited button border color to transparent for high contrast
  * mode.
  */
 
diff --git a/core/themes/claro/css/components/dropbutton.pcss.css b/core/themes/claro/css/components/dropbutton.pcss.css
index 8f3795f623f68c3e0981a0e918dc2f90939dd0c5..146fd1063e8d8a708d5b4aba25be770c1cdc5d9d 100644
--- a/core/themes/claro/css/components/dropbutton.pcss.css
+++ b/core/themes/claro/css/components/dropbutton.pcss.css
@@ -353,7 +353,7 @@
 }
 
 /**
- * Set the the inherited button border color to transparent for high contrast
+ * Set the inherited button border color to transparent for high contrast
  * mode.
  */
 @media screen and (-ms-high-contrast: active) {
diff --git a/core/themes/claro/js/tabledrag.es6.js b/core/themes/claro/js/tabledrag.es6.js
index 1f7c83a2c6ef093d7ca5606bbe643808ec3cf92f..d81ce1c0d01082f89b98d061567c33e472424669 100644
--- a/core/themes/claro/js/tabledrag.es6.js
+++ b/core/themes/claro/js/tabledrag.es6.js
@@ -817,7 +817,7 @@
      * @param {Drupal.tableDrag} self
      *   The drag handle.
      * @param {HTMLElement} item
-     *   The item that that is being dragged.
+     *   The item that is being dragged.
      */
     dragStart(event, self, item) {
       // Create a new dragObject recording the pointer information.
diff --git a/core/themes/claro/templates/entity-add-list.html.twig b/core/themes/claro/templates/entity-add-list.html.twig
index 98683b0bb4b2cbb45b6a2c7d8fd6835f54456420..a4ba89cd40196b2e5f0f0d1e9ac426f2672313c5 100644
--- a/core/themes/claro/templates/entity-add-list.html.twig
+++ b/core/themes/claro/templates/entity-add-list.html.twig
@@ -1,7 +1,7 @@
 {#
 /**
  * @file
- * Theme override to to present a list of available bundles.
+ * Theme override to present a list of available bundles.
  *
  * Available variables:
  * - bundles: A list of bundles, each with the following properties:
diff --git a/core/themes/seven/templates/entity-add-list.html.twig b/core/themes/seven/templates/entity-add-list.html.twig
index 3ff2e717df64475f3399bf3be74b6c3831108480..04d493f44e62a1465d63d2d892a966977fa76619 100644
--- a/core/themes/seven/templates/entity-add-list.html.twig
+++ b/core/themes/seven/templates/entity-add-list.html.twig
@@ -1,7 +1,7 @@
 {#
 /**
  * @file
- * Theme override to to present a list of available bundles.
+ * Theme override to present a list of available bundles.
  *
  * Available variables:
  *   - bundles: A list of bundles, each with the following properties: