function locale_translate_batch_build

Build a locale batch from an array of files.

Parameters

$files: Array of file objects to import.

array $options: An array with options that can have the following elements:

  • 'langcode': The language code. Optional, defaults to NULL, which means that the language will be detected from the name of the files.
  • 'overwrite_options': Overwrite options array as defined in Drupal\locale\PoDatabaseWriter. Optional, defaults to an empty array.
  • 'customized': Flag indicating whether the strings imported from $file are customized translations or come from a community source. Use LOCALE_CUSTOMIZED or LOCALE_NOT_CUSTOMIZED. Optional, defaults to LOCALE_NOT_CUSTOMIZED.
  • 'finish_feedback': Whether or not to give feedback to the user when the batch is finished. Optional, defaults to TRUE.

Return value

A batch structure or FALSE if $files was empty.

2 calls to locale_translate_batch_build()
locale_translate_batch_import_files in drupal/core/modules/locale/locale.bulk.inc
Prepare a batch to import all translations.
locale_translate_import_form_submit in drupal/core/modules/locale/locale.bulk.inc
Form submission handler for locale_translate_import_form().

File

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

Code

function locale_translate_batch_build($files, $options) {
  $options += array(
    'overwrite_options' => array(),
    'customized' => LOCALE_NOT_CUSTOMIZED,
    'finish_feedback' => TRUE,
  );
  $t = get_t();
  if (count($files)) {
    $operations = array();
    foreach ($files as $file) {

      // We call locale_translate_batch_import for every batch operation.
      $operations[] = array(
        'locale_translate_batch_import',
        array(
          $file,
          $options,
        ),
      );
    }

    // Save the translation status of all files.
    $operations[] = array(
      'locale_translate_batch_import_save',
      array(),
    );

    // Add a final step to refresh JavaScript and configuration strings.
    $operations[] = array(
      'locale_translate_batch_refresh',
      array(),
    );
    $batch = array(
      'operations' => $operations,
      'title' => $t('Importing interface translations'),
      'progress_message' => '',
      'error_message' => $t('Error importing interface translations'),
      'file' => drupal_get_path('module', 'locale') . '/locale.bulk.inc',
    );
    if ($options['finish_feedback']) {
      $batch['finished'] = 'locale_translate_batch_finished';
    }
    return $batch;
  }
  return FALSE;
}