diff --git a/core/modules/config_translation/src/Tests/ConfigTranslationUiTest.php b/core/modules/config_translation/src/Tests/ConfigTranslationUiTest.php
index c7218df..c17649b 100644
--- a/core/modules/config_translation/src/Tests/ConfigTranslationUiTest.php
+++ b/core/modules/config_translation/src/Tests/ConfigTranslationUiTest.php
@@ -89,6 +89,7 @@ protected function setUp() {
         'administer themes',
         'bypass node access',
         'administer content types',
+        'translate interface',
       ]
     );
     // Create and login user.
@@ -610,6 +611,49 @@ public function testViewsTranslationUI() {
   }
 
   /**
+   * Test the number of source elements for plural strings in config translation forms.
+   */
+  public function testPluralConfigStringsSourceElements() {
+    $this->drupalLogin($this->adminUser);
+
+    // Languages to test, with various number of plural forms.
+    $languages = array(
+      'vi' => array('plurals' => 1, 'expected' => array(TRUE, FALSE, FALSE, FALSE)),
+      'fr' => array('plurals' => 2, 'expected' => array(TRUE, TRUE, FALSE, FALSE)),
+      'sl' => array('plurals' => 4, 'expected' => array(TRUE, TRUE, TRUE, TRUE)),
+    );
+
+    foreach ($languages as $langcode => $data) {
+      // Import a .po file to add a new language with a given number of plural forms
+      $name = tempnam('temporary://', $langcode . '_') . '.po';
+      file_put_contents($name, $this->getPoFile($data['plurals']));
+      $this->drupalPostForm('admin/config/regional/translate/import', array(
+        'langcode' => $langcode,
+        'files[file]' => $name,
+      ), t('Import'));
+
+      // Change the config langcode of the 'files' view.
+      $config = \Drupal::service('config.factory')->getEditable('views.view.files');
+      $config->set('langcode', $langcode);
+      $config->save();
+
+      // Go to the translation page of the 'files' view.
+      $translation_url = 'admin/structure/views/view/files/translate/' . $langcode . '/add';
+      $this->drupalGet($translation_url);
+
+      // Check if the expected number of source elements are present.
+      foreach ($data['expected'] as $index => $expected) {
+        if ($expected) {
+          $this->assertRaw('edit-source-config-names-viewsviewfiles-display-default-display-options-fields-count-format-plural-string-' . $index);
+        }
+        else {
+          $this->assertNoRaw('edit-source-config-names-viewsviewfiles-display-default-display-options-fields-count-format-plural-string-' . $index);
+        }
+      }
+    }
+  }
+
+  /**
    * Test translation storage in locale storage.
    */
   public function testLocaleDBStorage() {
@@ -936,4 +980,43 @@ protected function assertDisabledTextarea($id) {
     )));
   }
 
+  /**
+   * Helper function that returns a .po file with a given number of plural forms.
+   */
+  public function getPoFile($plurals) {
+    $po_file = array();
+
+    $po_file[1] = <<< EOF
+msgid ""
+msgstr ""
+"Project-Id-Version: Drupal 8\\n"
+"MIME-Version: 1.0\\n"
+"Content-Type: text/plain; charset=UTF-8\\n"
+"Content-Transfer-Encoding: 8bit\\n"
+"Plural-Forms: nplurals=1; plural=0;\\n"
+EOF;
+
+    $po_file[2] = <<< EOF
+msgid ""
+msgstr ""
+"Project-Id-Version: Drupal 8\\n"
+"MIME-Version: 1.0\\n"
+"Content-Type: text/plain; charset=UTF-8\\n"
+"Content-Transfer-Encoding: 8bit\\n"
+"Plural-Forms: nplurals=2; plural=(n>1);\\n"
+EOF;
+
+    $po_file[4] = <<< EOF
+msgid ""
+msgstr ""
+"Project-Id-Version: Drupal 8\\n"
+"MIME-Version: 1.0\\n"
+"Content-Type: text/plain; charset=UTF-8\\n"
+"Content-Transfer-Encoding: 8bit\\n"
+"Plural-Forms: nplurals=4; plural=(((n%100)==1)?(0):(((n%100)==2)?(1):((((n%100)==3)||((n%100)==4))?(2):3)));\\n"
+EOF;
+
+    return $po_file[$plurals];
+  }
+
 }
