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:
installer_de_patch.shlegt Drupal CMS mit dem getesteten Commit des Installers und dem aktuellen1.0.x-devvon Default Content Locale Extended an.- PHP bekommt 512 MB, wie unter Installation empfohlen.
- Playwright klickt
install.phpauf Deutsch durch: Name der Website, Vorlagenkarte, Konto. scripts/check-pages.phpvon 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