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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 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.