Loading the correct entity bundle label is not quite straightforward. Because it is a config entity, you need to switch the active configuration language and revert it. Below is an example of how to get a translated entity bundle label.
// Get required services.
// Inside classes, dependency injection should be used.
$languageManager = \Drupal::languageManager();
$entityTypeManager = \Drupal::entityTypeManager();
// Get entity type id.
$entity_type = $entity->getEntityType();
// Get entity bundle id.
$bundle = $entity->bundle();
// Get entity language code.
$language = $entity->language();
// Store original configuration language to set it back later.
$original_language = $languageManager->getConfigOverrideLanguage();
// Override config language to match the languge we need label in.
$languageManager->setConfigOverrideLanguage($language);
/** @var \Drupal\Core\Config\Entity\ConfigEntityBundleBase $bundle */
$bundle = $entityTypeManager->getStorage($entity_type->getBundleEntityType())->load($bundle);
if ($bundle) {
// Get bundle label.
$bundle_label = $bundle->get('name');
}
// Revert language to previous.
$languageManager->setConfigOverrideLanguage($original_language);