This is a follow-up in response to #1188388-104: Entity translation UI in core
The core image field widget allows to enter alt and title along while uploading an image file. In many cases a desirable behavior, when translating content with image fields, is keeping the images and just translate their textual metadata. Currently when creating a translation the original image is preserved, but subsequent changes, such as uploading a new image for a certain language or change the image order in case of a gallery, are not reflected in the translations.
Introduce a field column synchronization capability which, once enabled, lets the field define which columns should be "shared" across translations, and which ones are allowed to change per-language. The synchronization takes care of propagating any change in the field items order and in the values themselves to all the available translations. This functionality is provided through a generic API which in core is exploited by the file and image fields.
Port the functionality. add steps to testin #68 (novice) add screenshot of before the patchin #69 (novice) add screenshot of after the patchin #70 (novice) review patch. Review Task doc: http://drupal.org/node/1488992done by @fago and @yched (novice) manually test the patch. Manually Test Task doc: http://drupal.org/node/1489010done in #72 (novice) Improve patch coding standards and documentation http://drupal.org/node/1487976done in #39 decide on what follow-ups to do
- final? review to rtbc
User interface changes
A small Field API addition has been performed to allow declaring which field columns must be synchronized across translations.
- #1919322: entity_load_unchanged() should be part of the storage controller
- #1920876: Add a tiny bit of state magic in the image.module and hide the Title and Alt groups when the related form items are disabled
- #1920888: Follow-up: Add some JS to make the dependent groups always checked (and readonly) when the master group is checked translatable
- #1909202: Use modals in operations column of language settings config page
- #1909212: warn when sync enabled on field with previous values, they are not sync'd until one is changed
- #1909218: add (all languages) hint to synchronized fields on translation add/edit form
- #1935762: Remove entity_load_unchanged() call from FieldTranslationSynchronizer::synchronizeFields()