Goal of this module

This provides an alternative way of linking translations to different languages, to prevent the need to maintain 3 different translations containing the exact same content.

This provides a way to configure a translation to inherit the content from any other existing translation.
This could also work recursively, for example:
- en
--- en-GB
----- en-HK
--- en-US
----- en-MX

All the en-* languages listed above inherit the content from the 'en'-source node.

Before, this would often be done with the language_hierarchy module which works great, but that's only a one way street. The hierarchy would be the same for all nodes, whereas with this module the translations could go in any direction.

This module can be configured to apply to any content entity, not just nodes.

Limitations/shortcomings
One downside is that translations still need to be added (you configure the translation, not the entity type).

It only applies to entities, not custom controllers/pages.

Configuration
Enable the module and navigate to Admin > Configuration > Content authoring > Translation Inheritance settings.
Here you'll find a list of content entity types and their bundles. You can enable individual entity types and bundles.

Once you save this page, a locked field will be added to that entity type/bundle combination, after which you still have to enable it on the form display.

Once enabled on the form display, you can translate an entity of that entity type, and all existing translations should be visible in the "Inherit translation from" field.

Metatags
There is support for metatags on canonical pages. To retrieve values from the actual translation (not the source translation), these are stored within the "original" entity object.
For example, to retrieve the real URL of the translated node, [node:url] should become [node:original:url]

Maintained by EntityOne

Supporting organizations: 
Initial development & maintenance
Initial development & maintenance

Project information

Releases