Custom content entity: can't hide translation details in edit form
The translation field that you try to disable is not the one containing the metadata.

The translation metadata is generated in Drupal\content_translation\ContentTranslationHandler and is automatically applied if following access check is true:

'#access' =&gt; $this-&gt;getTranslationAccess($entity, $new_translation ? 'create' : 'update')-&gt;isAllowed(),


To solve this problem you can add a checkbox to your entity settings form that allows you to disable the translation.

You will also need to create a custom TranslationHandler for you entity.

In the annotations of your entity add this under handlers:

"translation" = "Drupal\MY_MODULE\MyEntityTranslationHandler",


Your custom translation handler can then be something like this:

namespace Drupal\MY_MODULE;

use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Form\FormStateInterface;

class MyEntityTranslationHandler extends ContentTranslationHandler {

  public function entityFormAlter(array &amp;$form, FormStateInterface $form_state, EntityInterface $entity) {
    $form = parent::entityFormAlter($form, $form_state, $entity);
    if (// Some condition...) {
      $form['content_translation']['#access'] = FALSE;
    }
  }

}


Hope it makes sense.