function language_hierarchy_form_language_admin_edit_form_alter in Language Hierarchy 8
Same name and namespace in other branches
- 2.x language_hierarchy.module \language_hierarchy_form_language_admin_edit_form_alter()
Implements hook_form_FORM_ID_alter().
File
- ./
language_hierarchy.module, line 88 - Add sublanguage handling functionality to Drupal.
Code
function language_hierarchy_form_language_admin_edit_form_alter(&$form, FormStateInterface $form_state) {
/** @var Drupal\language\Entity\ConfigurableLanguage $this_language */
$this_language = $form_state
->getFormObject()
->getEntity();
$languages = Drupal::languageManager()
->getLanguages();
$options = [];
foreach ($languages as $language) {
// Only include this language if it's not itself.
if ($language
->getId() != $this_language
->getId()) {
$options[$language
->getId()] = $language
->getName();
}
}
$form['language_hierarchy_fallback_langcode'] = [
'#type' => 'select',
'#title' => t('Translation fallback language'),
'#description' => t('When a translation is not available for text, this fallback language is used. If that is not available either, the fallback continues onward.'),
'#options' => $options,
'#default_value' => $this_language
->getThirdPartySetting('language_hierarchy', 'fallback_langcode', ''),
// Allow to not fall back on any other language.
'#empty_value' => '',
];
$form['#entity_builders'][] = 'language_hierarchy_form_language_admin_edit_form_builder';
}