Form submission handler for locale_translate_import_form().
function locale_translate_import_form_submit($form, &$form_state) {
// Ensure we have the file uploaded.
if ($file = file_save_upload('file', $form['file']['#upload_validators'], 'translations://', 0)) {
// Add language, if not yet supported.
$language = language_load($form_state['values']['langcode']);
if (empty($language)) {
$language = new Language(array(
'langcode' => $form_state['values']['langcode'],
));
$language = language_save($language);
drupal_set_message(t('The language %language has been created.', array(
'%language' => t($language->name),
)));
}
$options = array(
'langcode' => $form_state['values']['langcode'],
'overwrite_options' => $form_state['values']['overwrite_options'],
'customized' => $form_state['values']['customized'] ? LOCALE_CUSTOMIZED : LOCALE_NOT_CUSTOMIZED,
);
$file = locale_translate_file_attach_properties($file, $options);
$batch = locale_translate_batch_build(array(
$file->uri => $file,
), $options);
batch_set($batch);
}
else {
form_set_error('file', t('File to import not found.'));
$form_state['rebuild'] = TRUE;
return;
}
$form_state['redirect'] = 'admin/config/regional/translate';
return;
}