function translation_node_validate

Implements hook_node_validate().

Ensures that duplicate translations can't be created for the same source.

File

drupal/modules/translation/translation.module, line 402
Manages content translations.

Code

function translation_node_validate($node, $form) {

  // Only act on translatable nodes with a tnid or translation_source.
  if (translation_supported_type($node->type) && (!empty($node->tnid) || !empty($form['#node']->translation_source->nid))) {
    $tnid = !empty($node->tnid) ? $node->tnid : $form['#node']->translation_source->nid;
    $translations = translation_node_get_translations($tnid);
    $langcode = entity_language('node', $node);
    if (isset($translations[$langcode]) && $translations[$langcode]->nid != $node->nid) {
      form_set_error('language', t('There is already a translation in this language.'));
    }
  }
}