Version 1
[yaffs-website] / web / core / modules / content_translation / content_translation.install
diff --git a/web/core/modules/content_translation/content_translation.install b/web/core/modules/content_translation/content_translation.install
new file mode 100644 (file)
index 0000000..dc12d9f
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+
+/**
+ * @file
+ * Installation functions for Content Translation module.
+ */
+
+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);
+
+  // 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_set_message($message, 'warning');
+  }
+  // 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_set_message($message, 'warning');
+}
+
+/**
+ * Rebuild the routes as the content translation routes have now new names.
+ */
+function content_translation_update_8001() {
+  \Drupal::service('router.builder')->rebuild();
+}
+
+/**
+ * Clear field type plugin caches to fix image field translatability.
+ */
+function content_translation_update_8002() {
+  \Drupal::service('plugin.manager.field.field_type')->clearCachedDefinitions();
+}