Page callback for the translation addition page.
EntityInterface $entity: The entity being translated.
Language $source: (optional) The language of the values being translated. Defaults to the entity language.
Language $target: (optional) The language of the translated values. Defaults to the current content language.
array A processed form array ready to be rendered.
function translation_entity_add_page(EntityInterface $entity, Language $source = NULL, Language $target = NULL) {
$source = !empty($source) ? $source : $entity
->language();
$target = !empty($target) ? $target : language(LANGUAGE_TYPE_CONTENT);
// @todo Exploit the upcoming hook_entity_prepare() when available.
translation_entity_prepare_translation($entity, $source, $target);
$info = $entity
->entityInfo();
$operation = isset($info['default_operation']) ? $info['default_operation'] : 'default';
$form_state = entity_form_state_defaults($entity, $operation, $target->langcode);
$form_state['translation_entity']['source'] = $source;
$form_state['translation_entity']['target'] = $target;
$form_id = entity_form_id($entity);
return drupal_build_form($form_id, $form_state);
}