5 * Defines an entity type.
9 * Implements hook_entity_type_alter().
11 function field_test_entity_type_alter(array &$entity_types) {
12 /** @var $entity_types \Drupal\Core\Entity\EntityTypeInterface[] */
13 foreach (field_test_entity_info_translatable() as $entity_type => $translatable) {
14 $entity_types[$entity_type]->set('translatable', $translatable);
19 * Helper function to enable entity translations.
21 function field_test_entity_info_translatable($entity_type_id = NULL, $translatable = NULL) {
22 $stored_value = &drupal_static(__FUNCTION__, []);
23 if (isset($entity_type_id)) {
24 $entity_manager = \Drupal::entityManager();
25 $original = $entity_manager->getDefinition($entity_type_id);
26 $stored_value[$entity_type_id] = $translatable;
27 if ($translatable != $original->isTranslatable()) {
28 $entity_manager->clearCachedDefinitions();
29 $entity_type = $entity_manager->getDefinition($entity_type_id);
30 $entity_manager->onEntityTypeUpdate($entity_type, $original);