1.20.x translation.module translation_node_validate(Node $node, $form)

Implements hook_node_validate().

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

File

modules/translation/translation.module, line 451
Manages content translations.

Code

function translation_node_validate(Node $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);
    if (isset($translations[$node->langcode]) && $translations[$node->langcode]->nid != $node->nid) {
      form_set_error('langcode', t('There is already a translation in this language.'));
    }
  }
}