function install_import_translations in Drupal 10
Same name and namespace in other branches
- 8 core/includes/install.core.inc \install_import_translations()
- 9 core/includes/install.core.inc \install_import_translations()
Imports languages via a batch process during installation.
Parameters
$install_state: An array of information about the current installation state.
Return value
The batch definition, if there are language files to import.
1 string reference to 'install_import_translations'
- install_tasks in core/
includes/ install.core.inc - Returns a list of all tasks the installer currently knows about.
File
- core/
includes/ install.core.inc, line 1724 - API functions for installing Drupal.
Code
function install_import_translations(&$install_state) {
$module_handler = \Drupal::moduleHandler();
$module_handler
->loadInclude('locale', 'inc', 'locale.translation');
// If there is more than one language or the single one is not English, we
// should import translations.
$operations = install_download_additional_translations_operations($install_state);
$languages = \Drupal::languageManager()
->getLanguages();
if (count($languages) > 1 || !isset($languages['en'])) {
$operations[] = [
'_install_prepare_import',
[
array_keys($languages),
$install_state['server_pattern'],
],
];
// Set up a batch to import translations for drupal core. Translation import
// for contrib modules happens in install_import_translations_remaining.
foreach ($languages as $language) {
if (locale_translation_use_remote_source()) {
$operations[] = [
'locale_translation_batch_fetch_download',
[
'drupal',
$language
->getId(),
],
];
}
$operations[] = [
'locale_translation_batch_fetch_import',
[
'drupal',
$language
->getId(),
[],
],
];
}
$module_handler
->loadInclude('locale', 'inc', 'locale.fetch');
$batch = [
'operations' => $operations,
'title' => t('Updating translations.'),
'progress_message' => '',
'error_message' => t('Error importing translation files'),
'finished' => 'locale_translation_batch_fetch_finished',
'file' => \Drupal::service('extension.list.module')
->getPath('locale') . '/locale.batch.inc',
];
return $batch;
}
}