You are here

function content_translation_install in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/content_translation/content_translation.install \content_translation_install()
  2. 10 core/modules/content_translation/content_translation.install \content_translation_install()

Implements hook_install().

File

core/modules/content_translation/content_translation.install, line 14
Installation functions for Content Translation module.

Code

function content_translation_install() {

  // Assign a fairly low weight to ensure our implementation of
  // hook_module_implements_alter() is run among the last ones.
  module_set_weight('content_translation', 10);

  // Skip the guidance messages about enabling translation features if the
  // module was installed in the Drupal installation process.
  if (InstallerKernel::installationAttempted()) {
    return;
  }

  // Translation works when at least two languages are added.
  if (count(\Drupal::languageManager()
    ->getLanguages()) < 2) {
    $t_args = [
      ':language_url' => Url::fromRoute('entity.configurable_language.collection')
        ->toString(),
    ];
    $message = t('This site has only a single language enabled. <a href=":language_url">Add at least one more language</a> in order to translate content.', $t_args);
    \Drupal::messenger()
      ->addWarning($message);
  }

  // Point the user to the content translation settings.
  $t_args = [
    ':settings_url' => Url::fromRoute('language.content_settings_page')
      ->toString(),
  ];
  $message = t('<a href=":settings_url">Enable translation</a> for <em>content types</em>, <em>taxonomy vocabularies</em>, <em>accounts</em>, or any other element you wish to translate.', $t_args);
  \Drupal::messenger()
    ->addWarning($message);
}