function tmgmt_i18n_string_translate_form_submit in Translation Management Tool 7
1 string reference to 'tmgmt_i18n_string_translate_form_submit'
- tmgmt_i18n_string_form_i18n_string_translate_page_overview_form_alter in sources/
i18n_string/ tmgmt_i18n_string.module - Implements hook_form_ID_alter().
File
- sources/
i18n_string/ tmgmt_i18n_string.module, line 173 - Source plugin for the Translation Management system that handles i18n strings.
Code
function tmgmt_i18n_string_translate_form_submit($form, &$form_state) {
$items = array_filter($form_state['values']['languages']);
$type = $form_state['values']['object']
->get_type();
$source_lang = variable_get_value('i18n_string_source_language');
$jobs = array();
$target_lang_registry = array();
// Loop through entities and create individual jobs for each source language.
foreach ($items as $item) {
$item_parts = explode(':', $item);
$target_lang = array_pop($item_parts);
$key = implode(':', $item_parts);
// For given source lang no job exists yet.
if (!isset($target_lang_registry[$target_lang])) {
// Create new job.
$job = tmgmt_job_create($source_lang, $target_lang, $GLOBALS['user']->uid);
// Add initial job item.
$job
->addItem('i18n_string', $type, $key);
// Add job identifier into registry
$target_lang_registry[$target_lang] = $job->tjid;
// Add newly created job into jobs queue.
$jobs[$job->tjid] = $job;
}
else {
$jobs[$target_lang_registry[$target_lang]]
->addItem('i18n_string', $type, $key);
}
}
tmgmt_ui_job_checkout_and_redirect($form_state, $jobs);
}