content_translation_form_language_content_settings_validate(array $form, FormStateInterface $form_state)
Form validation handler for content_translation_admin_settings_form().
See also
content_translation_admin_settings_form_submit()
File
- core/modules/content_translation/content_translation.admin.inc, line 289
- The content translation administration forms.
Code
function content_translation_form_language_content_settings_validate(array $form, FormStateInterface $form_state) { $settings = &$form_state->getValue('settings'); foreach ($settings as $entity_type => $entity_settings) { foreach ($entity_settings as $bundle => $bundle_settings) { if (!empty($bundle_settings['translatable'])) { $name = "settings][$entity_type][$bundle][translatable"; $translatable_fields = isset($settings[$entity_type][$bundle]['fields']) ? array_filter($settings[$entity_type][$bundle]['fields']) : FALSE; if (empty($translatable_fields)) { $t_args = array('%bundle' => $form['settings'][$entity_type][$bundle]['settings']['#label']); $form_state->setErrorByName($name, t('At least one field needs to be translatable to enable %bundle for translation.', $t_args)); } $values = $bundle_settings['settings']['language']; if (empty($values['language_alterable']) && \Drupal::languageManager()->isLanguageLocked($values['langcode'])) { foreach (\Drupal::languageManager()->getLanguages(LanguageInterface::STATE_LOCKED) as $language) { $locked_languages[] = $language->getName(); } $form_state->setErrorByName($name, t('Translation is not supported if language is always one of: @locked_languages', array('@locked_languages' => implode(', ', $locked_languages)))); } } } } }
Please login to continue.