Die im Repository contao/package-metadata abgelegten Beschreibungen der einzelnen Bundles werden ja seit neustem automatisch, bei einem Pullrequest, auf korrekte Rechtschreibung überprüft.
Dazu wird über eine PHP App "lint" ein Kommandozeilen Tool "aspell" aufgerufen. Dieses kann man wiederum mit Wörterbüchern füttern.
Zusätzlich wird ein Wörterbuch (Whitelist) je Sprache (ab 9.1.2019) im Repository contao/package-metadata/linter/whitelists/ mitgeliefert.
Für Eigennamen, die in jeder Sprache identisch sind, gibt es die default.txt im selben Verzeichnis. (ab 9.1.2019)
Wie man das ganze normalerweise nutzt ist ja hier beschrieben: https://github.com/contao/package-me...s/de/README.md
Ich hatte nun die Idee, man könnte ja die Rechtschreibung vorab lokal prüfen lassen. Dann könnte man notfalls gleich die angepasste Whitelist mitliefern und muss nicht erst auf Travis warten nach anlegen eines Pullrequestes, ob alles funktioniert oder was fehlt.
Hier mal grob unter Linux meine Schritte dazu (Linux Mint in meinem Fall), mit einigen Erläuterungen. Ich denke jeder Entwickler wird das nachvollziehen können.
Nach Fork des originalen contao/package-metadata Repository in den eigenen GitHub Account erfolgt ein
Code:
git clone git@github.com:dein-github-vendor-name/package-metadata.git
Jetzt folgen einige notwendige zusätzliche Installationen:
Code:
cd package-metadata/linter
composer install
(die composer.lock bzw. json geht von einem vorhandenem PHP 7.4 aus!)
Jetzt aspell installieren, falls nötig und mal schauen welche Wörterbücher installiert sind:
Code:
sudo apt-get install aspell
aspell dicts
Bei mir war aspell bereits installiert mit deutschen und englischen Wörterbüchern.
Da einer der Entwickler bereits eine Übersetzung für eine weitere Sprache in den Metadaten mitbrachte, musste ich noch mindestens eine nachinstallieren, ich habe gleich einige mehr installiert.
(sonst kommt die Meldung weiter unten bei Aufruf von php lint: The language "cs" is not supported. Make sure the aspell package is loaded.
In dem Aufruf Beispiel ist deutsch noch mit dabei, falls es fehlen sollte:
Code:
sudo apt install aspell-de aspell-br aspell-cs aspell-es aspell-fa aspell-fr aspell-lv aspell-nl aspell-pl aspell-ru
Hier kommen eventuell einige Warnings, die ignorieren wir mal ganz cool. (Warnung: »The word "Nr." is invalid. ....)
Immer noch im Verzeichnis package-metadata/linter rufen wir nun auf:
Es sollte nun diese Ausgabe kommen:
Code:
Contao Package metadata linter
==============================
[OK] All checks successful!
Jetzt können wir anfangen eigene Beschreibungen hinzuzufügen oder anzupassen.
Ist man damit fertig ruft man das ganze wieder auf, dabei kam beispielsweise bei mir folgendes:
Code:
Contao Package metadata linter
==============================
[ERROR] [Package: bugbuster/contao-botdetection-bundle; Language: de]: Property "title" does not pass the spell
checker. Either update the whitelist or fix the spelling :) Errors: Detection
[ERROR] [Package: bugbuster/contao-botdetection-bundle; Language: de]: The YAML file contains invalid data.
Das bedeutet also, in meiner deutschen Beschreibung ist das Wort "Detection" im Titel, welches das (deutsche) Wörterbuch von aspell sowie die Whitelist von package-metadata nicht kennt.
Also editiert man nun die Datei "package-metadata/linter/whitelist.txt" und fügt das fehlende Wort ein, ich habe es gleich passend alphabetisch einsortiert.
Update 9.1.2019: Da dieses Wort nicht übersetzt wird (Eigenname "Bot Detection"), editiert man hier nun die Datei package-metadata/linter/whitelists/default.txt und fügt das fehlende Wort ein. Wäre es ein deutsches Wort, käme die Änderung in die Datei package-metadata/linter/whitelists/de.txt
Hinweis: Der Umbau ist derzeit noch sehr "grob" was die Whitelists betrifft, daher sind in den sprachabhängigen Listen noch Wörter andere Sprachen enthalten. Vielleicht räumt das ja mal jemand auf
Das macht man so lange, bis keine Fehlermeldungen mehr wegen fehlender Wörter auftauchen.
Aufpassen! Es könnte sich auch um ein Schreibfehler handeln den man gemacht hat, also vorher sicher sein
Ist man fertig, dann alles mit "git commit ..." sichern, mit "git push ..." zu GitHub schieben und dort dann ein Pullrequest erstellen wie beschrieben in der originalen Anleitung.
Happy Matadata Editing
Lesezeichen