Form validation handler for element added with translation_entity_language_configuration_element_process().
Checks whether translation can be enabled: if language is set to one of the special languages and language selector is not hidden, translation cannot be enabled.
translation_entity_language_configuration_element_submit()
function translation_entity_language_configuration_element_validate($element, array &$form_state, array $form) {
$key = $form_state['translation_entity']['key'];
$values = $form_state['values'][$key];
if (language_is_locked($values['langcode']) && $values['language_hidden'] && $values['translation_entity']) {
foreach (language_list(LANGUAGE_LOCKED) as $language) {
$locked_languages[] = $language->name;
}
// @todo Set the correct form element name as soon as the element parents
// are correctly set. We should be using NestedArray::getValue() but for
// now we cannot.
form_set_error('', t('Translation is not supported if language is always one of: @locked_languages', array(
'@locked_languages' => implode(', ', $locked_languages),
)));
}
}