function content_translation_install

Same name and namespace in other branches
  1. 9 core/modules/content_translation/content_translation.install \content_translation_install()
  2. 8.9.x core/modules/content_translation/content_translation.install \content_translation_install()
  3. 11.x core/modules/content_translation/content_translation.install \content_translation_install()

Implements hook_install().

File

core/modules/content_translation/content_translation.install, line 14

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);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.