function locale_configurable_language_delete

Same name and namespace in other branches
  1. 9 core/modules/locale/locale.module \locale_configurable_language_delete()
  2. 8.9.x core/modules/locale/locale.module \locale_configurable_language_delete()

Implements hook_ENTITY_TYPE_delete() for 'configurable_language'.

File

core/modules/locale/locale.module, line 231

Code

function locale_configurable_language_delete(ConfigurableLanguageInterface $language) {
  // Remove translations.
  \Drupal::service('locale.storage')->deleteTranslations([
    'language' => $language->id(),
  ]);
  // Remove interface translation files.
  \Drupal::moduleHandler()->loadInclude('locale', 'inc', 'locale.bulk');
  locale_translate_delete_translation_files([], [
    $language->id(),
  ]);
  // Remove translated configuration objects.
  \Drupal::service('locale.config_manager')->deleteLanguageTranslations($language->id());
  // Changing the language settings impacts the interface:
  _locale_invalidate_js($language->id());
  \Drupal::cache('render')->deleteAll();
  // Clear locale translation caches.
  locale_translation_status_delete_languages([
    $language->id(),
  ]);
  \Drupal::cache()->delete('locale:' . $language->id());
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.