Der Moment in dem mir klar wurde, dass ich i18n falsch gemacht habe
Letzten Monat arbeitete ich an einem Feature das etwa 15 Komponenten berührte. Nichts Verrücktes, nur eine Einstellungs-Überarbeitung. Aber als ich fertig war, hatte ich 40+ neue Strings über die Codebasis verstreut, alle hardcoded auf Englisch.
Mein üblicher Workflow: Feature fertigstellen, dann eine Stunde damit verbringen jeden hardcoded String zu jagen, sie zu Übersetzungs-Keys zu extrahieren, das Übersetzungstool auszuführen, und zu hoffen dass ich keinen übersehen habe.
Dann zeigte mir ein Kollege sein Claude Code Setup. Er tippte /i18n-extract in seinem Terminal, und Claude fand jeden hardcoded String in seinen staged Files, extrahierte sie zu Übersetzungs-Keys, aktualisierte die Komponenten, und pushte die Übersetzungen zu unserem TMS. Alles in etwa 30 Sekunden.
Ich verbrachte das nächste Wochenende damit meine eigenen Skills zu bauen. Hier ist alles was ich gelernt habe.
Was sind Claude Code Skills überhaupt?
Wenn Sie Claude Code (Anthropics CLI für Claude) nicht genutzt haben, stellen Sie es sich vor als hätten Sie Claude direkt in Ihrem Terminal. Sie können Fragen stellen, es Dateien bearbeiten lassen, Befehle ausführen - quasi Pair Programming mit einer KI.
Skills sind benutzerdefinierte Slash-Befehle die Sie definieren. Anstatt jedes Mal zu erklären was Sie wollen, erstellen Sie einmal einen Skill und rufen ihn mit einem einfachen Befehl auf. Wie Shell-Aliase, aber für KI-gestützte Workflows.
Für i18n-Arbeit ist das perfekt. Übersetzungsaufgaben sind repetitiv, folgen konsistenten Mustern und profitieren enorm von Automatisierung.
Ihren ersten i18n Skill einrichten
Beginnen wir einfach. Erstellen Sie eine Datei unter .claude/commands/i18n-scan.md mit Anweisungen für Claude die aktuelle Datei oder angegebene Dateien nach hardcoded Strings zu scannen die internationalisiert werden sollten.
Sagen Sie was gesucht werden soll: JSX-Textinhalt zwischen Tags, String-Literale in benutzer-sichtbaren Kontexten (Labels, Nachrichten, Titel), Template-Literale die benutzer-sichtbaren Text enthalten, und Platzhaltertext in Inputs.
Sagen Sie was ignoriert werden soll: console.log Nachrichten, Fehlermeldungen für Entwickler (außer benutzer-sichbar), CSS-Klassennamen, Import-Pfade und Objekt-Keys die interne Bezeichner sind.
Spezifizieren Sie das Ausgabeformat: für jeden gefundenen hardcoded String zeigen Sie die Zeilennummer, den hardcoded String, einen vorgeschlagenen Übersetzungs-Key (nach namespace.section.element Muster) und Kontext wo er erscheint und wofür er verwendet wird.
Wenn Sie jetzt /i18n-scan in Claude Code ausführen, versteht es genau wonach Sie suchen.
Der Skill der meinen Workflow verändert hat: i18n-extract
Hier ist der Skill den ich am meisten nutze. Er findet nicht nur Strings - er extrahiert sie tatsächlich und aktualisiert Ihren Code.
Erstellen Sie .claude/commands/i18n-extract.md mit einer Prozessbeschreibung: alle hardcoded benutzer-sichtbaren Strings identifizieren, passende Übersetzungs-Keys generieren die Ihrer Namenskonvention folgen, die Datei aktualisieren um die Übersetzungsfunktion (t() oder Äquivalent) zu nutzen, alle nötigen Imports hinzufügen, und die Übersetzungsdatei mit den neuen Keys erstellen oder aktualisieren.
Definieren Sie Ihre Namenskonvention. Keys sollten namespace.section.element folgen. Zum Beispiel:
settings.profile.titlewird zu "Profileinstellungen"common.buttons.savewird zu "Speichern"errors.validation.requiredwird zu "Dieses Feld ist erforderlich"
Fügen Sie Framework-Erkennung hinzu: bei react-i18next den useTranslation Hook und t() Funktion verwenden; bei next-intl den useTranslations Hook verwenden; bei vue-i18n $t() in Templates und t() im Setup verwenden; bei FormatJS FormattedMessage oder useIntl verwenden.
Dieser Skill behandelt den gesamten Extraktionsprozess. Ich führe ihn auf jeder Datei aus die ich berühre, und meine Strings sind korrekt internationalisiert bevor ich überhaupt committe.
Mit Ihrem Übersetzungsmanagementsystem verbinden
Die echte Power kommt von der Integration mit Ihrem TMS. Erstellen Sie einen Skill der MCP (Model Context Protocol) nutzt um mit IntlPull zu interagieren.
In .claude/commands/i18n-translate.md beschreiben Sie einen Prozess um Strings zu finden die in der Quellsprache existieren aber Übersetzungen fehlen, und sie zu übersetzen. Notieren Sie die Voraussetzungen: IntlPull MCP Server muss verbunden sein, und das Projekt muss in IntlPull konfiguriert sein.
Der Prozess sollte IntlPull MCP nutzen um den aktuellen Projektstatus zu bekommen, Keys mit fehlenden Übersetzungen für Zielsprachen zu identifizieren, und für jede fehlende Übersetzung den Quelltext zu holen, existierende Übersetzungen für Kontext zu holen, passende Übersetzungen zu generieren, und zu IntlPull mit Qualitäts-Flag "needs_review" zu pushen.
Jetzt sendet /i18n-translate german fehlende Strings zur KI-Übersetzung, markiert für menschliche Review.
Das Fazit
Nach Monaten der Nutzung dieser Skills, hier ist was ich gelernt habe:
Seien Sie spezifisch über Ihren Stack. Generische Skills funktionieren, aber stack-spezifische Skills funktionieren besser. Wenn Sie Next.js mit next-intl nutzen, erstellen Sie Skills die dieses Setup genau verstehen. Je mehr Kontext Sie geben, desto besser der Output.
Bauen Sie inkrementell. Starten Sie mit /i18n-extract und /i18n-status. Fügen Sie nur mehr Skills hinzu wenn Sie sich dabei ertappen dieselben Anweisungen zu wiederholen. Skills sollten echte Reibung lösen, nicht theoretische Probleme.
Versionieren Sie Ihre Skills. Legen Sie .claude/commands/ in Git. Wenn Teammitglieder ihre Claude Code Installation aktualisieren, bekommen sie Ihre Skills automatisch.
Kombinieren Sie mit Projektregeln. In Ihrer CLAUDE.md fügen Sie i18n-Richtlinien hinzu: alle benutzer-sichtbaren Strings müssen internationalisiert sein, namespace.section.element Key-Format verwenden, /i18n-extract auf jeder Datei mit UI-Änderungen ausführen, /i18n-validate vor PR-Erstellung ausführen. Jetzt folgt Claude diesen Standards sogar außerhalb von Skill-Aufrufen.
Wollen Sie das komplette Skill-Paket? IntlPull pflegt eine Sammlung fertiger Claude Code Skills für i18n. Unser MCP-Server gibt Claude direkten Zugang um Übersetzungen zu erstellen, aktualisieren und verwalten ohne Ihr Terminal zu verlassen.
