You are here

function locale_translate_delete_translation_files in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/locale/locale.bulk.inc \locale_translate_delete_translation_files()

Deletes interface translation files and translation history records.

Parameters

array $projects: (optional) Project names from which to delete the translation files and history. Defaults to all projects.

array $langcodes: (optional) Language codes from which to delete the translation files and history. Defaults to all languages.

Return value

bool TRUE if files are removed successfully. FALSE if one or more files could not be deleted.

2 calls to locale_translate_delete_translation_files()
locale_configurable_language_delete in core/modules/locale/locale.module
Implements hook_ENTITY_TYPE_delete() for 'configurable_language'.
locale_system_remove in core/modules/locale/locale.module
Delete translation history of modules and themes.

File

core/modules/locale/locale.bulk.inc, line 512
Mass import-export and batch import functionality for Gettext .po files.

Code

function locale_translate_delete_translation_files(array $projects = [], array $langcodes = []) {
  $fail = FALSE;
  locale_translation_file_history_delete($projects, $langcodes);

  // Delete all translation files from the translations directory.
  if ($files = locale_translate_get_interface_translation_files($projects, $langcodes)) {
    foreach ($files as $file) {
      try {
        \Drupal::service('file_system')
          ->delete($file->uri);
      } catch (FileException $e) {
        $fail = TRUE;
      }
    }
  }
  return !$fail;
}