Fields that can't be translated, can be edited by translators in the entity translation UI. This results in inconsistent/confusing behaviour:

#2290101: UI telling you a field is shared across languages is way too subtle
#2766957: Forward revisions + translation UI can result in forked draft revisions
#2861367: Field items lost on translations with empty values.
#2837022: Concurrently editing two translations of a node may result in data loss for non-translatable fields

Proposed resolution

Can we remove the ability to edit shared fields apart from in the original language of entities?

If not is there a way we can communicate this better?

Remaining tasks

User interface changes

API changes

Data model changes

#3 2878556-3.png185.72 KBvijaycs85


catch created an issue. See original summary.

matsbla’s picture

Issue summary: View changes
vijaycs85’s picture

185.72 KB

Currently this is represented by label (with "(all languages)" suffix). Probably we can have the fields as value (markup) by default and option to allow edit?

plach’s picture

Discussed this with @catch, this is a summary of what I told him:

[This is what is currently implemented in core:] we can either have editors, who can edit the entity in every language and have access to untranslatable fields, or translators, who have access only to a stripped-down version of the entity form, presenting only translatable fields.
The reasons was that some people (including me :) found it confusing to lose contextual editing for untranslatable fields just because the current language is not the entity default one. Translators OTOH don’t have the Edit tab and need to reach the entity form via the Translate tab, which eliminates the contextual editing issue. At that point displaying only translatable field widgets is safe from a UX perspective [and is desired since translators don't have access to untranslatable fields].

I think the fact that @catch felt the need to open this means #2290101: UI telling you a field is shared across languages is way too subtle is still a very relevant issue.

To ensure we don't have an architectural flaw here, we quickly went over the issues linked in the IS:

I would be open to adding an option to hide untranslatable fields on non-default-language edit forms, but that wouldn’t solve those issues :)