diff --git a/core/lib/Drupal/Core/StringTranslation/Translator/FileTranslation.php b/core/lib/Drupal/Core/StringTranslation/Translator/FileTranslation.php
index ecd5a61..523afca 100644
--- a/core/lib/Drupal/Core/StringTranslation/Translator/FileTranslation.php
+++ b/core/lib/Drupal/Core/StringTranslation/Translator/FileTranslation.php
@@ -60,8 +60,8 @@ protected function getLanguage($langcode) {
    * Finds installer translations either for a specific or all languages.
    *
    * Filenames must match the pattern:
-   *  - 'drupal-[number].*.[langcode].po
-   *  - 'drupal-[number].*.*.po
+   *  - 'drupal-*.[langcode].po (if langcode is provided)
+   *  - 'drupal-*.*.po (if no langcode is provided)
    *
    * @param string $langcode
    *   (optional) The language code corresponding to the language for which we
@@ -75,11 +75,28 @@ protected function getLanguage($langcode) {
    * @see file_scan_directory()
    */
   public function findTranslationFiles($langcode = NULL) {
-    $files = file_scan_directory($this->directory, '!drupal-\d+\.[^\.]+\.' . (!empty($langcode) ? preg_quote($langcode, '!') : '[^\.]+') . '\.po$!', array('recurse' => FALSE));
+    $files = file_scan_directory($this->directory, $this->getTranslationFilesPattern($langcode), array('recurse' => FALSE));
     return $files;
   }
 
   /**
+   * Provides translation file name pattern.
+   *
+   * @param string $langcode
+   *   (optional) The language code corresponding to the language for which we
+   *   want to find translation files.
+   *
+   * @return string
+   *  String file pattern.
+   */
+  protected function getTranslationFilesPattern($langcode = NULL) {
+    // The file name matches: drupal-[release version].[language code].po
+    // When provided the $langcode is use as language code. If not provided all
+    // language codes will match.
+    return '!drupal-[0-9a-z\.-]+\.' . (!empty($langcode) ? preg_quote($langcode, '!') : '[^\.]+') . '\.po$!';
+  }
+
+  /**
    * Reads the given Gettext PO files into a data structure.
    *
    * @param string $langcode
diff --git a/core/modules/simpletest/files/translations/drupal-8.0.de.po b/core/modules/simpletest/files/translations/drupal-8.0.de.po
deleted file mode 100644
index e69de29..0000000
diff --git a/core/modules/simpletest/files/translations/drupal-8.0.hu.po b/core/modules/simpletest/files/translations/drupal-8.0.hu.po
deleted file mode 100644
index e69de29..0000000
diff --git a/core/modules/system/src/Tests/Installer/InstallerLanguageDirectionTest.php b/core/modules/system/src/Tests/Installer/InstallerLanguageDirectionTest.php
index 74b8be2..cd7bce5 100644
--- a/core/modules/system/src/Tests/Installer/InstallerLanguageDirectionTest.php
+++ b/core/modules/system/src/Tests/Installer/InstallerLanguageDirectionTest.php
@@ -27,17 +27,16 @@ class InstallerLanguageDirectionTest extends InstallerTestBase {
    * {@inheritdoc}
    */
   protected function setUpLanguage() {
+    // Place a custom local translation in the translations directory.
+    mkdir(DRUPAL_ROOT . '/' . $this->siteDirectory . '/files/translations', 0777, TRUE);
+    file_put_contents(DRUPAL_ROOT . '/' . $this->siteDirectory . '/files/translations/drupal-8.0.0.ar.po', "msgid \"\"\nmsgstr \"\"\nmsgid \"Save and continue\"\nmsgstr \"Save and continue Arabic\"");
+
     parent::setUpLanguage();
     // After selecting a different language than English, all following screens
     // should be translated already.
-    // @todo Instead of actually downloading random translations that cannot be
-    //   asserted, write and supply a translation file. Until then, take
-    //   over whichever string happens to be there, but ensure that the English
-    //   string no longer appears.
     $elements = $this->xpath('//input[@type="submit"]/@value');
-    $string = (string) current($elements);
-    $this->assertNotEqual($string, 'Save and continue');
-    $this->translations['Save and continue'] = $string;
+    $this->assertEqual((string) current($elements), 'Save and continue Arabic');
+    $this->translations['Save and continue'] = 'Save and continue Arabic';
 
     // Verify that language direction is right-to-left.
     $direction = (string) current($this->xpath('/html/@dir'));
diff --git a/core/modules/system/src/Tests/Installer/InstallerLanguageTest.php b/core/modules/system/src/Tests/Installer/InstallerLanguageTest.php
index b32ef40..a025b35 100644
--- a/core/modules/system/src/Tests/Installer/InstallerLanguageTest.php
+++ b/core/modules/system/src/Tests/Installer/InstallerLanguageTest.php
@@ -2,12 +2,12 @@
 
 /**
  * @file
- * Definition of Drupal\system\Tests\Installer\InstallerLanguageTest.
+ * Contains Drupal\system\Tests\Installer\InstallerLanguageTest.
  */
 
 namespace Drupal\system\Tests\Installer;
 
-use Drupal\simpletest\WebTestBase;
+use Drupal\simpletest\KernelTestBase;
 use Drupal\Core\StringTranslation\Translator\FileTranslation;
 
 /**
@@ -15,7 +15,7 @@
  *
  * @group Installer
  */
-class InstallerLanguageTest extends WebTestBase {
+class InstallerLanguageTest extends KernelTestBase {
 
   /**
    * Tests that the installer can find translation files.
@@ -24,9 +24,9 @@ function testInstallerTranslationFiles() {
     // Different translation files would be found depending on which language
     // we are looking for.
     $expected_translation_files = array(
-      NULL => array('drupal-8.0.hu.po', 'drupal-8.0.de.po'),
-      'de' => array('drupal-8.0.de.po'),
-      'hu' => array('drupal-8.0.hu.po'),
+      NULL => array('drupal-8.0.0-beta2.hu.po', 'drupal-8.0.0.de.po'),
+      'de' => array('drupal-8.0.0.de.po'),
+      'hu' => array('drupal-8.0.0-beta2.hu.po'),
       'it' => array(),
     );
 
diff --git a/core/modules/system/src/Tests/Installer/InstallerTranslationTest.php b/core/modules/system/src/Tests/Installer/InstallerTranslationTest.php
index 8ebf010..5a24f27 100644
--- a/core/modules/system/src/Tests/Installer/InstallerTranslationTest.php
+++ b/core/modules/system/src/Tests/Installer/InstallerTranslationTest.php
@@ -28,17 +28,16 @@ class InstallerTranslationTest extends InstallerTestBase {
    * Overrides InstallerTest::setUpLanguage().
    */
   protected function setUpLanguage() {
+    // Place a custom local translation in the translations directory.
+    mkdir(DRUPAL_ROOT . '/' . $this->siteDirectory . '/files/translations', 0777, TRUE);
+    file_put_contents(DRUPAL_ROOT . '/' . $this->siteDirectory . '/files/translations/drupal-8.0.0.de.po', "msgid \"\"\nmsgstr \"\"\nmsgid \"Save and continue\"\nmsgstr \"Save and continue German\"");
+
     parent::setUpLanguage();
     // After selecting a different language than English, all following screens
     // should be translated already.
-    // @todo Instead of actually downloading random translations that cannot be
-    //   asserted, write and supply a German translation file. Until then, take
-    //   over whichever string happens to be there, but ensure that the English
-    //   string no longer appears.
     $elements = $this->xpath('//input[@type="submit"]/@value');
-    $string = (string) current($elements);
-    $this->assertNotEqual($string, 'Save and continue');
-    $this->translations['Save and continue'] = $string;
+    $this->assertEqual((string) current($elements), 'Save and continue German');
+    $this->translations['Save and continue'] = 'Save and continue German';
 
     // Check the language direction.
     $direction = (string) current($this->xpath('/html/@dir'));
