Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). Varbase Media Header 9.2.1 Minor update available for module varbase_media_header (9.2.1). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

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

Activity

Total releases
2
First release
Mar 2025
Latest release
6 months ago
Releases (12 mo)
1
Maintenance
Active

Releases

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