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). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

Entity Language Access

4 sites Security covered Drupal 10–11 Entity ecosystem
View on drupal.org

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.

Depends on

Dependencies of the latest stable release

  • language Drupal core

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
2
Tracked since
Dec 2025
Latest release
8 months ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Slowing

Releases

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