function translation_node_validate

Implements hook_node_validate().

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

File

modules/translation/translation.module, line 402

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

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.