Change record status: 
Project: 
Introduced in branch: 
8.x
Introduced in version: 
8.x
Description: 

In Drupal 7, you had the following options for node type based language setup:

  1. Multilingual support disabled. All nodes were created as 'Language neutral', language selector never appeared on nodes of this type.
  2. Multilingual support enabled. Nodes of this type had a language selector which was default to the site default language.
  3. Translation enabled. If the previous option was turned on, you can also enable translation.

This was extended in various ways in Internationalization module, all of which are now built into Drupal 8 core with a more flexible and compact user interface. The options are now broken down to the default language to pick for the nodes as well as whether the selector should be hidden. Translation is still only possible if the user can select a concrete language. The default language selector also includes dynamic languages like "site's default" and "user's preferred language", which are evaluated at the time the node form is displayed.

This allows for creating more versatile combinations like creating all blog posts for a user always in the user's language without asking for a specific language or creating all forum topics on your site in one specific language (assuming you only provide forum support in one language).

The corresponding settings variables changes in source code are the following:

Drupal 7:

<?php
// Get whether the node type supports language (1) or translation (2).
variable_get('node_type_language_' . $node->type, 0);
?>

Drupal 8:

<?php
// Get the default language code for nodes of the given type. Can also be one of
// dynamic languages 'site_default', 'current_interface' and 'authors_default'.
variable_get('node_type_language_default_' . $node->type, 'site_default');

// Get whether the language form item will be hidden.
variable_get('node_type_language_' . $node->type, 0);

// Get whether the node type is translation enabled.
variable_get('node_type_language_translation_enabled_' . $node->type, 0);
?>
Impacts: 
Site builders, administrators, editors
Module developers
Updates Done (doc team, etc.)
Online documentation: 
Not done
Theming guide: 
Not done
Module developer documentation: 
Not done
Examples project: 
Not done
Coder Review: 
Not done
Coder Upgrade: 
Not done
Other: 
Other updates done