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_show'] && $values['translation_entity']) {
foreach (language_list(Language::STATE_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('"Show language selector" is not compatible with translating content that has default language: %choice. Either do not hide the language selector or pick a specific language.', array(
'%choice' => $locked_languages[$values['langcode']],
)));
}
}