name: copy-check beschreibung: Überprüft UI-Texte über verschiedene Locales hinweg, indem es die Schlüsselparität zwischen next-intl-Nachrichtenkatalogen und kopien-internen sv/en COPY-Objekten vergleicht. Findet Platzhalter- und Array-Inkonsistenzen sowie eingeschlichene Wörter aus der jeweils anderen Sprache (der „och“-auf-Englisch-Fehler) und prüft dann manuell Behauptungen gegen AGB, Preise und die gebannten Phrasen des Projekts. Verwenden nach Bearbeitung von Texten oder Übersetzungen, vor dem Ausliefern einer Seite mit neuem Text oder wenn eine Korrektur- oder Übersetzungsprüfung angefordert wird. argument-hint: [verzeichnis] [--locales sv,en] erlaubte-werkzeuge: Bash(node *) Read Grep Glob Edit
copy-check
1. Mechanischer Durchlauf
Argumente: $ARGUMENTS
node ${CLAUDE_SKILL_DIR}/scripts/i18n-parity.mjs <verzeichnis, Standard: App-Stammverzeichnis des aktuellen Projekts> --locales sv,en
Das Skript findet **/messages|locales|i18n/<locale>.json-Kataloge und zugehörige sv: {…} / en: {…}-Objektliterale in TS/JS. Es meldet:
- FEHLER: fehlende Schlüssel, Array-Längen-Unterschiede, Platzhalter-Divergenzen (
{name},${x},{{x}}). Beheben Sie alle diese. - warn: Schwedische Funktionswörter (och, att, för, med, inte, är, …) in englischen Strings und umgekehrt, sowie lange identische Strings (Unübersetzt?). Bewerten Sie jeden Fall; Produktnamen und zitierte schwedische Begriffe sind in Ordnung.
- unparsed: Blöcke, die der Mini-Parser nicht lesen konnte. Überprüfen Sie diese Dateien manuell.
Strings, die außerhalb dieser Muster aufgebaut wurden (JSX-Literale, t() mit Inline-Standardwerten), werden nicht abgedeckt. Durchsuchen Sie die geänderten Dateien nach fest kodiertem Text in der falschen Sprache.
2. Bewertungsdurchlauf (zuerst geänderte Dateien, dann die Seiten, auf denen sie vorkommen)
- Verbotene oder veraltete Phrasen: Lesen Sie die CLAUDE.md des Repos und die Gedächtniseinträge des Projekts. Projekte führen oft eine Liste von ausgemusterten Slogans, erforderlichen Einleitungssätzen oder Dingen, die niemals öffentlich genannt werden dürfen.
- Behauptungen vs. Realität: Preise, Testzeiträume, Limits und „kostenlos“ gegen die tatsächliche Preiskonfiguration, Stripe-Produkte und die AGB-Seite. Deckungsbehauptungen dürfen keine Anzeigegrenze als Deckung angeben. „Am schnellsten“, „jede“ und „alle“ benötigen eine Quelle.
- Rechtliche/Einwilligungstexte: Marketing-Einwilligung darf niemals in die AGB gebündelt werden, und schwedische Rechtsbegriffe müssen korrekt sein (ångerrätt, personuppgifter).
- Sprachqualität (Schwedisch-Beispiel): natürliche Wortstellung, keine Getrenntschreibungen („hyres lägenhet“), korrektes en/ett, Dezimalkomma und
krnach der Zahl (1 299 kr), Daten als19 okt/2026-10-19. - Englische Qualität: Satzanfang groß, keine schwedischen Zeichensetzungsgewohnheiten, Währungsformatierung für das Gebiet.
- Konsistenz: derselbe Begriff für dieselbe Sache auf allen Seiten (den vorhandenen übernehmen).
Beendigungskriterien
- i18n-parity beendet mit Exit-Code 0, oder jede verbleibende Warnung wurde bewertet.
- Keine verbotenen Phrasen, und jede faktische Behauptung stimmt mit Konfiguration, AGB oder einer Quelle überein.
- Korrekturen nur an Texten vorgenommen, keine versteckten Neugestaltungen.
- Eine kurze Zusammenfassung für den Benutzer.