Same filename and directory in other branches
  1. 10 core/modules/content_translation/content_translation.install
  2. 8.9.x core/modules/content_translation/content_translation.install

Installation functions for Content Translation module.

File

core/modules/content_translation/content_translation.install
View source
<?php

/**
 * @file
 * Installation functions for Content Translation module.
 */
use Drupal\Core\Installer\InstallerKernel;
use Drupal\Core\Url;

/**
 * Implements hook_install().
 */
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);
}

/**
 * Implements hook_update_last_removed().
 */
function content_translation_update_last_removed() {
  return 8400;
}

Functions