diff --git a/core/config/schema/core.entity.schema.yml b/core/config/schema/core.entity.schema.yml
index 711ca0f..481a018 100644
--- a/core/config/schema/core.entity.schema.yml
+++ b/core/config/schema/core.entity.schema.yml
@@ -362,3 +362,16 @@ field.formatter.settings.entity_reference_label:
       type: boolean
       label: 'Link label to the referenced entity'
 
+bundle_entity_with_plural_labels:
+  type: config_entity
+  label: 'Bundle'
+  mapping:
+    label_singular:
+      type: label
+      label: 'Indefinite singular name'
+    label_plural:
+      type: label
+      label: 'Indefinite plural name'
+    label_count:
+      type: plural_label
+      label: 'Count label'
diff --git a/core/lib/Drupal/Core/Config/Entity/EntityBundleWithPluralLabelsInterface.php b/core/lib/Drupal/Core/Config/Entity/EntityBundleWithPluralLabelsInterface.php
new file mode 100644
index 0000000..a7362d2
--- /dev/null
+++ b/core/lib/Drupal/Core/Config/Entity/EntityBundleWithPluralLabelsInterface.php
@@ -0,0 +1,37 @@
+<?php
+
+namespace Drupal\Core\Config\Entity;
+
+/**
+ * Allows bundle configuration entities to support label plural variants.
+ */
+interface EntityBundleWithPluralLabelsInterface {
+
+  /**
+   * Gets the singular label of the bundle.
+   *
+   * @return string|null
+   *   The singular label or NULL if it hasn't been set.
+   */
+  public function getSingularLabel();
+
+  /**
+   * Gets the plural label of the bundle.
+   *
+   * @return string|null
+   *   The plural label or NULL if it hasn't been set.
+   */
+  public function getPluralLabel();
+
+  /**
+   * Gets the count label of the bundle.
+   *
+   * @param int $count
+   *   The item count to display if the plural form was requested.
+   *
+   * @return string
+   *   The count label.
+   */
+  public function getCountLabel($count);
+
+}
diff --git a/core/lib/Drupal/Core/Config/Entity/EntityBundleWithPluralLabelsTrait.php b/core/lib/Drupal/Core/Config/Entity/EntityBundleWithPluralLabelsTrait.php
new file mode 100644
index 0000000..180e7cb
--- /dev/null
+++ b/core/lib/Drupal/Core/Config/Entity/EntityBundleWithPluralLabelsTrait.php
@@ -0,0 +1,106 @@
+<?php
+
+namespace Drupal\Core\Config\Entity;
+
+use Drupal\Component\Render\FormattableMarkup;
+use Drupal\Component\Utility\Unicode;
+use Drupal\Core\StringTranslation\PluralTranslatableMarkup;
+use Drupal\Core\StringTranslation\TranslatableMarkup;
+
+/**
+ * Allows bundle configuration entities to support label plural variants.
+ */
+trait EntityBundleWithPluralLabelsTrait {
+
+  /**
+   * The indefinite singular name of the bundle.
+   */
+  protected $label_singular;
+
+  /**
+   * The indefinite plural name of the bundle.
+   *
+   * @var string
+   */
+  protected $label_plural;
+
+  /**
+   * A definite singular/plural count label.
+   *
+   * Plural variants are separated by EXT (PluralTranslatableMarkup::DELIMITER).
+   *
+   * @var string
+   */
+  protected $label_count;
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getSingularLabel() {
+    // Provide a fallback in case label_singular is not set yet.
+    if (empty($this->label_singular)) {
+      if ($label = $this->label()) {
+        $this->label_singular = Unicode::strtolower($label);
+      }
+    }
+    return $this->label_singular;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getPluralLabel() {
+    // Provide a fallback in case label_plural is not set yet.
+    if (empty($this->label_plural)) {
+      if ($label = $this->label()) {
+        $arguments = ['@label' => Unicode::strtolower($label)];
+        $options = ['langcode' => $this->language()->getId()];
+        $this->label_plural = new TranslatableMarkup('@label items', $arguments, $options);
+      }
+    }
+    return $this->label_plural;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getCountLabel($count) {
+    $index = static::getPluralIndex($count);
+    $label_count = empty($this->label_count) ? [] : explode(PluralTranslatableMarkup::DELIMITER, $this->label_count);
+    if (isset($label_count[$index])) {
+      return new FormattableMarkup($label_count[$index], ['@count' => $count]);
+    }
+    $arguments = [
+      '@singular' => $this->getSingularLabel(),
+      '@plural' => $this->getPluralLabel(),
+    ];
+    return new PluralTranslatableMarkup($count, '1 @singular', '@count @plural', $arguments);
+  }
+
+  /**
+   * Gets the plural index through the gettext formula.
+   *
+   * @param int $count
+   *   Number to return plural for.
+   *
+   * @return int
+   *   The numeric index of the plural variant to use for this $langcode and
+   *   $count combination or -1 if the language was not found or does not have a
+   *   plural formula.
+   *
+   * @todo Remove this method when https://www.drupal.org/node/2766857 gets in.
+   */
+  protected static function getPluralIndex($count) {
+    // We have to test both if the function and the service exist since in
+    // certain situations it is possible that locale code might be loaded but
+    // the service does not exist. For example, where the parent test site has
+    // locale installed but the child site does not.
+    // @todo Refactor in https://www.drupal.org/node/2660338 so this code does
+    //   not depend on knowing that the Locale module exists.
+    if (function_exists('locale_get_plural') && \Drupal::hasService('locale.plural.formula')) {
+      return locale_get_plural($count);
+    }
+    return -1;
+  }
+
+}
diff --git a/core/modules/book/config/install/node.type.book.yml b/core/modules/book/config/install/node.type.book.yml
index 0c07a79..4deaa97 100644
--- a/core/modules/book/config/install/node.type.book.yml
+++ b/core/modules/book/config/install/node.type.book.yml
@@ -11,3 +11,6 @@ help: ''
 new_revision: true
 preview_mode: 1
 display_submitted: true
+label_singular: 'book page'
+label_plural: 'book pages'
+label_count: "1 book page\x03@count book pages"
diff --git a/core/modules/forum/config/optional/node.type.forum.yml b/core/modules/forum/config/optional/node.type.forum.yml
index 8ed965d..a6f19e8 100644
--- a/core/modules/forum/config/optional/node.type.forum.yml
+++ b/core/modules/forum/config/optional/node.type.forum.yml
@@ -11,3 +11,6 @@ help: ''
 new_revision: false
 preview_mode: 1
 display_submitted: true
+label_singular: 'forum topic'
+label_plural: 'forum topics'
+label_count: "1 forum topic\x03@count forum topics"
diff --git a/core/modules/node/config/schema/node.schema.yml b/core/modules/node/config/schema/node.schema.yml
index 11a93c5..14d8939 100644
--- a/core/modules/node/config/schema/node.schema.yml
+++ b/core/modules/node/config/schema/node.schema.yml
@@ -9,7 +9,7 @@ node.settings:
       label: 'Use administration theme when editing or creating content'
 
 node.type.*:
-  type: config_entity
+  type: bundle_entity_with_plural_labels
   label: 'Content type'
   mapping:
     name:
diff --git a/core/modules/node/node.post_update.php b/core/modules/node/node.post_update.php
new file mode 100644
index 0000000..4138af0
--- /dev/null
+++ b/core/modules/node/node.post_update.php
@@ -0,0 +1,31 @@
+<?php
+
+/**
+ * @file
+ * Post update functions for Node.
+ */
+
+use Drupal\node\Entity\NodeType;
+
+/**
+ * @addtogroup updates-8.3.x
+ * @{
+ */
+
+/**
+ * Add plural label variants to node-type entities.
+ */
+function node_post_update_plural_variants() {
+  /** @var \Drupal\node\NodeTypeInterface $node_type */
+  foreach (NodeType::loadMultiple() as $node_type) {
+    $node_type
+      ->set('label_singular', NULL)
+      ->set('label_plural', NULL)
+      ->set('label_count', NULL)
+      ->save();
+  }
+}
+
+/**
+ * @} End of "addtogroup updates-8.3.x".
+ */
diff --git a/core/modules/node/src/Entity/NodeType.php b/core/modules/node/src/Entity/NodeType.php
index 91d8a90..d2ab474 100644
--- a/core/modules/node/src/Entity/NodeType.php
+++ b/core/modules/node/src/Entity/NodeType.php
@@ -3,6 +3,8 @@
 namespace Drupal\node\Entity;
 
 use Drupal\Core\Config\Entity\ConfigEntityBundleBase;
+use Drupal\Core\Config\Entity\EntityBundleWithPluralLabelsInterface;
+use Drupal\Core\Config\Entity\EntityBundleWithPluralLabelsTrait;
 use Drupal\Core\Entity\EntityStorageInterface;
 use Drupal\node\NodeTypeInterface;
 
@@ -41,10 +43,15 @@
  *     "new_revision",
  *     "preview_mode",
  *     "display_submitted",
+ *     "label_singular",
+ *     "label_plural",
+ *     "label_count",
  *   }
  * )
  */
-class NodeType extends ConfigEntityBundleBase implements NodeTypeInterface {
+class NodeType extends ConfigEntityBundleBase implements NodeTypeInterface, EntityBundleWithPluralLabelsInterface {
+
+  use EntityBundleWithPluralLabelsTrait;
 
   /**
    * The machine name of this node type.
diff --git a/core/modules/node/src/NodeTypeForm.php b/core/modules/node/src/NodeTypeForm.php
index d5fb998..0014070 100644
--- a/core/modules/node/src/NodeTypeForm.php
+++ b/core/modules/node/src/NodeTypeForm.php
@@ -6,6 +6,7 @@
 use Drupal\Core\Entity\EntityManagerInterface;
 use Drupal\Core\Entity\EntityTypeInterface;
 use Drupal\Core\Form\FormStateInterface;
+use Drupal\Core\StringTranslation\PluralTranslatableMarkup;
 use Drupal\language\Entity\ContentLanguageSettings;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
@@ -182,6 +183,40 @@ public function form(array $form, FormStateInterface $form_state) {
       '#default_value' => $type->displaySubmitted(),
       '#description' => t('Author username and publish date will be displayed.'),
     );
+    $form['display']['plural'] = [
+      '#type' => 'fieldset',
+      '#title' => $this->t('Singular and plural labels'),
+      '#description' => $this->t('These are lowercase alternatives to the node type label for singular and plural cases.'),
+    ];
+    $form['display']['plural']['label_singular'] = [
+      '#type' => 'textfield',
+      '#title' => $this->t('Singular label'),
+      '#description' => $this->t("Enter a lowercase label for the singular case. Examples: 'article', 'page'."),
+      '#default_value' => $type->getSingularLabel(),
+    ];
+    $form['display']['plural']['label_plural'] = [
+      '#type' => 'textfield',
+      '#title' => $this->t('Plural label'),
+      '#description' => $this->t("Enter a lowercase label for the plural case. Examples: 'articles', 'pages'."),
+      '#default_value' => $type->getPluralLabel(),
+    ];
+
+    $arguments = ['@plural' => $type->getPluralLabel() ?: $this->t('items')];
+    $form['display']['label_count'] = [
+      '#type' => 'fieldset',
+      '#title' => $this->t('Count labels'),
+      '#description' => $this->t('Count labels are used to build a text representation of a certain number of @plural. The <code>@count</code> placeholder is available and will be replaced with the number of @plural.', $arguments),
+      '#tree' => TRUE,
+    ];
+    $plurals = $this->getNumberOfPlurals($type->language()->getId());
+    for ($i = 0; $i < $plurals; $i++) {
+      $form['display']['label_count'][$i] = [
+        '#type' => 'textfield',
+        '#title' => $this->getPluralVariantLabel($plurals, $i),
+        '#description' => $this->t('Text to use for this variant, @count will be replaced with the number of @plural.', $arguments),
+        '#default_value' => $this->getPluralVariantDefaultValue($i),
+      ];
+    }
 
     return $this->protectBundleIdElement($form);
   }
@@ -207,6 +242,9 @@ public function validateForm(array &$form, FormStateInterface $form_state) {
     if ($id == '0') {
       $form_state->setErrorByName('type', $this->t("Invalid machine-readable name. Enter a name other than %invalid.", array('%invalid' => $id)));
     }
+
+    // Pack the label_count values as a plural_label.
+    $form_state->setValue('label_count', implode(PluralTranslatableMarkup::DELIMITER, $form_state->getValue('label_count')));
   }
 
   /**
@@ -254,4 +292,64 @@ public function save(array $form, FormStateInterface $form_state) {
     $form_state->setRedirectUrl($type->urlInfo('collection'));
   }
 
+  /**
+   * Returns a plural variant label given the variant delta and variants count.
+   *
+   * @param int $plurals
+   *   The total number of plural variants.
+   * @param int $delta
+   *   The plural variant delta.
+   *
+   * @return \Drupal\Component\Render\MarkupInterface
+   *   The variant label.
+   */
+  protected function getPluralVariantLabel($plurals, $delta) {
+    if ($delta == 0) {
+      return $this->t('Singular form');
+    }
+    elseif ($plurals == 2 && $delta == 1) {
+      return $this->t('Plural form');
+    }
+    return $this->formatPlural($delta, 'First plural form', '@count. plural form');
+  }
+
+  /**
+   * Retrieves a plural variant from the backend or assures a decent fallback.
+   *
+   * @param int $delta
+   *   The plural variant delta.
+   *
+   * @return \Drupal\Component\Render\MarkupInterface|string
+   *   The plural variant default value.
+   */
+  protected function getPluralVariantDefaultValue($delta) {
+    static $label_count;
+
+    /** @var \Drupal\node\NodeTypeInterface $type */
+    $type = $this->getEntity();
+
+    if (!isset($label_count)) {
+      $label_count = $type->get('label_count');
+      $label_count = $label_count ? explode(PluralTranslatableMarkup::DELIMITER, $label_count) : [];
+    }
+
+    if (isset($label_count[$delta])) {
+      // A value was stored in the backend.
+      return $label_count[$delta];
+    }
+
+    $singular = $type->getSingularLabel();
+    $plural = $type->getPluralLabel();
+
+    if ($type->isNew() || ($delta == 0 && empty($singular) || ($delta > 0 && empty($plural)))) {
+      // Either the node type is not yet saved (we don't even know the entity
+      // label) or we cannot assure a decent fallback.
+      return '';
+    }
+
+    // Provide a fallback default value.
+    $arguments = ['@singular' => $singular, '@plural' => $plural];
+    return $delta == 0 ? $this->t('1 @singular', $arguments) : $this->t('@count @plural', $arguments);
+  }
+
 }
diff --git a/core/modules/node/src/Tests/NodeTypeTest.php b/core/modules/node/src/Tests/NodeTypeTest.php
index 0d2d8de..4e08095 100644
--- a/core/modules/node/src/Tests/NodeTypeTest.php
+++ b/core/modules/node/src/Tests/NodeTypeTest.php
@@ -245,4 +245,42 @@ public function testNodeTypeNoContentType() {
     $this->assertEqual(0, count($bundle_info->getBundleInfo('node')), 'The bundle information service has 0 bundles for the Node entity type.');
   }
 
+  /**
+   * Tests singular/plural labels.
+   */
+  public function testPluralLabels() {
+    $account = $this->drupalCreateUser(['administer content types', 'administer node fields']);
+    $this->drupalLogin($account);
+
+    $edit = [
+      'name' => 'Mouse',
+      'type' => 'mouse',
+    ];
+    $this->drupalPostForm('admin/structure/types/add', $edit, t('Save and manage fields'));
+
+    $type = NodeType::load('mouse');
+
+    // Test fallback values.
+    $this->assertEqual($type->getSingularLabel(), 'mouse');
+    $this->assertEqual($type->getPluralLabel(), 'mouse items');
+    $this->assertEqual($type->getCountLabel(1), '1 mouse');
+    $this->assertEqual($type->getCountLabel(5), '5 mouse items');
+
+    $edit = [
+      'label_singular' => 'mouse',
+      'label_plural' => 'mice',
+      'label_count[0]' => '1 mouse',
+      'label_count[1]' => '@count mice',
+    ];
+    $this->drupalPostForm('admin/structure/types/manage/mouse', $edit, t('Save content type'));
+
+    $type = NodeType::load('mouse');
+
+    // Test user entered values.
+    $this->assertEqual($type->getSingularLabel(), 'mouse');
+    $this->assertEqual($type->getPluralLabel(), 'mice');
+    $this->assertEqual($type->getCountLabel(1), '1 mouse');
+    $this->assertEqual($type->getCountLabel(5), '5 mice');
+  }
+
 }
diff --git a/core/modules/node/src/Tests/Update/NodeUpdateTest.php b/core/modules/node/src/Tests/Update/NodeUpdateTest.php
new file mode 100644
index 0000000..5328a41
--- /dev/null
+++ b/core/modules/node/src/Tests/Update/NodeUpdateTest.php
@@ -0,0 +1,44 @@
+<?php
+
+namespace Drupal\node\Tests\Update;
+
+use Drupal\system\Tests\Update\UpdatePathTestBase;
+
+/**
+ * Tests Node module updates.
+ *
+ * @group node
+ */
+class NodeUpdateTest extends UpdatePathTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setDatabaseDumpFiles() {
+    $this->databaseDumpFiles = [
+      __DIR__ . '/../../../../system/tests/fixtures/update/drupal-8-rc1.bare.standard.php.gz',
+    ];
+  }
+
+  /**
+   * Tests node_post_update_plural_variants().
+   *
+   * @see node_post_update_plural_variants()
+   */
+  public function testPostUpdatePluralVariants() {
+    // Check that plural label variant properties are not present.
+    $node_type = $this->config('node.type.page')->getRawData();
+    $this->assertFalse(array_key_exists('label_singular', $node_type));
+    $this->assertFalse(array_key_exists('label_plural', $node_type));
+    $this->assertFalse(array_key_exists('label_count', $node_type));
+
+    $this->runUpdates();
+
+    // Check that plural label variant properties were added as NULL.
+    $node_type = $this->config('node.type.page')->getRawData();
+    $this->assertTrue($node_type['label_singular'] === NULL);
+    $this->assertTrue($node_type['label_plural'] === NULL);
+    $this->assertTrue($node_type['label_count'] === NULL);
+  }
+
+}
diff --git a/core/modules/node/tests/src/Functional/NodeTypePluralLabelsTranslationTest.php b/core/modules/node/tests/src/Functional/NodeTypePluralLabelsTranslationTest.php
new file mode 100644
index 0000000..1898e1a
--- /dev/null
+++ b/core/modules/node/tests/src/Functional/NodeTypePluralLabelsTranslationTest.php
@@ -0,0 +1,136 @@
+<?php
+
+namespace Drupal\Tests\node\Functional;
+
+use Drupal\Component\Gettext\PoHeader;
+use Drupal\Core\StringTranslation\PluralTranslatableMarkup;
+use Drupal\language\Entity\ConfigurableLanguage;
+use Drupal\node\Entity\NodeType;
+use Drupal\Tests\BrowserTestBase;
+
+/**
+ * Ensures that node type plural labels translation work correctly.
+ *
+ * @group node
+ */
+class NodeTypePluralLabelsTranslationTest extends BrowserTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected static $modules = ['config_translation', 'field_ui', 'node'];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    // Additionally, install the English language.
+    ConfigurableLanguage::createFromLangcode('en')->save();
+
+    // Create and log in user.
+    $account = $this->drupalCreateUser([
+      'administer content types',
+      'administer node fields',
+      'translate configuration',
+    ]);
+    $this->drupalLogin($account);
+
+    /** @var \Drupal\locale\PluralFormulaInterface $plural_formula */
+    $plural_formula = $this->container->get('locale.plural.formula');
+
+    // Workaround to register the Romanian and English language formulae in
+    // state. Without this, the number of plurals is not correctly parsed.
+    $po_header = new PoHeader('ro');
+    $plural = $po_header->parsePluralForms('nplurals=3; plural=((n==1)?(0):(((n==0)||(((n%100)>0)&&((n%100)<20)))?(1):2));\n');
+    $plural_formula->setPluralFormula('ro', $plural[0], $plural[1]);
+    $plural = $po_header->parsePluralForms('nplurals=2; plural=(n > 1);\n');
+    $plural_formula->setPluralFormula('en', $plural[0], $plural[1]);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function installParameters() {
+    $parameters = parent::installParameters();
+    // Install the site in Romanian language.
+    $parameters['parameters']['langcode'] = 'ro';
+    return $parameters;
+  }
+
+  /**
+   * Tests the node type translation.
+   */
+  public function testNodeTypeTranslation() {
+    /** @var \Drupal\Core\Language\LanguageManagerInterface $language_manager */
+    $language_manager = $this->container->get('language_manager');
+
+    $this->drupalGet('admin/structure/types/add');
+
+    // Check that 3 plural variants are exposed for the Romanian language.
+    $this->assertSession()->fieldExists('label_count[0]');
+    $this->assertSession()->fieldExists('label_count[1]');
+    $this->assertSession()->fieldExists('label_count[2]');
+    $this->assertSession()->fieldNotExists('label_count[3]');
+
+    $edit = [
+      'name' => 'Copil',
+      'type' => 'child',
+      'label_singular' => 'copil',
+      'label_plural' => 'copii',
+      'label_count[0]' => '1 copil',
+      'label_count[1]' => '@count copii',
+      'label_count[2]' => '@count de copii',
+    ];
+    $this->drupalPostForm(NULL, $edit, 'Save and manage fields');
+
+    $edit = [
+      'translation[config_names][node.type.child][name]' => 'Child',
+      'translation[config_names][node.type.child][label_singular]' => 'child',
+      'translation[config_names][node.type.child][label_plural]' => 'children',
+      'translation[config_names][node.type.child][label_count][0]' => '1 child',
+      'translation[config_names][node.type.child][label_count][1]' => '@count children',
+    ];
+    $this->drupalPostForm('admin/structure/types/manage/child/translate/en/add', $edit, 'Save translation');
+
+    /** @var \Drupal\node\NodeTypeInterface $node_type */
+    $node_type = NodeType::load('child');
+
+    // Check that the default language (Romanian) original labels were stored.
+    self::assertEquals($node_type->label(), 'Copil');
+    self::assertEquals($node_type->getSingularLabel(), 'copil');
+    self::assertEquals($node_type->getPluralLabel(), 'copii');
+    self::assertEquals($node_type->getCountLabel(1), '1 copil');
+    self::assertEquals($node_type->getCountLabel(5), '5 copii');
+    self::assertEquals($node_type->getCountLabel(20), '20 de copii');
+
+    // Load the English version of the 'child' node-type.
+    $original_language = $language_manager->getConfigOverrideLanguage();
+    $language_manager->setConfigOverrideLanguage(ConfigurableLanguage::load('en'));
+    /** @var \Drupal\node\NodeTypeInterface $node_type */
+    $node_type = NodeType::load('child');
+    $language_manager->setConfigOverrideLanguage($original_language);
+
+    // Check that the English translated labels were stored.
+    self::assertEquals($node_type->label(), 'Child');
+    self::assertEquals($node_type->getSingularLabel(), 'child');
+    self::assertEquals($node_type->getPluralLabel(), 'children');
+    self::assertEquals($node_type->getCountLabel(1), '1 child');
+    self::assertEquals($node_type->getCountLabel(5), '5 children');
+    self::assertEquals($node_type->getCountLabel(20), '20 children');
+
+    // Clear the count label second variant to test variant delta preserving.
+    $edit = ['label_count[1]' => ''];
+    $this->drupalPostForm($node_type->urlInfo('edit-form'), $edit, 'Save content type');
+
+    $node_type = NodeType::load('child');
+
+    // Check that the variants delta has been preserved.
+    $variants = explode(PluralTranslatableMarkup::DELIMITER, $node_type->get('label_count'));
+    self::assertEquals($variants[0], '1 copil');
+    self::assertEquals($variants[1], '');
+    self::assertEquals($variants[2], '@count de copii');
+  }
+
+}
diff --git a/core/profiles/standard/config/install/node.type.article.yml b/core/profiles/standard/config/install/node.type.article.yml
index 1fd439c..9d6f11a 100644
--- a/core/profiles/standard/config/install/node.type.article.yml
+++ b/core/profiles/standard/config/install/node.type.article.yml
@@ -8,3 +8,6 @@ help: ''
 new_revision: true
 preview_mode: 1
 display_submitted: true
+label_singular: article
+label_plural: articles
+label_count: "1 article\x03@count articles"
diff --git a/core/profiles/standard/config/install/node.type.page.yml b/core/profiles/standard/config/install/node.type.page.yml
index 57dcc0c..2c1de80 100644
--- a/core/profiles/standard/config/install/node.type.page.yml
+++ b/core/profiles/standard/config/install/node.type.page.yml
@@ -8,3 +8,6 @@ help: ''
 new_revision: true
 preview_mode: 1
 display_submitted: false
+label_singular: page
+label_plural: pages
+label_count: "1 page\x03@count pages"
