How do you enable translation for a field which was defined by a contrib module? I am trying to enable translation for a field which was defined by a different module.

The problem is this field does not list in the UI. When I checked the definition for this field in hook_entity_field_storage_info I can see the setTranslatable(TRUE) is missing. So I added the same in hook_entity_field_storage_info_alter . After this I can see the field listing in the UI for translation, but when I enable the checkbox and submit the value is not saved.

How can I enable translation for this field?
After a bit of struggle and research, here is the approach taken - 

custom_module.install file -

/**
 * Enable translation for workbench_reviewer field.
 * Implements hook_update_n.
*/
function hook_update_xxxx() {
  $entity_definition_update_manager = \Drupal::entityDefinitionUpdateManager();
  $field_storage_definition_node = $entity_definition_update_manager-&gt;getFieldStorageDefinition('workbench_reviewer', 'node');
  $field_storage_definition_node-&gt;setTranslatable(TRUE);
  $entity_definition_update_manager-&gt;updateFieldStorageDefinition($field_storage_definition_node);

}


custom_module.module file -

/**
 * Implements hook_entity_field_storage_info_alter().
 */
function hook_entity_field_storage_info_alter(&amp;$fields, EntityTypeInterface $entity_type) {
  // Alter translation settings.
  if (($entity_type-&gt;id() == 'node' || $entity_type-&gt;id() == 'taxonomy_term') &amp;&amp; !empty($fields['workbench_reviewer'])) {
    $fields['workbench_reviewer']-&gt;setTranslatable(TRUE);
  }
}

/**
 * Implements hook_entity_bundle_field_info_alter().
 */
function hook_entity_bundle_field_info_alter(&amp;$fields, EntityTypeInterface $entity_type, $bundle) {
  // Alter translation settings.
  if (($entity_type-&gt;id() == 'node' || $entity_type-&gt;id() == 'taxonomy_term') &amp;&amp; !empty($fields['workbench_reviewer'])) {
    $fields['workbench_reviewer']-&gt;setTranslatable(TRUE);
  }
}


Once running drush updb I can see the field appearing in translation UI with the checkbox enabled.