diff --git a/core/modules/language/language.module b/core/modules/language/language.module
index c616837..09c4b8d 100644
--- a/core/modules/language/language.module
+++ b/core/modules/language/language.module
@@ -22,13 +22,27 @@ function language_help($path, $arg) {
     case 'admin/help#language':
       $output = '';
       $output .= '<h3>' . t('About') . '</h3>';
-      $output .= '<p>' . t('The Language module allows you to maintain a list of languages used on your Drupal site for providing language information for content and for interface translation (using the Locale module). For more information, see the online handbook entry for <a href="@language">Language module</a>.', array('@language' => 'http://drupal.org/documentation/modules/language')) . '</p>';
+      $output .= '<p>' . t('The Language module allows you to maintain a list of languages used on your site for content and interface elements. It provides language information to the <a href=!content_translation>Content Translation</a> and <a href=!interface_translation>Interface Translation</a> modules. For more information, see <a href="!doc_url">the online documentation for the Language module</a>.', array('!doc_url' => 'https://drupal.org/documentation/modules/language', '!content_translation' => \Drupal::url('help.page', array('name' => 'content_translation')), '!interface_translation' => \Drupal::url('help.page', array('name' => 'locale')))) . '</p>';
       $output .= '<h3>' . t('Uses') . '</h3>';
       $output .= '<dl>';
-      $output .= '<dt>' . t('Configuring the list of languages') . '</dt>';
-      $output .= '<dd>' . t('<a href="@configure-languages">Configure the list of languages</a> either using the built-in language list or providing any custom languages you wish.', array('@configure-languages' => url('admin/config/regional/language'))) . '</dd>';
-      $output .= '<dt>' . t('Configuring a multilingual site') . '</dt>';
-      $output .= '<dd>' . t("Language negotiation allows your site to automatically change language based on the domain or path used for each request. Users may (optionally) select their preferred language on their <em>My account</em> page, and your site can be configured to honor a web browser's preferred language settings. Site content can be translated using the <a href='@content-help'>Content Translation module</a>.", array('@content-help' => url('admin/help/translation'))) . '</dd>';
+      $output .= '<dt>' . t('Adding languages') . '</dt>';
+      $output .= '<dd>' . t('You can add languages on the <a href="!language_list">Languages List</a> page by clicking on <em>Add language</em> and choosing a language from the drop-down menu. This language is then displayed in the Languages List, where it can be configured further. If the <a href="!interface">Interface Translation module</a> is installed, then interface translation for this language is automatically downloaded as well.' , array('!language_list' => \Drupal::url('language.admin_overview'), '!interface' => \Drupal::url('help.page', array('name' => 'locale')))) . '</dd>';
+      $output .= '<dt>' . t('Adding custom languages') . '</dt>';
+      $output .= '<dd>' . t('You can add a language that is not provided in the drop-down list by choosing <em>Custom language</em> at the end of the list. You then have to configure its language code, name and direction in the form provided.') . '</dd>';
+      $output .= '<dt>' . t('Customizing content languages settings') . '</dt>';
+      $output .= '<dd>' . t('By default content is created in the site\'s default language and no language selector is displayed on the content creation pages. On the <a href="!content_language">Content Language</a> page you can customize the language settings for any supported content element of your site (for example for content types or user profiles). After choosing a content element, you are provided with a drop-down menu to set the default language and a tick box to display language selectors.', array('!content_language' => \Drupal::url('language.content_settings_page'))) . '</dd>';
+      $output .= '<dt>' . t('Making blocks visible per language') . '</dt>';
+      $output .= '<dd>' . t('The Language module adds an option to toggle the visibilty of a block based on selected languages when you configure a block on the <a href="!blocks">Block layout</a> page.', array('!blocks' => \Drupal::url('block.admin_display'))) . '</dd>';
+      $output .= '<dt>' . t('Setting the default or fallback language') . '</dt>';
+      $output .= '<dd>' . t('The default language for the site is set during the initial installation. It is <em>not</em> recommended to change this on a production site, but it is possible to do so at the <a href="!regional">Regional settings</a> page. The better option is to select a language as fallback option on the <a href="!detection">Detection and selection</a> page.', array('!detection' => \Drupal::url('language.negotiation'), '!regional' => \Drupal::url('system.regional_settings'))) . '</dd>';
+      $output .= '<dt>' . t('Language detection and selection');
+      $output .= '<dd>' . t('The <a href="!detection">Detection and Selection</a> page provides several methods by which the site detects in which language to display interface text. Your can arrange the methods so that your prefered method is applied first, and a fallback option last.');
+      $output .= '<ul><li>' . t('<em>URL</em> sets the interface language based on a path prefix or domain. (For example specifing  <em>de</em> for German  would result in URLs like <em>example.com/de/contact</em>.) The default language does not require a path prefix, but can have one assigned as well. If the language detection is done by domain name, a URL needs to be specified for each language.	') . '</li>';
+      $output .= '<li>' . t('<em>Session</em> determines the interface language for a request or session parameter. (For example <em>example.com?language=de</em> would set the language to German based on the use of <em>de</em> within the <em>language</em> parameter.)') . '</li>';
+      $output .= '<li>' . t('<em>User</em> follows the user\'s language settings as specified on the user\'s profile page.') . '</li>';
+      $output .= '<li>' . t('<em>Browser</em> sets the interface language based on the browser\'s language settings. Since browsers use different language codes to refer to the same languages, you can add and edit languages codes to map the browser language codes to the <a href="!language_list">language codes</a> used on your site.',  array('!language_list' => \Drupal::url('language.admin_overview'))) . '</li>';
+      $output .= '<li>' . t('<em>Account administration pages</em> ') . '</li>';
+      $output .= '<li>' . t('<em>Selected language</em> allows you to specify the site\'s default language or a specific language as fallback language. This method should be listed last.') . '</li></ul></dd>';
       $output .= '</dl>';
       return $output;
 
