Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Versionshistorie
- "Referenzsuche, Hover, Autovervollständigung und Diagnosen hinzugefügt"v9.1.310.8.2026
- "Release LSP"v8.12.01.6.2026
Der Inhalt dieser Seite wurde mit einer KI übersetzt.
Den englischen Originaltext ansehenWenn Sie eine Idee haben, um diese Dokumentation zu verbessern, zögern Sie bitte nicht, durch das Einreichen eines Pull-Requests auf GitHub beizutragen.
GitHub-Link zur DokumentationMarkdown des Dokuments in die Zwischenablage kopieren
Intlayer LSP-Server
Der Intlayer Language Server ist eine Implementierung des Language Server Protocol (LSP), die Ihre IDE — und Ihren KI-Agenten — Intlayer-fähig macht. Er verbindet einen Aufruf wie useIntlayer("home") mit der .content.ts-Datei, die ihn deklariert, und zwar in beide Richtungen.
Funktionen
Tabelle in einem Modal öffnen, um alle Daten übersichtlich anzuzeigen
| Funktion | Tastenkürzel | Beschreibung |
|---|---|---|
| Gehe zu Definition | F12 / Cmd+Klick | Von einem Wörterbuchschlüssel oder einer Feldverwendung zu dessen Deklaration in der Inhaltsdatei springen |
| Alle Referenzen suchen | Umschalt+F12 | Von einer Inhaltsdatei aus jede Aufrufstelle auflisten, die diesen Schlüssel oder dieses Feld verwendet |
| Hover | Cursor darüber bewegen | Die Felder eines Wörterbuchs oder den übersetzten Wert eines Feldes ansehen, ohne die Datei zu verlassen |
| Autovervollständigung | " ' ` . | Deklarierte Wörterbuchschlüssel innerhalb eines Getters vorschlagen sowie Inhaltsfelder nach . oder beim Destrukturieren | |
| Diagnosen | automatisch | Warnen, wenn ein Schlüssel in keiner Inhaltsdatei deklariert ist |
Zwei weitere Verhaltensweisen sind erwähnenswert:
- Zusammengeführte Wörterbücher — ein über mehrere Inhaltsdateien verteilter Schlüssel liefert ein Ergebnis pro Datei, sodass Sie zu jeder Deklaration navigieren können.
- Monorepo-fähig — der Server ermittelt die zu jeder Datei nächstgelegene
intlayer.config.*, sodass mehrere Projekte in einem Arbeitsbereich jeweils eigene Wörterbücher erhalten.
Unterstützte Aufrufe
Der Schlüssel wird entweder aus einem positionellen String-Argument oder aus einem Optionsobjekt ({ namespace }, { id }) gelesen.
Tabelle in einem Modal öffnen, um alle Daten übersichtlich anzuzeigen
| Bibliothek | Aufrufe |
|---|---|
| Intlayer | useIntlayer, getIntlayer |
| i18next / react-i18next | useTranslation, getFixedT, t, Trans |
| next-intl / use-intl | useTranslations, getTranslations, createTranslator |
| react-intl | formatMessage, FormattedMessage |
| Lingui | useLingui, t, Trans, _ |
| vue-i18n | useI18n |
Das funktioniert für jedes *-intlayer-Paket (next-intlayer, react-intlayer, vue-intlayer, svelte-intlayer, solid-intlayer, preact-intlayer, angular-intlayer, lit-intlayer, express-intlayer, hono-intlayer, fastify-intlayer, intlayer) sowie für die Compat-Adapter-Pakete, mit denen Sie Ihre bestehende i18n-Syntax beibehalten können.
Wörterbücher werden aus der Build-Ausgabe gelesen — führen Sie also npx intlayer build aus oder lassen Sie Ihren Dev-Server laufen, damit der Server etwas auflösen kann.
Installation
Der Server wird als intlayer-lsp-Binary in @intlayer/lsp ausgeliefert:
Kopieren Sie den Code in die Zwischenablage
Installieren Sie ihn stattdessen global (npm install -g @intlayer/lsp), wenn Ihr Editor intlayer-lsp im PATH benötigt — das gilt für das Claude-Code-Plugin und für jede der folgenden Konfigurationen, die das Binary direkt aufruft.
Einrichtung
Installieren Sie die Intlayer-VS-Code-Erweiterung. Der Language Server ist seit v8.12.0 enthalten und startet automatisch — keine Konfiguration erforderlich.
Weitere Funktionen finden Sie in der Dokumentation der VS-Code-Erweiterung.
Cursor und Windsurf sind VS-Code-Forks und nutzen dasselbe Erweiterungs-Ökosystem. Installieren Sie die Intlayer-VS-Code-Erweiterung einmal, und der Server aktiviert sich automatisch — keine Konfiguration erforderlich.
Intlayer liefert ein Claude-Code-Plugin, das im Intlayer-Repository gehostet wird. Es gibt Claude Code echte Symbolauflösung für Ihre Wörterbuchschlüssel, statt auf grep zurückzufallen.
Legen Sie das Binary in Ihren PATH, registrieren Sie dann den Marketplace und installieren Sie das Plugin:
Kopieren Sie den Code in die Zwischenablage
install aktiviert das Plugin ebenfalls. Starten Sie Claude Code neu — Language Server werden beim Start geladen, das Plugin wirkt also erst danach.
Claude Code startet den Server anschließend für .ts-, .tsx-, .js-, .jsx-, .vue-, .astro- und .svelte-Dateien und nutzt goToDefinition, findReferences und hover beim Navigieren durch Ihren Code.
Falls Go-to-Definition weiterhin nichts tut, schaltet Ihre Claude-Code-Version das LSP-Tool möglicherweise hinter einem Flag frei:
Kopieren Sie den Code in die Zwischenablage
Zed bietet native LSP-Unterstützung. Fügen Sie den Server Ihren Benutzereinstellungen hinzu:
Kopieren Sie den Code in die Zwischenablage
Der Platzhalter "..." behält Zeds Standard-Language-Server neben dem von Intlayer bei.
Registrieren Sie mit nvim-lspconfig eine benutzerdefinierte Serverkonfiguration:
Kopieren Sie den Code in die Zwischenablage
Nach einem Neustart von Neovim führt gd auf einem Wörterbuchschlüssel „Gehe zu Definition“ aus und gr die Referenzsuche.
Kopieren Sie den Code in die Zwischenablage
Kopieren Sie den Code in die Zwischenablage
Jeder LSP-fähige Editor kann @intlayer/lsp ausführen. Richten Sie ihn ein auf:
- Ausführbare Datei —
npx @intlayer/lspoder dasintlayer-lsp-Binary - Transport — stdio (Standard)
- Fähigkeiten —
definitionProvider,referencesProvider,hoverProvider,completionProvider(Auslösezeichen"'`.), Push-Diagnosen,textDocumentSync: Incremental - Root-Muster —
intlayer.config.ts,intlayer.config.js,package.json
Das genaue Konfigurationsformat entnehmen Sie der LSP-Dokumentation Ihres Editors.
Hinweis zu KI-Agenten im Terminal
Claude Code agiert als echter LSP-Client — siehe den Tab oben.
OpenAI Codex und die meisten anderen Terminal-Tools sind keine LSP-Clients: Sie lesen und schreiben Dateien direkt. Den Server allein laufen zu lassen hilft ihnen nicht; der Nutzen entsteht, wenn er in einem begleitenden Editor aktiv ist, dessen Index der Agent abfragen kann (Cursor Composer, Windsurf Cascade, Copilot Chat).
Funktionsweise
Für jede Datei sucht der Server die nächstgelegene intlayer.config.* und lädt die Konfiguration dieses Projekts, um die kompilierten Wörterbücher zu finden. Konfiguration, Wörterbücher und die Liste der Quelldateien werden mit kurzen TTLs zwischengespeichert und invalidiert, sobald sich eine überwachte Inhaltsdatei ändert.
Bei einer Anfrage parst der Server das Dokument (via oxc) und untersucht die Cursorposition:
- Auf einem Schlüssel-String (
useIntlayer("home")) → liefert jede Inhaltsdatei, die diesen Schlüssel deklariert, positioniert auf derenkey:-Zeile. - Auf einer Feldverwendung (
content.title, eine destrukturierte Eigenschaft,t('path.to.field'),<Trans>, …) → löst die Variable zurück zu ihrem Wörterbuch auf und liefert das passende Feld innerhalb der Inhaltsdateien. - Aus einer Inhaltsdatei heraus → führt die umgekehrte Suche aus und durchsucht die Projektquellen nach Aufrufstellen dieses Schlüssels oder Feldes.
Fehlerbehebung
Tabelle in einem Modal öffnen, um alle Daten übersichtlich anzuzeigen
| Symptom | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| Es passiert überhaupt nichts | Server läuft nicht | Prüfen Sie, ob @intlayer/lsp installiert ist und Ihr Editor ihn startet |
| Funktioniert im Editor, nicht in Claude Code | Plugin mitten in der Sitzung installiert | Claude Code neu starten — Language Server werden beim Start geladen |
| Keine Definitionen für einen Schlüssel gefunden | Wörterbücher nicht gebaut | Führen Sie npx intlayer build aus oder starten Sie Ihren Dev-Server |
| Jeder Schlüssel als nicht deklariert gemeldet | Konfiguration nicht aufgelöst | Prüfen Sie, ob eine intlayer.config.ts (oder .js) im Projektstamm vorhanden ist |
| Falsches Projekt in einem Monorepo verwendet | Fehlende Konfiguration pro Paket | Fügen Sie jedem Paket, das eigenen Inhalt deklariert, eine intlayer.config.* hinzu |
| Server stürzt beim Start ab | Node.js-Version zu alt | Erfordert Node.js ≥ 14.18 |
In VS Code protokolliert der Server unter Ansicht → Ausgabe → „Intlayer LSP“ — nützlich, um zu prüfen, welche Konfiguration aufgelöst und wie viele Wörterbücher gefunden wurden.