diff --git a/core/lib/Drupal/Core/Entity/EntityType.php b/core/lib/Drupal/Core/Entity/EntityType.php
index 93f6062..1bac3d0 100644
--- a/core/lib/Drupal/Core/Entity/EntityType.php
+++ b/core/lib/Drupal/Core/Entity/EntityType.php
@@ -91,7 +91,7 @@ class EntityType implements EntityTypeInterface {
    *
    * @var bool (optional)
    */
-  protected $fieldable;
+  protected $extendable;
 
   /**
    * Link templates using the URI template syntax.
@@ -438,8 +438,8 @@ public function getPermissionGranularity() {
   /**
    * {@inheritdoc}
    */
-  public function isFieldable() {
-    return isset($this->fieldable) ? $this->fieldable : FALSE;
+  public function isExtendable() {
+    return isset($this->extendable) ? $this->extendable : FALSE;
   }
 
   /**
diff --git a/core/lib/Drupal/Core/Entity/EntityTypeInterface.php b/core/lib/Drupal/Core/Entity/EntityTypeInterface.php
index 5934322..3bf3d52 100644
--- a/core/lib/Drupal/Core/Entity/EntityTypeInterface.php
+++ b/core/lib/Drupal/Core/Entity/EntityTypeInterface.php
@@ -380,7 +380,7 @@ public function getPermissionGranularity();
    * @return bool
    *   Returns TRUE if the entity type can has fields, otherwise FALSE.
    */
-  public function isFieldable();
+  public function isExtendable();
 
   /**
    * Returns link templates using the URI template syntax.
diff --git a/core/lib/Drupal/Core/Entity/FieldableDatabaseStorageController.php b/core/lib/Drupal/Core/Entity/FieldableDatabaseStorageController.php
index 31b1613..cd5e283 100644
--- a/core/lib/Drupal/Core/Entity/FieldableDatabaseStorageController.php
+++ b/core/lib/Drupal/Core/Entity/FieldableDatabaseStorageController.php
@@ -455,7 +455,7 @@ protected function postLoad(array &$queried_entities) {
     $queried_entities = $this->mapFromStorageRecords($queried_entities);
 
     // Attach field values.
-    if ($this->entityType->isFieldable()) {
+    if ($this->entityType->isExtendable()) {
       $this->loadFieldItems($queried_entities);
     }
 
diff --git a/core/modules/aggregator/lib/Drupal/aggregator/Entity/Feed.php b/core/modules/aggregator/lib/Drupal/aggregator/Entity/Feed.php
index 6762331..3fff757 100644
--- a/core/modules/aggregator/lib/Drupal/aggregator/Entity/Feed.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Entity/Feed.php
@@ -35,7 +35,7 @@
  *     "delete-form" = "aggregator.feed_delete",
  *   },
  *   base_table = "aggregator_feed",
- *   fieldable = TRUE,
+ *   extendable = TRUE,
  *   entity_keys = {
  *     "id" = "fid",
  *     "label" = "title",
diff --git a/core/modules/aggregator/lib/Drupal/aggregator/Entity/Item.php b/core/modules/aggregator/lib/Drupal/aggregator/Entity/Item.php
index 524e68f..5e92b60 100644
--- a/core/modules/aggregator/lib/Drupal/aggregator/Entity/Item.php
+++ b/core/modules/aggregator/lib/Drupal/aggregator/Entity/Item.php
@@ -24,7 +24,7 @@
  *     "view_builder" = "Drupal\aggregator\ItemViewBuilder"
  *   },
  *   base_table = "aggregator_item",
- *   fieldable = TRUE,
+ *   extendable = TRUE,
  *   entity_keys = {
  *     "id" = "iid",
  *     "label" = "title",
diff --git a/core/modules/block/custom_block/lib/Drupal/custom_block/Entity/CustomBlock.php b/core/modules/block/custom_block/lib/Drupal/custom_block/Entity/CustomBlock.php
index ea20a79..3bc8782 100644
--- a/core/modules/block/custom_block/lib/Drupal/custom_block/Entity/CustomBlock.php
+++ b/core/modules/block/custom_block/lib/Drupal/custom_block/Entity/CustomBlock.php
@@ -41,7 +41,7 @@
  *     "edit-form" = "custom_block.edit",
  *     "admin-form" = "custom_block.type_edit"
  *   },
- *   fieldable = TRUE,
+ *   extendable = TRUE,
  *   translatable = TRUE,
  *   entity_keys = {
  *     "id" = "id",
diff --git a/core/modules/block/lib/Drupal/block/Entity/Block.php b/core/modules/block/lib/Drupal/block/Entity/Block.php
index 94fe675..12fb180 100644
--- a/core/modules/block/lib/Drupal/block/Entity/Block.php
+++ b/core/modules/block/lib/Drupal/block/Entity/Block.php
@@ -31,7 +31,7 @@
  *     }
  *   },
  *   admin_permission = "administer blocks",
- *   fieldable = FALSE,
+ *   extendable = FALSE,
  *   entity_keys = {
  *     "id" = "id",
  *     "label" = "label"
diff --git a/core/modules/comment/comment.module b/core/modules/comment/comment.module
index 5445fb9..ce7736a 100644
--- a/core/modules/comment/comment.module
+++ b/core/modules/comment/comment.module
@@ -904,7 +904,7 @@ function comment_entity_predelete(EntityInterface $entity) {
   // mismatched types. So, we need to verify that the ID is numeric (even for an
   // entity type that has an integer ID, $entity->id() might be a string
   // containing a number), and then cast it to an integer when querying.
-  if ($entity->getEntityType()->isFieldable() && is_numeric($entity->id())) {
+  if ($entity->getEntityType()->isExtendable() && is_numeric($entity->id())) {
     $cids = db_select('comment', 'c')
       ->fields('c', array('cid'))
       ->condition('entity_id', (int) $entity->id())
diff --git a/core/modules/comment/comment.views.inc b/core/modules/comment/comment.views.inc
index 6429f28..e14731e 100644
--- a/core/modules/comment/comment.views.inc
+++ b/core/modules/comment/comment.views.inc
@@ -353,7 +353,7 @@ function comment_views_data() {
 
   // Provide a relationship for each entity type except comment.
   foreach ($entities_types as $type => $entity_type) {
-    if ($type == 'comment' || !$entity_type->isFieldable() || !$entity_type->getBaseTable()) {
+    if ($type == 'comment' || !$entity_type->isExtendable() || !$entity_type->getBaseTable()) {
       continue;
     }
     if ($fields = \Drupal::service('comment.manager')->getFields($type)) {
@@ -432,7 +432,7 @@ function comment_views_data() {
 
   // Provide a relationship for each entity type except comment.
   foreach ($entities_types as $type => $entity_type) {
-    if ($type == 'comment' || !$entity_type->isFieldable() || !$entity_type->getBaseTable()) {
+    if ($type == 'comment' || !$entity_type->isExtendable() || !$entity_type->getBaseTable()) {
       continue;
     }
     // This relationship does not use the 'field id' column, if the entity has
@@ -604,7 +604,7 @@ function comment_views_data_alter(&$data) {
 
   // Provide a integration for each entity type except comment.
   foreach (\Drupal::entityManager()->getDefinitions() as $entity_type_id => $entity_type) {
-    if ($entity_type_id == 'comment' || !$entity_type->isFieldable() || !$entity_type->getBaseTable()) {
+    if ($entity_type_id == 'comment' || !$entity_type->isExtendable() || !$entity_type->getBaseTable()) {
       continue;
     }
     $fields = \Drupal::service('comment.manager')->getFields($entity_type_id);
diff --git a/core/modules/comment/lib/Drupal/comment/Entity/Comment.php b/core/modules/comment/lib/Drupal/comment/Entity/Comment.php
index 6fd4552..ec4f3fb 100644
--- a/core/modules/comment/lib/Drupal/comment/Entity/Comment.php
+++ b/core/modules/comment/lib/Drupal/comment/Entity/Comment.php
@@ -36,7 +36,7 @@
  *   },
  *   base_table = "comment",
  *   uri_callback = "comment_uri",
- *   fieldable = TRUE,
+ *   extendable = TRUE,
  *   translatable = TRUE,
  *   entity_keys = {
  *     "id" = "cid",
diff --git a/core/modules/config_translation/config_translation.api.php b/core/modules/config_translation/config_translation.api.php
index a7db185..a840a8f 100644
--- a/core/modules/config_translation/config_translation.api.php
+++ b/core/modules/config_translation/config_translation.api.php
@@ -38,7 +38,7 @@ function hook_config_translation_info(&$info) {
   // If field UI is not enabled, the base routes of the type
   // "field_ui.instance_edit_$entity_type" are not defined.
   if (\Drupal::moduleHandler()->moduleExists('field_ui')) {
-    // Add fields entity mappers to all fieldable entity types defined.
+    // Add fields entity mappers to all extendable entity types defined.
     foreach ($entity_manager->getDefinitions() as $entity_type_id => $entity_type) {
       $base_route = NULL;
       try {
@@ -48,8 +48,8 @@ function hook_config_translation_info(&$info) {
         // Ignore non-existent routes.
       }
 
-      // Make sure entity type is fieldable and has a base route.
-      if ($entity_type->isFieldable() && !empty($base_route)) {
+      // Make sure entity type is extendable and has a base route.
+      if ($entity_type->isExtendable() && !empty($base_route)) {
         $info[$entity_type_id . '_fields'] = array(
           'base_route_name' => 'field_ui.instance_edit_' . $entity_type_id,
           'entity_type' => 'field_instance_config',
diff --git a/core/modules/config_translation/config_translation.module b/core/modules/config_translation/config_translation.module
index e6f8081..8cbf17c 100644
--- a/core/modules/config_translation/config_translation.module
+++ b/core/modules/config_translation/config_translation.module
@@ -107,7 +107,7 @@ function config_translation_config_translation_info(&$info) {
   // If field UI is not enabled, the base routes of the type
   // "field_ui.instance_edit_$entity_type" are not defined.
   if (\Drupal::moduleHandler()->moduleExists('field_ui')) {
-    // Add fields entity mappers to all fieldable entity types defined.
+    // Add fields entity mappers to all extendable entity types defined.
     foreach ($entity_manager->getDefinitions() as $entity_type_id => $entity_type) {
       $base_route = NULL;
       try {
@@ -117,8 +117,8 @@ function config_translation_config_translation_info(&$info) {
         // Ignore non-existent routes.
       }
 
-      // Make sure entity type is fieldable and has a base route.
-      if ($entity_type->isFieldable() && !empty($base_route)) {
+      // Make sure entity type is extendable and has a base route.
+      if ($entity_type->isExtendable() && !empty($base_route)) {
         $info[$entity_type_id . '_fields'] = array(
           'base_route_name' => 'field_ui.instance_edit_' . $entity_type_id,
           'entity_type' => 'field_instance_config',
diff --git a/core/modules/contact/lib/Drupal/contact/Entity/Message.php b/core/modules/contact/lib/Drupal/contact/Entity/Message.php
index a3a62cb..04381f7 100644
--- a/core/modules/contact/lib/Drupal/contact/Entity/Message.php
+++ b/core/modules/contact/lib/Drupal/contact/Entity/Message.php
@@ -29,7 +29,7 @@
  *     "bundle" = "category"
  *   },
  *   bundle_entity_type = "contact_category",
- *   fieldable = TRUE,
+ *   extendable = TRUE,
  *   links = {
  *     "admin-form" = "contact.category_edit"
  *   }
diff --git a/core/modules/content_translation/content_translation.admin.inc b/core/modules/content_translation/content_translation.admin.inc
index 8ea5d1c..ebade10 100644
--- a/core/modules/content_translation/content_translation.admin.inc
+++ b/core/modules/content_translation/content_translation.admin.inc
@@ -86,7 +86,7 @@ function _content_translation_form_language_content_settings_form_alter(array &$
 
       // Only show the checkbox to enable translation if the bundles in the
       // entity might have fields and if there are fields to translate.
-      if ($entity_type->isFieldable()) {
+      if ($entity_type->isExtendable()) {
         $fields = $entity_manager->getFieldDefinitions($entity_type_id, $bundle);
         if ($fields) {
           $form['settings'][$entity_type_id][$bundle]['translatable'] = array(
diff --git a/core/modules/entity/lib/Drupal/entity/Controller/EntityDisplayModeController.php b/core/modules/entity/lib/Drupal/entity/Controller/EntityDisplayModeController.php
index f0db942..71a0b13 100644
--- a/core/modules/entity/lib/Drupal/entity/Controller/EntityDisplayModeController.php
+++ b/core/modules/entity/lib/Drupal/entity/Controller/EntityDisplayModeController.php
@@ -23,7 +23,7 @@ class EntityDisplayModeController extends ControllerBase {
   public function viewModeTypeSelection() {
     $entity_types = array();
     foreach ($this->entityManager()->getDefinitions() as $entity_type_id => $entity_type) {
-      if ($entity_type->isFieldable() && $entity_type->hasViewBuilderClass()) {
+      if ($entity_type->isExtendable() && $entity_type->hasViewBuilderClass()) {
         $entity_types[$entity_type_id] = array(
           'title' => $entity_type->getLabel(),
           'link_path' => 'admin/structure/display-modes/view/add/' . $entity_type_id,
@@ -46,7 +46,7 @@ public function viewModeTypeSelection() {
   public function formModeTypeSelection() {
     $entity_types = array();
     foreach ($this->entityManager()->getDefinitions() as $entity_type_id => $entity_type) {
-      if ($entity_type->isFieldable() && $entity_type->hasFormClasses()) {
+      if ($entity_type->isExtendable() && $entity_type->hasFormClasses()) {
         $entity_types[$entity_type_id] = array(
           'title' => $entity_type->getLabel(),
           'link_path' => 'admin/structure/display-modes/form/add/' . $entity_type_id,
diff --git a/core/modules/entity/lib/Drupal/entity/EntityDisplayModeListBuilder.php b/core/modules/entity/lib/Drupal/entity/EntityDisplayModeListBuilder.php
index 67f4a2d..c994414 100644
--- a/core/modules/entity/lib/Drupal/entity/EntityDisplayModeListBuilder.php
+++ b/core/modules/entity/lib/Drupal/entity/EntityDisplayModeListBuilder.php
@@ -93,7 +93,7 @@ public function render() {
       }
 
       // Filter entities
-      if ($this->entityTypes[$entity_type]->isFieldable() && !$this->isValidEntity($entity_type)) {
+      if ($this->entityTypes[$entity_type]->isExtendable() && !$this->isValidEntity($entity_type)) {
         continue;
       }
 
diff --git a/core/modules/entity/lib/Drupal/entity/Form/EntityDisplayModeAddForm.php b/core/modules/entity/lib/Drupal/entity/Form/EntityDisplayModeAddForm.php
index 49be44f..7a287b4 100644
--- a/core/modules/entity/lib/Drupal/entity/Form/EntityDisplayModeAddForm.php
+++ b/core/modules/entity/lib/Drupal/entity/Form/EntityDisplayModeAddForm.php
@@ -48,7 +48,7 @@ public function validate(array $form, array &$form_state) {
    */
   protected function prepareEntity() {
     $definition = $this->entityManager->getDefinition($this->targetEntityTypeId);
-    if (!$definition->isFieldable() || !$definition->hasViewBuilderClass()) {
+    if (!$definition->isExtendable() || !$definition->hasViewBuilderClass()) {
       throw new NotFoundHttpException();
     }
 
diff --git a/core/modules/entity/lib/Drupal/entity/Form/EntityFormModeAddForm.php b/core/modules/entity/lib/Drupal/entity/Form/EntityFormModeAddForm.php
index 4cdece5..cee7dbb 100644
--- a/core/modules/entity/lib/Drupal/entity/Form/EntityFormModeAddForm.php
+++ b/core/modules/entity/lib/Drupal/entity/Form/EntityFormModeAddForm.php
@@ -19,7 +19,7 @@ class EntityFormModeAddForm extends EntityDisplayModeAddForm {
    */
   protected function prepareEntity() {
     $definition = $this->entityManager->getDefinition($this->targetEntityTypeId);
-    if (!$definition->isFieldable() || !$definition->hasFormClasses()) {
+    if (!$definition->isExtendable() || !$definition->hasFormClasses()) {
       throw new NotFoundHttpException();
     }
 
diff --git a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldFormatter/EntityReferenceFormatterBase.php b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldFormatter/EntityReferenceFormatterBase.php
index e0b6e0e..8d1bfcf 100644
--- a/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldFormatter/EntityReferenceFormatterBase.php
+++ b/core/modules/entity_reference/lib/Drupal/entity_reference/Plugin/Field/FieldFormatter/EntityReferenceFormatterBase.php
@@ -55,7 +55,7 @@ public function prepareView(array $entities_items) {
       }
     }
 
-    // Iterate through the fieldable entities again to attach the loaded data.
+    // Iterate through the extendable entities again to attach the loaded data.
     foreach ($entities_items as $items) {
       $rekey = FALSE;
       foreach ($items as $item) {
diff --git a/core/modules/field/field.module b/core/modules/field/field.module
index 8524b79..f124cff 100644
--- a/core/modules/field/field.module
+++ b/core/modules/field/field.module
@@ -27,7 +27,7 @@
  *
  * The Field API allows custom data fields to be attached to Drupal entities and
  * takes care of storing, loading, editing, and rendering field data. Any entity
- * type (node, user, etc.) can use the Field API to make itself "fieldable" and
+ * type (node, user, etc.) can use the Field API to make itself "extendable" and
  * thus allow fields to be attached to it. Other modules can provide a user
  * interface for managing custom fields via a web browser as well as a wide and
  * flexible variety of data type, form element, and display format capabilities.
@@ -36,7 +36,7 @@
  * the concept of a Bundle. A Field defines a particular type of data that can
  * be attached to entities. A Field Instance is a Field attached to a single
  * Bundle. A Bundle is a set of fields that are treated as a group by the Field
- * Attach API and is related to a single fieldable entity type.
+ * Attach API and is related to a single extendable entity type.
  *
  * For example, suppose a site administrator wants Article nodes to have a
  * subtitle and photo. Using the Field API or Field UI module, the administrator
@@ -60,8 +60,8 @@
  * - @link field_attach Field Attach API @endlink: Connects entity types to the
  *   Field API. Field Attach API functions load, store, generate Form API
  *   structures, display, and perform a variety of other functions for field
- *   data connected to individual entities. Fieldable entity types like node and
- *   user use this API to make themselves fieldable.
+ *   data connected to individual entities. Extendable entity types like node and
+ *   user use this API to make themselves extendable.
  *
  * - @link field_info Field Info API @endlink: Exposes information about all
  *   fields, instances, widgets, and related information defined by or with the
@@ -82,7 +82,7 @@ function field_help($path, $arg) {
     case 'admin/help#field':
       $output = '';
       $output .= '<h3>' . t('About') . '</h3>';
-      $output .= '<p>' . t('The Field module allows custom data fields to be defined for <em>entity</em> types (entities include content items, comments, user accounts, and taxonomy terms). The Field module takes care of storing, loading, editing, and rendering field data. Most users will not interact with the Field module directly, but will instead use the <a href="@field-ui-help">Field UI module</a> user interface. Module developers can use the Field API to make new entity types "fieldable" and thus allow fields to be attached to them. For more information, see the online handbook entry for <a href="@field">Field module</a>.', array('@field-ui-help' => url('admin/help/field_ui'), '@field' => 'http://drupal.org/documentation/modules/field')) . '</p>';
+      $output .= '<p>' . t('The Field module allows custom data fields to be defined for <em>entity</em> types (entities include content items, comments, user accounts, and taxonomy terms). The Field module takes care of storing, loading, editing, and rendering field data. Most users will not interact with the Field module directly, but will instead use the <a href="@field-ui-help">Field UI module</a> user interface. Module developers can use the Field API to make new entity types "extendable" and thus allow fields to be attached to them. For more information, see the online handbook entry for <a href="@field">Field module</a>.', array('@field-ui-help' => url('admin/help/field_ui'), '@field' => 'http://drupal.org/documentation/modules/field')) . '</p>';
       $output .= '<h3>' . t('Uses') . '</h3>';
       $output .= '<dl>';
       $output .= '<dt>' . t('Enabling field types') . '</dt>';
@@ -177,7 +177,7 @@ function field_system_info_alter(&$info, Extension $file, $type) {
  * Implements hook_entity_bundle_field_info().
  */
 function field_entity_bundle_field_info(EntityTypeInterface $entity_type, $bundle, array $base_field_definitions) {
-  if ($entity_type->isFieldable()) {
+  if ($entity_type->isExtendable()) {
     // Configurable fields, which are always attached to a specific bundle, are
     // added 'by bundle'.
     return Field::fieldInfo()->getBundleInstances($entity_type->id(), $bundle);
diff --git a/core/modules/field_ui/field_ui.module b/core/modules/field_ui/field_ui.module
index 40c8f28..290226f 100644
--- a/core/modules/field_ui/field_ui.module
+++ b/core/modules/field_ui/field_ui.module
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Allows administrators to attach custom fields to fieldable types.
+ * Allows administrators to attach custom fields to extendable types.
  */
 
 use Drupal\Core\Entity\EntityInterface;
@@ -73,8 +73,8 @@ function field_ui_permission() {
   $permissions = array();
 
   foreach (\Drupal::entityManager()->getDefinitions() as $entity_type_id => $entity_type) {
-    if ($entity_type->isFieldable()) {
-      // Create a permission for each fieldable entity to manage
+    if ($entity_type->isExtendable()) {
+      // Create a permission for each extendable entity to manage
       // the fields and the display.
       $permissions['administer ' . $entity_type_id . ' fields'] = array(
         'title' => t('%entity_label: Administer fields', array('%entity_label' => $entity_type->getLabel())),
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/Plugin/Derivative/FieldUiLocalTask.php b/core/modules/field_ui/lib/Drupal/field_ui/Plugin/Derivative/FieldUiLocalTask.php
index f7fd862..3fd7d48 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/Plugin/Derivative/FieldUiLocalTask.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/Plugin/Derivative/FieldUiLocalTask.php
@@ -74,7 +74,7 @@ public function getDerivativeDefinitions($base_plugin_definition) {
     $this->derivatives = array();
 
     foreach ($this->entityManager->getDefinitions() as $entity_type_id => $entity_type) {
-      if ($entity_type->isFieldable() && $entity_type->hasLinkTemplate('admin-form')) {
+      if ($entity_type->isExtendable() && $entity_type->hasLinkTemplate('admin-form')) {
         $this->derivatives["overview_$entity_type_id"] = array(
           'route_name' => "field_ui.overview_$entity_type_id",
           'weight' => 1,
@@ -177,7 +177,7 @@ public function getDerivativeDefinitions($base_plugin_definition) {
    */
   public function alterLocalTasks(&$local_tasks) {
     foreach ($this->entityManager->getDefinitions() as $entity_type => $entity_info) {
-      if ($entity_info->isFieldable() && $entity_info->hasLinkTemplate('admin-form')) {
+      if ($entity_info->isExtendable() && $entity_info->hasLinkTemplate('admin-form')) {
         $admin_form = $entity_info->getLinkTemplate('admin-form');
         $local_tasks["field_ui.fields:overview_$entity_type"]['base_route'] = $admin_form;
         $local_tasks["field_ui.fields:form_display_overview_$entity_type"]['base_route'] = $admin_form;
diff --git a/core/modules/field_ui/lib/Drupal/field_ui/Routing/RouteSubscriber.php b/core/modules/field_ui/lib/Drupal/field_ui/Routing/RouteSubscriber.php
index 14b1b6b..73a6d86 100644
--- a/core/modules/field_ui/lib/Drupal/field_ui/Routing/RouteSubscriber.php
+++ b/core/modules/field_ui/lib/Drupal/field_ui/Routing/RouteSubscriber.php
@@ -41,7 +41,7 @@ public function __construct(EntityManagerInterface $manager) {
   protected function alterRoutes(RouteCollection $collection, $provider) {
     foreach ($this->manager->getDefinitions() as $entity_type_id => $entity_type) {
       $defaults = array();
-      if ($entity_type->isFieldable() && $entity_type->hasLinkTemplate('admin-form')) {
+      if ($entity_type->isExtendable() && $entity_type->hasLinkTemplate('admin-form')) {
         // Try to get the route from the current collection.
         if (!$entity_route = $collection->get($entity_type->getLinkTemplate('admin-form'))) {
           continue;
diff --git a/core/modules/node/lib/Drupal/node/Entity/Node.php b/core/modules/node/lib/Drupal/node/Entity/Node.php
index bac1cb0..1af5374 100644
--- a/core/modules/node/lib/Drupal/node/Entity/Node.php
+++ b/core/modules/node/lib/Drupal/node/Entity/Node.php
@@ -39,7 +39,7 @@
  *   revision_table = "node_revision",
  *   revision_data_table = "node_field_revision",
  *   uri_callback = "node_uri",
- *   fieldable = TRUE,
+ *   extendable = TRUE,
  *   translatable = TRUE,
  *   entity_keys = {
  *     "id" = "nid",
diff --git a/core/modules/rest/lib/Drupal/rest/LinkManager/RelationLinkManager.php b/core/modules/rest/lib/Drupal/rest/LinkManager/RelationLinkManager.php
index 8cf4afa..7dadec1 100644
--- a/core/modules/rest/lib/Drupal/rest/LinkManager/RelationLinkManager.php
+++ b/core/modules/rest/lib/Drupal/rest/LinkManager/RelationLinkManager.php
@@ -87,7 +87,7 @@ protected function writeCache() {
     $data = array();
 
     foreach ($this->entityManager->getDefinitions() as $entity_type) {
-      if ($entity_type->isFieldable()) {
+      if (in_array('isFieldable', get_class_methods($entity_type))) {
         foreach ($this->entityManager->getBundleInfo($entity_type->id()) as $bundle => $bundle_info) {
           foreach ($this->entityManager->getFieldDefinitions($entity_type->id(), $bundle) as $field_definition) {
             $relation_uri = $this->getRelationUri($entity_type->id(), $bundle, $field_definition->getName());
diff --git a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityCacheTagsTestBase.php b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityCacheTagsTestBase.php
index f1a0c84..2eb3684 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityCacheTagsTestBase.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityCacheTagsTestBase.php
@@ -60,10 +60,10 @@ public function setUp() {
     // Create an entity.
     $this->entity = $this->createEntity();
 
-    // If this is a fieldable entity, then add a configurable field. We will use
+    // If this is a extendable entity, then add a configurable field. We will use
     // this configurable field in later tests to ensure that modifications to
     // field (instance) configuration invalidate render cache entries.
-    if ($this->entity->getEntityType()->isFieldable()) {
+    if ($this->entity->getEntityType()->isExtendable()) {
       // Add field, so we can modify the Field and FieldInstance entities to
       // verify that changes to those indeed clear cache tags.
       $field_name = drupal_strtolower($this->randomName());
@@ -337,7 +337,7 @@ public function testReferencedEntity() {
     }
 
 
-    if ($this->entity->getEntityType()->isFieldable()) {
+    if ($this->entity->getEntityType()->isExtendable()) {
       // Verify that after modifying a configurable field on the entity, there
       // is a cache miss.
       $this->pass("Test modification of referenced entity's configurable field.", 'Debug');
diff --git a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityWithUriCacheTagsTestBase.php b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityWithUriCacheTagsTestBase.php
index de46515..584cf8d 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityWithUriCacheTagsTestBase.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityWithUriCacheTagsTestBase.php
@@ -96,7 +96,7 @@ public function testEntityUri() {
     }
 
 
-    if ($this->entity->getEntityType()->isFieldable()) {
+    if ($this->entity->getEntityType()->isExtendable()) {
       // Verify that after modifying a configurable field on the entity, there
       // is a cache miss.
       $this->pass("Test modification of entity's configurable field.", 'Debug');
diff --git a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTest.php b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTest.php
index 1f93df1..08efae8 100644
--- a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTest.php
+++ b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTest.php
@@ -31,7 +31,7 @@
  *     "translation" = "Drupal\content_translation\ContentTranslationController"
  *   },
  *   base_table = "entity_test",
- *   fieldable = TRUE,
+ *   extendable = TRUE,
  *   field_cache = FALSE,
  *   entity_keys = {
  *     "id" = "id",
diff --git a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestBaseFieldDisplay.php b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestBaseFieldDisplay.php
index c76cff7..b5d74a4 100644
--- a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestBaseFieldDisplay.php
+++ b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestBaseFieldDisplay.php
@@ -24,7 +24,7 @@
  *     "translation" = "Drupal\content_translation\ContentTranslationController"
  *   },
  *   base_table = "entity_test",
- *   fieldable = TRUE,
+ *   extendable = TRUE,
  *   entity_keys = {
  *     "id" = "id",
  *     "uuid" = "uuid",
diff --git a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestCache.php b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestCache.php
index 6e509b5..7970c9a 100644
--- a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestCache.php
+++ b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestCache.php
@@ -23,7 +23,7 @@
  *     "translation" = "Drupal\content_translation\ContentTranslationController"
  *   },
  *   base_table = "entity_test",
- *   fieldable = TRUE,
+ *   extendable = TRUE,
  *   field_cache = TRUE,
  *   entity_keys = {
  *     "id" = "id",
diff --git a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestLabelCallback.php b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestLabelCallback.php
index 481711f..4c1484a 100644
--- a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestLabelCallback.php
+++ b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestLabelCallback.php
@@ -17,7 +17,7 @@
  *   base_table = "entity_test",
  *   revision_table = "entity_test_revision",
  *   label_callback = "entity_test_label_callback",
- *   fieldable = TRUE,
+ *   extendable = TRUE,
  *   entity_keys = {
  *     "id" = "id",
  *     "bundle" = "type"
diff --git a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestMul.php b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestMul.php
index 49f7d5f..c640e48 100644
--- a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestMul.php
+++ b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestMul.php
@@ -27,7 +27,7 @@
  *   },
  *   base_table = "entity_test_mul",
  *   data_table = "entity_test_mul_property_data",
- *   fieldable = TRUE,
+ *   extendable = TRUE,
  *   translatable = TRUE,
  *   entity_keys = {
  *     "id" = "id",
diff --git a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestMulRev.php b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestMulRev.php
index 870af93..3fbcb90 100644
--- a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestMulRev.php
+++ b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestMulRev.php
@@ -28,7 +28,7 @@
  *   data_table = "entity_test_mulrev_property_data",
  *   revision_table = "entity_test_mulrev_revision",
  *   revision_data_table = "entity_test_mulrev_property_revision",
- *   fieldable = TRUE,
+ *   extendable = TRUE,
  *   translatable = TRUE,
  *   entity_keys = {
  *     "id" = "id",
diff --git a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestRev.php b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestRev.php
index d14ad59..830242f 100644
--- a/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestRev.php
+++ b/core/modules/system/tests/modules/entity_test/lib/Drupal/entity_test/Entity/EntityTestRev.php
@@ -26,7 +26,7 @@
  *   },
  *   base_table = "entity_test_rev",
  *   revision_table = "entity_test_rev_revision",
- *   fieldable = TRUE,
+ *   extendable = TRUE,
  *   entity_keys = {
  *     "id" = "id",
  *     "uuid" = "uuid",
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Term.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Term.php
index 38c84e1..6a2db2b 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Term.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Entity/Term.php
@@ -34,7 +34,7 @@
  *   },
  *   base_table = "taxonomy_term_data",
  *   uri_callback = "taxonomy_term_uri",
- *   fieldable = TRUE,
+ *   extendable = TRUE,
  *   translatable = TRUE,
  *   entity_keys = {
  *     "id" = "tid",
diff --git a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/TaxonomyFormatterBase.php b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/TaxonomyFormatterBase.php
index 29beaf5..5077133 100644
--- a/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/TaxonomyFormatterBase.php
+++ b/core/modules/taxonomy/lib/Drupal/taxonomy/Plugin/Field/FieldFormatter/TaxonomyFormatterBase.php
@@ -23,7 +23,7 @@
   public function prepareView(array $entities_items) {
     $tids = array();
 
-    // Collect every possible term attached to any of the fieldable entities.
+    // Collect every possible term attached to any of the extendable entities.
     foreach ($entities_items as $items) {
       foreach ($items as $item) {
         // Force the array key to prevent duplicates.
@@ -35,7 +35,7 @@ public function prepareView(array $entities_items) {
     if ($tids) {
       $terms = entity_load_multiple('taxonomy_term', $tids);
 
-      // Iterate through the fieldable entities again to attach the loaded term
+      // Iterate through the extendable entities again to attach the loaded term
       // data.
       foreach ($entities_items as $items) {
         $rekey = FALSE;
diff --git a/core/modules/taxonomy/taxonomy.module b/core/modules/taxonomy/taxonomy.module
index 62952af..815785c 100644
--- a/core/modules/taxonomy/taxonomy.module
+++ b/core/modules/taxonomy/taxonomy.module
@@ -792,7 +792,7 @@ function taxonomy_autocomplete_validate($element, &$form_state) {
  * Functions to maintain taxonomy indexing.
  *
  * Taxonomy uses default field storage to store canonical relationships
- * between terms and fieldable entities. However its most common use case
+ * between terms and extendable entities. However its most common use case
  * requires listing all content associated with a term or group of terms
  * sorted by creation date. To avoid slow queries due to joining across
  * multiple node and field tables with various conditions and order by criteria,
diff --git a/core/modules/user/lib/Drupal/user/Entity/User.php b/core/modules/user/lib/Drupal/user/Entity/User.php
index dd9ac03..27687ad 100644
--- a/core/modules/user/lib/Drupal/user/Entity/User.php
+++ b/core/modules/user/lib/Drupal/user/Entity/User.php
@@ -37,7 +37,7 @@
  *   base_table = "users",
  *   uri_callback = "user_uri",
  *   label_callback = "user_format_name",
- *   fieldable = TRUE,
+ *   extendable = TRUE,
  *   translatable = TRUE,
  *   entity_keys = {
  *     "id" = "uid",
