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. 10 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.