Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Usage Milestone: Views Reference Filter Module entityreference_filter crossed 10,000 active installs. Usage Milestone: Dropdown Language Module dropdown_language crossed 10,000 active installs. Usage Milestone: Paragraphs Browser Module paragraphs_browser crossed 10,000 active installs. Usage Milestone: OpenAPI Module openapi crossed 10,000 active installs. Usage Milestone: Decoupled Router Module decoupled_router crossed 10,000 active installs. Usage Milestone: Time Field for Drupal 8+ Module time_field crossed 10,000 active installs. Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

This module provides a way to detect the language of content being viewed without automatically modifying outbound links. It allows administrators to edit content in different languages without affecting the site's interface language, while ensuring that users' language switchers primarily change the interface language on the frontend.

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).

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
2
Tracked since
Mar 2025
Latest release
8 months ago
Releases (12 mo)
1
Maintenance
Active

Releases

Version Type Core Release date
1.0.0-rc2 Pre-release 10–11 Dec 18, 2025
1.0.0-rc1 Pre-release 10–11 Mar 24, 2025