Japanisch und Spanisch zu einer Next.js-App hinzufügen
Devin installiert next-i18next, extrahiert hartcodierte Strings in Locale-JSON-Dateien, fügt japanische und spanische Übersetzungen hinzu und überprüft das Umschalten der Sprache im Browser.(Optional) Umfang der Codebasis mit Ask Devin festlegen
Wenn du dir unsicher bist, wie deine Next.js-App strukturiert ist oder welche Komponenten hardcodierte Strings enthalten, verwende Ask Devin, um dies zunächst zu analysieren:Du kannst auch direkt aus Ask Devin heraus eine Devin-Session starten; alle Informationen, die Devin dabei gesammelt hat, werden dann als Kontext übernommen.
i18n-Einrichtung starten
Internationalisierung zu einer Next.js-App hinzuzufügen bedeutet, Locale-Routing einzurichten, Middleware zu konfigurieren, jeden hartcodierten String zu extrahieren und Übersetzungsdateien zu erstellen – alles, bevor du auch nur einen einzigen Sprachwechsel testen kannst. Devin übernimmt die gesamte Pipeline: Installation von
next-i18next, Konfiguration des Next.js-Locale-Routings, Extraktion von Strings aus Dutzenden von Komponenten und Verifizierung des Ergebnisses im Browser.Verwende den /plan-Slash-Befehl zu Beginn der Session, damit Devin zuerst deine Codebasis untersucht – es wird ermitteln, ob du den Pages Router oder den App Router verwendest, die richtige i18n-Bibliothek identifizieren und seinen Ansatz skizzieren, bevor Code geschrieben wird. Überprüfe den Plan und schlage Änderungen vor, bevor Devin startet.So führt Devin die Einrichtung durch
Devin arbeitet sich systematisch durch deine Next.js-Codebasis – konfiguriert die i18n-Pipeline, extrahiert Strings und erstellt Locale-Dateien. Dabei geht Devin wie folgt vor:
- Installiert Abhängigkeiten — Führt
npm install next-i18next i18next react-i18nextaus und erstellt die Konfigurationsdateien:
-
Scannt jede Komponente — Liest jede Datei in
components/undpages/und identifiziert hartcodierten Text in JSX, Attributen wieplaceholderundaria-label, Template-Literalen und Fehlermeldungen -
Erstellt Locale-Dateien — Erzeugt strukturierte JSON-Dateien unter
public/locales/:
-
Ersetzt Strings direkt im Code — Wrappt jede Komponente mit
useTranslation('common')und ersetzt fest codierten Text durcht()-Aufrufe, inklusive Interpolation für dynamische Werte wiet('dashboard.welcome', { name: user.name }) -
Richtet serverseitiges Laden ein — Fügt jeder Seite
serverSideTranslationshinzu, damit Übersetzungen beim Rendern verfügbar sind:
- Fügt den Sprachumschalter hinzu — Erstellt ein Dropdown-Menü in der Navigationsleiste, das die Locale-Umschaltung des Next.js-Routers nutzt:
Testen und iterieren
Devin führt
npm run dev aus, öffnet die App in seinem integrierten Browser und navigiert zwischen den Routen /en, /es und /ja, um sicherzustellen, dass alles funktioniert. Wenn etwas nicht funktioniert – eine fehlende Übersetzung, ein Layout, das überläuft, eine Route, die einen 404 zurückgibt – behebt Devin das Problem und testet automatisch erneut.Verwende jederzeit den /test-Slash-Befehl, um Devin anzuweisen, alle Tests erneut auszuführen und im Browser erneut zu verifizieren. Verwende /review vor dem finalen PR, damit Devin seinen eigenen Code auf übersehene Strings, inkonsistente Schlüsselnamen oder fehlende serverSideTranslations-Aufrufe prüft.Devin prüft:- Alle sichtbaren Texte sind übersetzt (keine übrig gebliebenen englischen Strings im Spanisch-/Japanisch-Modus)
- Layouts brechen nicht mit längeren spanischen Strings oder breiteren japanischen Zeichen
- Der Sprachumschalter wechselt zwischen allen drei Locales
- Interpolierte Werte (Benutzernamen, Zählwerte) werden in jedem Locale korrekt ausgegeben
- Pluralisierungsregeln funktionieren (z. B. “1 item” → “1 件” auf Japanisch, “1 elemento” auf Spanisch)
- Das Next.js-Locale-Routing funktioniert –
/ja/dashboardzeigt die japanische Version
Von hier aus iterieren
Sobald das grundlegende i18n-Setup steht, erweitern Sie es in einem Folgeschritt.
Aktualisieren Sie Ihr Repository-Setup
Diese Aufgabe installiert neue Abhängigkeiten (
next-i18next, i18next, react-i18next). Nachdem der PR gemergt wurde, aktualisiere dein Repo-Setup, damit Devins Environment-Snapshot diese Pakete für zukünftige Sessions enthält:- Gehe zu Settings > Devin’s Environment > Repositories
- Wähle dein Repo aus und klicke auf Configure
- Stelle unter Upkeep > Maintain dependencies sicher, dass dein Installationsbefehl (z. B.
npm ci) konfiguriert ist - Klicke auf Save, um den Snapshot zu aktualisieren
package.json weiterentwickelt, und zukünftige Sessions verschwenden keine Zeit mit der Installation von Paketen beim Start.Überprüfen Sie den Pull Request (PR) mithilfe von Devin Review
Sobald Devin den PR erstellt hat, nutze Devin Review, um die i18n-Änderungen zu prüfen. Devin Review kann übersehene hardcodierte Strings, inkonsistente Benennungen von Übersetzungsschlüsseln und fehlende
serverSideTranslations-Aufrufe auf verschiedenen Seiten aufspüren.