How to determine if a translatable field has translation enabled? How can I figure out if a translation for a translatable field has been enabled?

I don't mean if a field is translatable in general. e.g.:

$entity_type = $entity-&gt;getEntityTypeId();
$bundle = $entity-&gt;bundle();
$fields = $this-&gt;entityFieldManager-&gt;getFieldDefinitions($entity_type, $bundle);
foreach($fields as $field){
  if($field-&gt;isTranslatable()){
    // Do something.
  }
}


Could the langcode be a reliable information? If it is 'und' e.g.:

if($entity-&gt;get('name')-&gt;getLangcode() != 'und'){
  // The field translation is enabled:
}
To check if the translation is enabled on a field:

if ($entity-&gt;get('name')-&gt;getFieldDefinition()-&gt;isTranslatable()) {
  // The field translation is enabled:
}


which is by the way the same field definition you get in your code example, only here it is retrieved from the field directly. There is no difference between translatable and translation enabled as long as the entity is translatable.