function entity_translation_unified_form_form_language_content_settings_form_alter in Entity Translation Unified Form 8
Implements hook_form_form_language_content_settings_form_alter().
Add the "Enable ETUF" checkbox to the content language page: admin/config/regional/content-language.
File
- ./
entity_translation_unified_form.module, line 375
Code
function entity_translation_unified_form_form_language_content_settings_form_alter(&$form, FormStateInterface $form_state) {
// Inject into the content language settings the translation settings if the
// user has the required permission.
if (!\Drupal::currentUser()
->hasPermission('administer content translation')) {
return;
}
/** @var \Drupal\content_translation\ContentTranslationManagerInterface $content_translation_manager */
$content_translation_manager = \Drupal::service('content_translation.manager');
$entity_manager = \Drupal::entityTypeManager();
$bundle_info_service = \Drupal::service('entity_type.bundle.info');
foreach ($form['#labels'] as $entity_type_id => $label) {
$entity_type = $entity_manager
->getDefinition($entity_type_id);
$entity_type_translatable = $content_translation_manager
->isSupported($entity_type_id);
if ($entity_type_translatable) {
foreach ($bundle_info_service
->getBundleInfo($entity_type_id) as $bundle => $bundle_info) {
$form['settings'][$entity_type_id][$bundle]['settings']['content_translation']['entity_translation_unified_form_enable'] = [
'#title' => t('Place all content-translatable fields for all enabled languages inline on the entity add/edit form'),
'#type' => 'checkbox',
'#default_value' => entity_translation_unified_form_bundle_enabled($entity_type_id, $bundle),
'#states' => [
'visible' => [
':input[name="settings[' . $entity_type_id . '][' . $bundle . '][translatable]"]' => [
'checked' => TRUE,
],
],
],
];
$form['settings'][$entity_type_id][$bundle]['settings']['content_translation']['entity_translation_unified_form_theme'] = [
'#title' => t('Select the inline display mode'),
'#type' => 'select',
'#default_value' => entity_translation_unified_form_bundle_display_mode($entity_type_id, $bundle),
'#options' => entity_translation_unified_form_get_mode_options(),
'#states' => [
'visible' => [
':input[name="settings[' . $entity_type_id . '][' . $bundle . '][translatable]"]' => [
'checked' => TRUE,
],
'and',
':input[name="settings[' . $entity_type_id . '][' . $bundle . '][settings][content_translation][entity_translation_unified_form_enable]"]' => [
'checked' => TRUE,
],
],
],
];
$form['settings'][$entity_type_id][$bundle]['settings']['content_translation']['entity_translation_unified_form_language'] = [
'#title' => t('Select how to display language name'),
'#type' => 'select',
'#default_value' => entity_translation_unified_form_language_display($entity_type_id, $bundle),
'#options' => entity_translation_unified_form_get_language_display_options(),
'#states' => [
'visible' => [
':input[name="settings[' . $entity_type_id . '][' . $bundle . '][settings][content_translation][entity_translation_unified_form_enable]"]' => [
'checked' => TRUE,
],
'and',
':input[name="settings[' . $entity_type_id . '][' . $bundle . '][settings][content_translation][entity_translation_unified_form_theme]"]' => [
'value' => 'EntityTranslationUnifiedFormInlineMode',
],
'and',
':input[name="settings[' . $entity_type_id . '][' . $bundle . '][translatable]"]' => [
'checked' => TRUE,
],
],
],
];
$form['settings'][$entity_type_id][$bundle]['settings']['content_translation']['entity_translation_unified_form_translate_labels'] = [
'#title' => t('Translate fields labels and descriptions in each language'),
'#type' => 'checkbox',
'#default_value' => entity_translation_unified_form_translate_labels_enabled($entity_type_id, $bundle),
'#states' => [
'visible' => [
':input[name="settings[' . $entity_type_id . '][' . $bundle . '][settings][content_translation][entity_translation_unified_form_enable]"]' => [
'checked' => TRUE,
],
'and',
':input[name="settings[' . $entity_type_id . '][' . $bundle . '][settings][content_translation][entity_translation_unified_form_theme]"]' => [
'value' => 'EntityTranslationUnifiedFormInlineMode',
],
'and',
':input[name="settings[' . $entity_type_id . '][' . $bundle . '][translatable]"]' => [
'checked' => TRUE,
],
],
],
];
if ($entity_type_id == 'node') {
$form['settings'][$entity_type_id][$bundle]['settings']['content_translation']['entity_translation_unified_form_sbs_enable'] = [
'#title' => t('Enable side-by-side UI mode on the node add/edit form'),
'#type' => 'checkbox',
'#default_value' => entity_translation_unified_form_sbs_enabled('node', $bundle),
'#states' => [
'visible' => [
':input[name="settings[' . $entity_type_id . '][' . $bundle . '][translatable]"]' => [
'checked' => TRUE,
],
'and',
':input[name="settings[' . $entity_type_id . '][' . $bundle . '][settings][content_translation][entity_translation_unified_form_enable]"]' => [
'checked' => TRUE,
],
],
],
];
}
if ($entity_type_id == 'node') {
$form['settings'][$entity_type_id][$bundle]['settings']['content_translation']['entity_translation_unified_form_moderation_sync_disable'] = [
'#title' => t('Disable moderation sync mode on the node add/edit form for this bundle'),
'#type' => 'checkbox',
'#default_value' => entity_translation_unified_form_moderation_sync_disabled('node', $bundle),
'#states' => [
'visible' => [
':input[name="settings[' . $entity_type_id . '][' . $bundle . '][translatable]"]' => [
'checked' => TRUE,
],
],
],
];
}
}
}
}
}