diff --git a/core/modules/language/language.admin.inc b/core/modules/language/language.admin.inc
index d7a0415..ebae05c 100644
--- a/core/modules/language/language.admin.inc
+++ b/core/modules/language/language.admin.inc
@@ -115,9 +115,6 @@ function theme_language_negotiation_configure_browser_form_table($variables) {
     $links['delete'] = array(
       'title' => t('Delete'),
       'url' => Url::fromRoute('language.negotiation_browser_delete', ['browser_langcode' => $key]),
-      'attributes' => array(
-        'class' => array('image-style-link'),
-      ),
     );
     $row[] = array(
       'data' => array(
@@ -131,7 +128,7 @@ function theme_language_negotiation_configure_browser_form_table($variables) {
 
   $header = array(
     t('Browser language code'),
-    t('Drupal language'),
+    t('Site language'),
     t('Operations'),
   );
 
@@ -139,7 +136,8 @@ function theme_language_negotiation_configure_browser_form_table($variables) {
     '#type' => 'table',
     '#header' => $header,
     '#rows' => $rows,
-    '#attributes' => array('id' => 'lang-neg-browser'),
+    '#empty' => t('No browser language mappings available.'),
+    '#attributes' => array('id' => 'language-negotiation-browser'),
   );
   $output = drupal_render($table);
 
diff --git a/core/modules/language/language.module b/core/modules/language/language.module
index 68126f6..6901c91 100644
--- a/core/modules/language/language.module
+++ b/core/modules/language/language.module
@@ -63,7 +63,7 @@ function language_help($route_name, RouteMatchInterface $route_match) {
       return $output;
 
     case 'language.negotiation_browser':
-      $output = '<p>' . t('Browsers use different language codes to refer to the same languages. You can add and edit mappings from browser language codes to the <a href="!configure-languages">languages used</a>.', array('!configure-languages' => \Drupal::url('language.admin_overview'))) . '</p>';
+      $output = '<p>' . t('Browsers use different language codes to refer to the same languages. Internally, a best effort is made to determine the correct language based on the code that the browser sends. You can add and edit additional mappings from browser language codes to <a href="!configure-languages">site languages</a>.', array('!configure-languages' => \Drupal::url('language.admin_overview'))) . '</p>';
       return $output;
 
     case 'language.negotiation_selected':
diff --git a/core/modules/language/src/Form/NegotiationBrowserDeleteForm.php b/core/modules/language/src/Form/NegotiationBrowserDeleteForm.php
index 0c0a447..2cf5a6c 100644
--- a/core/modules/language/src/Form/NegotiationBrowserDeleteForm.php
+++ b/core/modules/language/src/Form/NegotiationBrowserDeleteForm.php
@@ -65,6 +65,14 @@ public function submitForm(array &$form, FormStateInterface $form_state) {
     if (array_key_exists($this->browserLangcode, $mappings)) {
       unset($mappings[$this->browserLangcode]);
       language_set_browser_drupal_langcode_mappings($mappings);
+
+      $t_args = array(
+        '%browser' => $this->browserLangcode,
+      );
+
+      $this->logger('language')->notice('The browser language detection mapping for the %browser browser language code has been deleted.', $t_args);
+
+      drupal_set_message(t('The mapping for the %browser browser language code has been deleted.', $t_args));
     }
 
     $form_state->setRedirect('language.negotiation_browser');
diff --git a/core/modules/language/src/Form/NegotiationBrowserForm.php b/core/modules/language/src/Form/NegotiationBrowserForm.php
index aea7ad1..8c4d76c 100644
--- a/core/modules/language/src/Form/NegotiationBrowserForm.php
+++ b/core/modules/language/src/Form/NegotiationBrowserForm.php
@@ -89,12 +89,16 @@ public function buildForm(array $form, FormStateInterface $form_state) {
     foreach ($mappings as $browser_langcode => $drupal_langcode) {
       $form['mappings'][$browser_langcode] = array(
         'browser_langcode' => array(
+          '#title' => t('Browser language code'),
+          '#title_display' => 'invisible',
           '#type' => 'textfield',
           '#default_value' => $browser_langcode,
           '#size' => 20,
           '#required' => TRUE,
         ),
         'drupal_langcode' => array(
+          '#title' => t('Site language'),
+          '#title_display' => 'invisible',
           '#type' => 'select',
           '#options' => $language_options,
           '#default_value' => $drupal_langcode,
@@ -118,7 +122,7 @@ public function buildForm(array $form, FormStateInterface $form_state) {
     );
     $form['new_mapping']['drupal_langcode'] = array(
       '#type' => 'select',
-      '#title' => $this->t('Drupal language'),
+      '#title' => $this->t('Site language'),
       '#options' => $language_options,
       '#default_value' => '',
     );
@@ -140,10 +144,10 @@ public function validateForm(array &$form, FormStateInterface $form_state) {
       foreach ($mappings as $key => $data) {
         // Make sure browser_langcode is unique.
         if (array_key_exists($data['browser_langcode'], $unique_values)) {
-          $form_state->setErrorByName('mappings][' . $key . '][browser_langcode', $this->t('Browser language codes must be unique.'));
+          $form_state->setErrorByName('mappings][new_mapping][browser_langcode', t('Browser language codes must be unique.'));
         }
         elseif (preg_match('/[^a-z\-]/', $data['browser_langcode'])) {
-          $form_state->setErrorByName('mappings][' . $key . '][browser_langcode', $this->t('Browser language codes can only contain lowercase letters and a hyphen(-).'));
+          $form_state->setErrorByName('mappings][new_mapping][browser_langcode', t('Browser language codes can only contain lowercase letters and a hyphen(-).'));
         }
         $unique_values[$data['browser_langcode']] = $data['drupal_langcode'];
       }
diff --git a/core/modules/language/src/Tests/LanguageBrowserDetectionUnitTest.php b/core/modules/language/src/Tests/LanguageBrowserDetectionUnitTest.php
index 62ee8e3..5717da8 100644
--- a/core/modules/language/src/Tests/LanguageBrowserDetectionUnitTest.php
+++ b/core/modules/language/src/Tests/LanguageBrowserDetectionUnitTest.php
@@ -186,6 +186,12 @@ function testUIBrowserLanguageMappings() {
     $edit = array();
     $this->drupalPostForm('admin/config/regional/language/detection/browser/delete/' . $browser_langcode, $edit, t('Confirm'));
 
+    // We need raw here because %browser will add HTML.
+    $t_args = array(
+      '%browser' => $this->browserLangcode,
+    );
+    $this->assertRaw(t('The mapping for the %browser browser language code has been deleted.', $t_args), 'The test browser language code has been deleted.');
+
     // Check that ch-zn no longer exists.
     $this->assertNoField('edit-mappings-zh-cn-browser-langcode', 'Chinese browser language code no longer exists.');
 
