Zum Inhalt

Funktionsweise

Der Drupal CMS German Installer ist ein Theme für den Drupal-CMS-Installer mit einigen Skripten. Er baut auf dem offiziellen Installer-Theme drupal_cms_installer_theme auf und klinkt sich nur ein, wenn Deutsch als Sprache gewählt ist.

Die Bestandteile

Datei Aufgabe
installer_de_patch.sh Legt ein neues Drupal CMS an oder bereitet ein bestehendes vor, lädt den Installer, fügt die Zusatzmodule hinzu und räumt nach der Installation wieder auf.
scripts/theme-fix.php Macht diesen Installer zum Theme des Drupal-CMS-Installers.
scripts/i18n-extras-fix.php Fügt die Installationsschritte für Modul, Zusatzmodule und Korrekturen an den richtigen Stellen in den Ablauf von Drupal CMS ein.
recipes/i18n_extras Rezept mit den Zusatzmodulen, läuft direkt nach der gewählten Vorlage.
js/installer-translations.js Übersetzt Texte, die auf localize.drupal.org fehlen oder falsch sind, direkt im Browser, auch aria-label, placeholder und title für Screenreader.
js/progress-override.js Übersetzt die Statusmeldungen während der Installation.
js/langcode.js Merkt sich die gewählte Sprache, auch wenn der Installer den langcode-Parameter später auf die Sprache der Vorlage umstellt.
js/vendor-highlight.js, js/submit-transition.js Hebt den Namen des Anbieters einer Vorlage hervor und blendet beim Weiterklicken sanft über.
css/ Dunkelmodus in Drupal-Navy, Typografie und Animationen.
tests/web-installer/ Installiert eine Vorlage über den Web-Installer auf Deutsch und prüft ihre Seiten, siehe Tests.

Die Installation spricht Deutsch

Seit Drupal CMS 2.2 lädt der Installer selbst eine offizielle deutsche Übersetzung von localize.drupal.org. Der German Installer ergänzt nur, was dort fehlt oder falsch ist:

  • den Sprachdialog („Install your site in a different language“, Suchfeld, Schließen-Button),
  • die Beschreibungen der Vorlagen, „Learn more“ und „License key“. Diese Texte kommen aus einer Online-Liste und sind offiziell gar nicht übersetzbar. Provus Edu bekommt dabei auch seinen richtigen Namen statt „Drush Site-Install“,
  • die Abschlussseite („Your site is almost ready“),
  • die Statusmeldungen der Fortschrittsanzeige („Installed 20 modules“, „Completed 3 of 22“). Die deutschen Übersetzungen lädt Drupal erst ganz am Ende, für manche Meldungen gibt es gar keine,
  • Korrekturen an einzelnen offiziellen Übersetzungen, etwa „Frei“ → „Kostenlos“ und die Überschrift „Wähle eine Website-Vorlage aus“ → „Wählen Sie eine Website-Vorlage aus“.

Sobald localize.drupal.org einen dieser Texte kennt, erscheint die offizielle Übersetzung, und der Installer muss dort nichts mehr tun.

Die Vorlage ist deutsch

Die Übersetzungen der Vorlagen liefert das Modul Default Content Locale Extended. Es wirkt nur, wenn es aktiv ist, bevor eine Vorlage ihre Inhalte anlegt. Der Drupal-CMS-Installer sieht dafür keinen Platz vor. Der German Installer fügt deshalb vor jedem Inhaltsimport einen eigenen Schritt ein, der das Modul installiert, und sobald Canvas aktiv ist auch dessen Canvas-Untermodul.

installer_de_patch.sh fügt das Modul dafür als drupal/dcle:1.0.x-dev@dev zum Projekt hinzu, bis es ein stabiles Release gibt. Ältere Projekte mit dem Original-Modul Default Content Locale stellt das Skript dabei auf Default Content Locale Extended um.

Korrekturen an fremdem Code

Einige Fehler in anderen Projekten lassen eine deutsche Installation abbrechen oder Texte englisch. Richtig beheben lassen sie sich nur in diesen Projekten. Bis dahin korrigiert der Installer sie von außen. Jede Korrektur sucht eine bestimmte Stelle und tut nichts, wenn es sie nicht mehr gibt, etwa weil das Projekt den Fehler selbst behoben hat.

Wo Was passierte Fehlerbericht
Drupal Core bis 11.4.7 Twig 3.30 lässt schon die erste Installationsseite abstürzen. Ab Drupal Core 11.4.8 behoben. #01, #3625969
Canvas Archimedes, Healthcare, Pulse, CareSphere und Convene ließen sich gar nicht installieren, auch nicht auf Englisch. #03
Drupal-CMS-Installer Summit wurde in der Sprache „undefiniert“ eingerichtet; jede Seite brach ab. #06
Drupal-CMS-Installer Eingefügte Installationsschritte wurden als Duplikat verworfen. #28
Drupal-CMS-Installer Dashi (Inhalte auf Englisch und Spanisch) wurde auf Englisch eingerichtet, obwohl Deutsch gewählt war. Jetzt zählt Deutsch als Sprache der Vorlage, sobald Default Content Locale Extended eine Übersetzung mitbringt; Englisch und Spanisch bleiben erhalten. #42
Convivial Gov Die Vorlage stellte die Website mitten in der Installation auf Englisch um. #15
Mercury und davon abgeleitete Themes „Follow us on …“ bei den Social-Media-Links war nicht übersetzbar und nannte für Screenreader nicht einmal das Netzwerk. Jetzt: „Folgen Sie uns auf Instagram“. #22, #23, #21
Mercury-Themes Der Hinweis „Your browser does not support the video tag“ war nicht übersetzbar. #24
Convene Die Fußzeile „Crafted together with the community.“ steht fest im Template. #35
Hourglass Rund 40 Texte des Themes – „Published“, „Share“, „Read More“, die Suche, Screenreader-Beschriftungen – standen fest auf Englisch im Template. #44
Goodwell Rund 20 Texte des Themes – der Beitragsrechner samt dem per JavaScript angehängten „ / month“, der Slider mit Kundenstimmen, Screenreader-Beschriftungen – standen fest auf Englisch im Theme. #46
Vartheme BS5 (Varbase-Vorlagen) „By“, die Slider-Schaltflächen „Previous“/„Next“ und die Labels „Toggle navigation“ und „User actions“ standen fest auf Englisch im Theme. #50
Varbase (Varbase Starter, The Rightup, Educare, Horizon Aid) Die Vorlagen stellen das Bild-Toolkit auf ImageMagick um, auch wo es nicht installiert ist. Drupal konnte keinen Bildstil erzeugen, und die Seiten zeigten in ihren Inhalten keine Bilder. Der Installer stellt auf GD zurück, wenn ImageMagick fehlt. #49
Themes der Vorlagen (Vartheme BS5, Haven, Event Horizon, Goodwell, Pulse, Eureka, Provus, Mercury, Byte, Diagnosis) Datumsangaben wurden mit Twigs date-Filter formatiert, der keine Übersetzung kennt: „Oct 1, 2026“. Der Installer stellt sie auf Drupals Datumsformatierung mit übersetzbarem Muster um: „1. Okt 2026“. #58
AI SEO (Provus EDU) Zeilenumbrüche in einem Prompt machten eine Konfigurationsdatei des Moduls unlesbar; Provus EDU ließ sich nicht installieren. Der Installer rückt die betroffenen Zeilen nach dem Download ein, der Text bleibt gleich. #55

Nach jedem Inhaltsimport stellt der Installer außerdem URL-Aliase, die eine Vorlage fest als Englisch ausliefert, auf Deutsch um. Sonst liefert etwa bei Haven die Startseite „Seite nicht gefunden“.

Alle Fehlerberichte stehen gesammelt in der Dokumentation des Moduls.

Zusatzmodule

Das Rezept recipes/i18n_extras läuft direkt nach der gewählten Vorlage und installiert:

  • pb_localizer und Project Browser; Module lassen sich darüber direkt in der Oberfläche installieren,
  • yoast_seo_i18n,
  • das Verwaltungs-Theme Gin mit automatischem Dunkelmodus.

Tests

Eine Installation mit Drush reicht nicht: Manche Fehler zeigen sich nur im Web-Installer, weil er die Schritte in anderer Reihenfolge ausführt (Dashi lieferte erst nach install.php auf jeder Seite einen 500er). Der GitLab-Job web-installer installiert deshalb jede kostenlose Vorlage so, wie es ein Mensch tun würde, einen Job pro Vorlage:

  1. installer_de_patch.sh legt Drupal CMS mit dem getesteten Commit des Installers und dem aktuellen 1.0.x-dev von Default Content Locale Extended an.
  2. PHP bekommt 512 MB, wie unter Installation empfohlen.
  3. Playwright klickt install.php auf Deutsch durch: Name der Website, Vorlagenkarte, Konto.
  4. scripts/check-pages.php von Default Content Locale Extended ruft die Startseite und alle Inhaltsseiten ab und sucht nach englischem Text.

Ein Job schlägt fehl, wenn die Vorlagenkarte fehlt, die Installation nicht fertig wird, die Startseite nicht mit 200 antwortet oder eine Seite einen Serverfehler liefert. Englischer Text steht in summary.txt, lässt den Job aber nicht scheitern. Die Ergebnisse (summary.txt, Bildschirmfotos jedes Schritts, pages.json, protokollierte Fehler) bleiben zwei Wochen als Job-Artefakte erhalten.

Die Jobs laufen in geplanten Pipelines und wenn eine Pipeline über Build → Pipelines → Run pipeline gestartet wird; nach einem Push warten sie darauf, von Hand gestartet zu werden. Die Variable TEMPLATES beschränkt einen Lauf auf einzelne Vorlagen, z. B. dashi varbase_starter. Lokal ausgeführt, nimmt tests/web-installer/run.sh über DCLE_DIR einen Arbeitsstand von Default Content Locale Extended statt der veröffentlichten Version. Nuxt Starter scheitert derzeit an einem Fehler in einem anderen Projekt und läuft im Job web-installer-known-issues, der fehlschlagen darf.

Technische Details

  • Projekt: dcgi auf drupal.org
  • Maschinenname des Themes: drupal_cms_installer_de
  • Basis-Theme: drupal_cms_installer_theme
  • Lizenz: GPL-2.0-or-later