Content language detection (no outbound)

This module provides a language negotiator similar to Drupal's "content
language" language negotiator. It uses the language_content_entity query
parameter to determine the language of the content, but - different from
Drupal's content language negotiator - it will never add that query parameter to
outbound paths (i.e. any links on the page). It therefore leaves setting the
parameter to other modules, as it makes no assumptions about when the query
parameter should actually be used.


Features

This module provides a content language detection that does not alter any
outbound URLs (links) and therefore does not interfere with your language
switching mechanism. It only reads the content language from the
language_content_entity query parameter without setting it.

The intended use case is that in the admin backend you want to be able to edit
node translations without changing the interface language (via
language_content_entity), but in the frontend, the language switcher should only
ever change the interface language, not the content language. Drupal's content
language negotiator alters the language switcher's behavior in that it will not
change the interface language when on a node page, but the content language,
because it makes some assumptions about when the language switcher should switch
the interface language and when it should change the content language. This
module leaves the logic about what language to change where to other modules, as
it just never interferes with the language switching methods.


Post-Installation

On the configuration page for detection and selection of languages, enable
"Content language (no outbound)" for content language detection (and disable
"Content language", you don't want both).
