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