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). 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). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Varbase FAQs 9.2.1 Minor update available for module varbase_faqs (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 restricts access to translatable content entities, preventing users from viewing content in a language other than the one currently selected. It's useful for sites that don't immediately translate all content and want to hide untranslated versions. Optionally, you can configure a fallback piece of content to display when a translation is missing.

Synopsis

Entity Language Access will add an additional access check to canonical routes of translatable content entity types and deny access, if the entity language differs from the current content language.

Potential Use Cases

You may find this module useful, if you don't want to translate all translatable content into all languages immediately and don't want to show untranslated content in its original language.

Requirements

This module requires no modules outside of Drupal core.

Usage

This module adds an additional access check on top of canonical routes of entity types, which will deny access to canonical views of the entity, if there is no translation into the current content language, but will not prevent any other access to the entity. For any listings, e.g. displayed by Views, make sure to add a filter on the translation language, as the module will not hide untranslated entities in this case!

The module assumes that canonical routes of entities use the id entity.${entity_type_id}.canonical, which is the best practice route name for canonical routes of entities in Drupal. It won't work for entities that use other route names for canonical routes.

The module will be active for all translatable content entity types that have a canonical route in all languages.

You may optionally configure a fallback content to be shown instead of a general 403 error page for missing entity translations. The configured content must be translated into all available languages, and be accessible by all users.

  1. Enable the module at Administration > Extend.
  2. Optionally, configure a Node to use as fallback content at Configuration > Region and language > Entity Language Access.
  3. Review the permissions provided by the module. There is a permission to bypass access checks by this module and a permission to administer the module's settings.

Credits

Current maintainers:

The development of this project has been partly sponsored by werk21 GmbH.

Activity

Total releases
2
First release
Dec 2025
Latest release
6 months ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Slowing

Releases

Version Type Release date
1.0.0 Stable Dec 29, 2025
1.x-dev Dev Dec 29, 2025