Posez votre question et obtenez un résumé du document en referencant cette page et le Provider AI de votre choix
Historique des versions
- "Ajout de la recherche de références, du survol, de l'autocomplétion et des diagnostics"v9.1.310/08/2026
- "Release LSP"v8.12.001/06/2026
Le contenu de cette page a été traduit à l'aide d'une IA.
Voir la dernière version du contenu original en anglaisSi vous avez une idée d’amélioration pour améliorer cette documentation, n’hésitez pas à contribuer en submitant une pull request sur GitHub.
Lien GitHub de la documentationCopier le Markdown du doc dans le presse-papiers
Serveur LSP Intlayer
Le serveur de langage Intlayer est une implémentation du Language Server Protocol (LSP) qui rend votre EDI — et votre agent IA — conscient d'Intlayer. Il relie un appel comme useIntlayer("home") au fichier .content.ts qui le déclare, dans les deux sens.
Fonctionnalités
Ouvrir le tableau dans une fenêtre modale pour voir tout le contenu clairement
| Fonctionnalité | Raccourci | Description |
|---|---|---|
| Aller à la définition | F12 / Cmd+Clic | Passer d'une clé de dictionnaire ou d'une utilisation de champ à sa déclaration dans le fichier de contenu |
| Rechercher toutes les références | Maj+F12 | Depuis un fichier de contenu, lister tous les sites d'appel qui utilisent cette clé ou ce champ |
| Survol | survoler avec le curseur | Prévisualiser les champs d'un dictionnaire, ou la valeur traduite d'un champ, sans quitter le fichier |
| Autocomplétion | " ' ` . | Suggérer les clés de dictionnaire déclarées dans un getter, et les champs de contenu après . ou lors d'une déstructuration | |
| Diagnostics | automatique | Avertir lorsqu'une clé n'est déclarée dans aucun fichier de contenu |
Deux comportements supplémentaires méritent d'être connus :
- Dictionnaires fusionnés — une clé répartie sur plusieurs fichiers de contenu renvoie un résultat par fichier, ce qui vous permet de naviguer vers chaque déclaration.
- Compatible monorepo — le serveur résout le fichier
intlayer.config.*le plus proche de chaque fichier, afin que plusieurs projets dans un même espace de travail disposent chacun de leurs propres dictionnaires.
Appels pris en charge
La clé est lue soit depuis un argument positionnel de type chaîne, soit depuis un objet d'options ({ namespace }, { id }).
Ouvrir le tableau dans une fenêtre modale pour voir tout le contenu clairement
| Bibliothèque | Appels |
|---|---|
| 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 |
Cela fonctionne pour tous les packages *-intlayer (next-intlayer, react-intlayer, vue-intlayer, svelte-intlayer, solid-intlayer, preact-intlayer, angular-intlayer, lit-intlayer, express-intlayer, hono-intlayer, fastify-intlayer, intlayer), ainsi que pour les packages d'adaptation compat qui vous permettent de conserver votre syntaxe i18n existante.
Les dictionnaires sont lus depuis la sortie de build : exécutez npx intlayer build — ou laissez votre serveur de développement tourner — pour donner au serveur quelque chose à résoudre.
Installation
Le serveur est distribué sous forme du binaire intlayer-lsp dans @intlayer/lsp :
Copier le code dans le presse-papiers
Installez-le plutôt globalement (npm install -g @intlayer/lsp) si votre éditeur a besoin de intlayer-lsp dans le PATH — c'est le cas pour le plugin Claude Code et pour toute configuration ci-dessous qui appelle directement le binaire.
Configuration
Installez l'extension VS Code Intlayer. Le serveur de langage y est intégré depuis la v8.12.0 et démarre automatiquement — aucune configuration requise.
Consultez la documentation de l'extension VS Code pour ses autres fonctionnalités.
Cursor et Windsurf sont des forks de VS Code et utilisent le même écosystème d'extensions. Installez l'extension VS Code Intlayer une fois et le serveur s'active automatiquement — aucune configuration requise.
Intlayer fournit un plugin Claude Code hébergé dans le dépôt Intlayer. Il donne à Claude Code une véritable résolution des symboles pour vos clés de dictionnaire, au lieu de se rabattre sur grep.
Placez le binaire dans votre PATH, puis enregistrez la marketplace et installez le plugin :
Copier le code dans le presse-papiers
install active également le plugin. Redémarrez Claude Code — les serveurs de langage sont chargés au démarrage, le plugin n'a donc aucun effet avant cela.
Claude Code démarre ensuite le serveur sur les fichiers .ts, .tsx, .js, .jsx, .vue, .astro et .svelte, et utilise goToDefinition, findReferences et hover lors de la navigation dans votre code.
Si Go-to-Definition ne fait toujours rien, votre version de Claude Code conditionne peut-être l'outil LSP à un drapeau :
Copier le code dans le presse-papiers
Zed prend en charge nativement le LSP. Ajoutez le serveur à vos paramètres utilisateur :
Copier le code dans le presse-papiers
L'espace réservé "..." conserve les serveurs de langage par défaut de Zed aux côtés de celui d'Intlayer.
Avec nvim-lspconfig, enregistrez une configuration de serveur personnalisée :
Copier le code dans le presse-papiers
Après avoir redémarré Neovim, gd sur une clé de dictionnaire lance Aller à la définition et gr lance Rechercher les références.
Copier le code dans le presse-papiers
Copier le code dans le presse-papiers
Tout éditeur compatible LSP peut exécuter @intlayer/lsp. Pointez-le vers :
- Exécutable —
npx @intlayer/lsp, ou le binaireintlayer-lsp - Transport — stdio (standard)
- Capacités —
definitionProvider,referencesProvider,hoverProvider,completionProvider(caractères déclencheurs"'`.), diagnostics poussés,textDocumentSync: Incremental - Motifs de racine —
intlayer.config.ts,intlayer.config.js,package.json
Consultez la documentation LSP de votre éditeur pour le format de configuration exact.
Remarque sur les agents IA en terminal
Claude Code agit comme un véritable client LSP — voir l'onglet ci-dessus.
OpenAI Codex et la plupart des autres outils en terminal ne sont pas des clients LSP : ils lisent et écrivent les fichiers directement. Lancer le serveur seul ne les aide pas ; l'intérêt vient de son activation dans un éditeur compagnon dont l'agent peut interroger l'index (Cursor Composer, Windsurf Cascade, Copilot Chat).
Fonctionnement
Pour chaque fichier, le serveur localise le fichier intlayer.config.* le plus proche et charge la configuration de ce projet afin de trouver les dictionnaires compilés. La configuration, les dictionnaires et la liste des fichiers sources sont mis en cache avec de courtes durées de vie, et invalidés dès qu'un fichier de contenu surveillé change.
Lors d'une requête, le serveur analyse le document (via oxc) et examine la position du curseur :
- Sur une chaîne de clé (
useIntlayer("home")) → renvoie tous les fichiers de contenu déclarant cette clé, positionnés sur leur lignekey:. - Sur l'utilisation d'un champ (
content.title, une propriété déstructurée,t('path.to.field'),<Trans>, …) → remonte la variable jusqu'à son dictionnaire et renvoie le champ correspondant dans les fichiers de contenu. - Depuis un fichier de contenu → effectue la recherche inverse, en parcourant les sources du projet à la recherche des sites d'appel de cette clé ou de ce champ.
Dépannage
Ouvrir le tableau dans une fenêtre modale pour voir tout le contenu clairement
| Symptôme | Cause probable | Solution |
|---|---|---|
| Rien ne se passe du tout | Le serveur ne tourne pas | Vérifiez que @intlayer/lsp est installé et que votre éditeur le lance |
| Fonctionne dans l'éditeur, pas dans Claude Code | Plugin installé en cours de session | Redémarrez Claude Code — les serveurs de langage se chargent au démarrage |
| Aucune définition trouvée pour une clé | Dictionnaires non construits | Exécutez npx intlayer build, ou démarrez votre serveur de développement |
| Toutes les clés signalées comme non déclarées | Configuration non résolue | Vérifiez qu'un intlayer.config.ts (ou .js) existe à la racine de votre projet |
| Mauvais projet utilisé dans un monorepo | Configuration par package manquante | Ajoutez un intlayer.config.* à chaque package qui déclare son propre contenu |
| Le serveur plante au démarrage | Version de Node.js trop ancienne | Nécessite Node.js ≥ 14.18 |
Dans VS Code, le serveur écrit ses journaux dans Affichage → Sortie → « Intlayer LSP » — utile pour confirmer quelle configuration a été résolue et combien de dictionnaires ont été trouvés.