function locale_translation_download_source

Same name and namespace in other branches
  1. 9 core/modules/locale/locale.batch.inc \locale_translation_download_source()
  2. 10 core/modules/locale/locale.batch.inc \locale_translation_download_source()
  3. 11.x core/modules/locale/locale.batch.inc \locale_translation_download_source()

Downloads a translation file from a remote server.

Parameters

object $source_file: Source file object with at least:

  • "uri": uri to download the file from.
  • "project": Project name.
  • "langcode": Translation language.
  • "version": Project version.
  • "filename": File name.

string $directory: Directory where the downloaded file will be saved. Defaults to the temporary file path.

Return value

object File object if download was successful. FALSE on failure.

2 calls to locale_translation_download_source()
LocaleTranslationDownloadTest::testUpdateImportSourceRemote in core/modules/locale/tests/src/Functional/LocaleTranslationDownloadTest.php
Tests translation download from remote sources.
locale_translation_batch_fetch_download in core/modules/locale/locale.batch.inc
Implements callback_batch_operation().

File

core/modules/locale/locale.batch.inc, line 296

Code

function locale_translation_download_source($source_file, $directory = 'temporary://') {
    if ($uri = system_retrieve_file($source_file->uri, $directory, FALSE, FileSystemInterface::EXISTS_REPLACE)) {
        $file = clone $source_file;
        $file->type = LOCALE_TRANSLATION_LOCAL;
        $file->uri = $uri;
        $file->directory = $directory;
        $file->timestamp = filemtime($uri);
        return $file;
    }
    \Drupal::logger('locale')->error('Unable to download translation file @uri.', [
        '@uri' => $source_file->uri,
    ]);
    return FALSE;
}

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