Dieses Repository bietet eine spezialisierte Theme-Erweiterung für den Drupal CMS Installer (Starshot), um die Installationsroutine vollständig auf Deutsch zu lokalisieren.
This repository provides a specialized theme extension for the Drupal CMS Installer (Starshot) to fully localize the installation routine into German.
Der Standard-Installer von Drupal CMS ist aktuell auf Englisch festgeschrieben. Dieses Paket greift in die Erstinsalltion im Webbrowser ein, sobald "Deutsch" als Installationssprache gewählt wird:
- Automatisches Theme-Patching: Ein PHP-Script (
scripts/theme-fix.php) passt die Konfiguration des Original-Installers (drupal_cms_installer.info.yml) automatisch an, um dieses Theme als Standard zu setzen. - UI-Übersetzungen: Über
js/installer-translations.jswerden englische Texte wie "Choose a site template" direkt im Browser durch deutsche Entsprechungen ersetzt. - Fortschrittsanzeige: Die Fortschrittsbalken werden via
js/progress-override.jsangepasst, um deutsche Statusmeldungen anzuzeigen.
⚠️ Composer führtpost-install-cmd/post-update-cmd-Scripts nur aus dem Root-Package aus, nicht aus Abhängigkeiten. Dertheme-fix.php-Patch wird also nicht automatisch bei jedemcomposer updateneu angewendet — ein Update vondrupal/drupal_cms_installerkann die Dateidrupal_cms_installer.info.ymlüberschreiben und den Patch damit zurücksetzen. Führe in diesem Fallinstaller_de_patch.sh(siehe unten) erneut in deinem Projektverzeichnis aus, oder rufephp web/profiles/contrib/drupal_cms_installer_de/scripts/theme-fix.phpmanuell auf.
Das Script erkennt automatisch, ob es ein frisches Drupal CMS installieren soll oder ob es ein bereits per Composer installiertes Drupal-CMS-Projekt nachträglich patchen soll:
-
Frische Installation: Führe das Script in einem leeren Verzeichnis aus. Es lädt Drupal CMS per
composer create-projectin einen neuen Unterordnercms/und wendet den Patch dort an. Über ein optionales erstes Argument lässt sich der Zielordner anpassen (Default bleibtcms). Da beicurl | bashArgumente nicht automatisch durchgereicht werden, ist die-s ---Syntax nötig:curl -sSL https://raw.githubusercontent.com/nodedropweb/drupal_cms_installer_de/master/installer_de_patch.sh | bash -s -- drupalcms -
Bestehendes Projekt: Führe das Script direkt im Wurzelverzeichnis deines bestehenden Drupal-CMS-Composer-Projekts aus (dort, wo
composer.jsonundweb/liegen — z.B. dein Projekt-Root, nicht derweb/-Ordner selbst). Das Script erkennt die vorhandene Installation anweb/profiles/contrib/drupal_cms_installerund bindet das deutsche Theme direkt dort ein, statt ein neues, ungenutztes Projekt anzulegen.Wichtig: Ist die Seite bereits fertig installiert (es existiert schon eine
web/sites/default/settings.php), hat der Patch keinen sichtbaren Effekt auf die laufende Seite — der Installer-Theme-Fix greift nur bei einem (erneuten) Aufruf voncore/install.php. In diesem Fall entfernt das Script den Theme-Ordner stattdessen automatisch wieder.
ℹ️ Kein Composer-Eintrag:
drupal_cms_installer_deist kein echtes drupal.org-Projekt und wird deshalb bewusst nicht percomposer requireeingebunden — das Script lädt die Dateien stattdessen direkt pergit clonenachweb/profiles/contrib/drupal_cms_installer_de(dort findet Drupal Erweiterungen ohnehin automatisch).composer.jsonundcomposer.lockbleiben dadurch komplett unverändert; es gibt keinen VCS-Repository-Eintrag, der späterecomposer-Operationen (z. B. Project Browsers UI-Install über Package Manager) mit einem Host-Key- oder Auth-Fehler zum Absturz bringen könnte. Nur die echten drupal.org-Zusatzmodule (pb_localizer,yoast_seo_i18n,default_content_locale) landen regulär incomposer.json. Führeinstaller_de_patch.shein zweites Mal im selben Verzeichnis aus, sobaldweb/sites/default/settings.phpexistiert — das Script erkennt das automatisch und entfernt den Theme-Ordner wieder, da er nach der Ersteinrichtung ohnehin inaktiv ist.
curl -sSL https://raw.githubusercontent.com/nodedropweb/drupal_cms_installer_de/master/installer_de_patch.sh | bashThe default Drupal CMS installer is currently hardcoded for English. This package intervenes as soon as "German" is selected as the installation language:
- Automatic Theme Patching: A PHP script (
scripts/theme-fix.php) automatically modifies the original installer's configuration (drupal_cms_installer.info.yml) to set this theme as the default. - UI Translations: Using
js/installer-translations.js, English strings like "Choose a site template" are replaced with German equivalents directly in the browser. - Progress Bar Override: Customizes the progress bar via
js/progress-override.jsto display German status messages.
⚠️ Composer only runspost-install-cmd/post-update-cmdscripts from the root package, never from dependencies. Thetheme-fix.phppatch is therefore not re-applied automatically on everycomposer update— updatingdrupal/drupal_cms_installercan overwritedrupal_cms_installer.info.ymland reset the patch. Re-runinstaller_de_patch.sh(see below) in your project directory, or callphp web/profiles/contrib/drupal_cms_installer_de/scripts/theme-fix.phpmanually.
The script automatically detects whether to install a fresh Drupal CMS or patch an already Composer-installed Drupal CMS project:
-
Fresh install: Run the script in an empty directory. It downloads Drupal CMS via
composer create-projectinto a newcms/subfolder and applies the patch there. An optional first argument overrides the target folder (default stayscms). Sincecurl | bashdoesn't forward arguments automatically, use the-s --syntax:curl -sSL https://raw.githubusercontent.com/nodedropweb/drupal_cms_installer_de/master/installer_de_patch.sh | bash -s -- drupalcms -
Existing project: Run the script directly in the root of your existing Drupal CMS Composer project (where
composer.jsonandweb/live — your project root, not theweb/folder itself). The script detects the existing installation viaweb/profiles/contrib/drupal_cms_installerand wires the German theme in directly, instead of creating a new, unused project.Note: if the site is already fully installed (a
web/sites/default/settings.phpalready exists), the patch has no visible effect on the running site — the installer theme fix only applies the next timecore/install.phpruns. In that case the script instead automatically removes the theme folder again.
ℹ️ No composer entry:
drupal_cms_installer_deisn't a real drupal.org project, so it's deliberately not installed viacomposer require— the script instead downloads it directly withgit cloneintoweb/profiles/contrib/drupal_cms_installer_de(where Drupal discovers extensions automatically anyway).composer.jsonandcomposer.lockstay completely untouched — there's no VCS repository entry that could make latercomposeroperations (e.g. Project Browser's UI install via Package Manager) fail with a host-key or auth error. Only the real drupal.org add-on modules (pb_localizer,yoast_seo_i18n,default_content_locale) go intocomposer.jsonas usual. Runinstaller_de_patch.sha second time in the same directory onceweb/sites/default/settings.phpexists — the script detects that automatically and removes the theme folder again, since it's inert after the initial setup anyway.
curl -sSL https://raw.githubusercontent.com/nodedropweb/drupal_cms_installer_de/master/installer_de_patch.sh | bash- Package Name:
drupal/drupal_cms_installer_de - Type:
drupal-profile - Base Theme:
drupal_cms_installer_theme - License:
GPL-2.0-or-later