function locale_translation_download_source in Drupal 9
Same name and namespace in other branches
- 8 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 302 - Batch process to check the availability of remote or local po files.
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;
}