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

The language negotiation system is now moved to language module (new module in Drupal 8 grouping low level language functionality). As part of this move, the negotiation related functions from includes/locale.inc were moved to core/modules/language/language.negotiation.inc and the remaining functions in locale.inc that were just a couple utility functions moved to their respective places (such as locale.module directly).

The language negotiation functions got renamed from locale_language_from_*() to language_from_*(), such as

// Drupal 7:
$browser_language = locale_language_from_browser($languages);
// Drupal 8:
$browser_langcode = language_from_browser($languages);

All language negotiation constant such as LANGUAGE_NEGOTIATION_URL changed values as well, they are not prefixed with locale anymore. Although these are constants and you should not have used their direct value anywhere, you might have stored values with the negotiation methods as keys. Look into the changes performed in locale_update_8007() and locale_update_8008() to see the negotiation method key and variable name changes.

Impacts: 
Module developers