function translation_entity_add_page

Page callback for the translation addition page.

Parameters

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.

Return value

array A processed form array ready to be rendered.

1 string reference to 'translation_entity_add_page'
translation_entity_menu in drupal/core/modules/translation_entity/translation_entity.module
Implements hook_menu().

File

drupal/core/modules/translation_entity/translation_entity.pages.inc, line 181
The entity translation user interface.

Code

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);
}