Haz tu pregunta y obtén un resumen del documento referenciando esta página y el proveedor AI de tu elección
Historial de versiones
- "Se añaden búsqueda de referencias, hover, autocompletado y diagnósticos"v9.1.310/8/2026
- "Release LSP"v8.12.01/6/2026
El contenido de esta página ha sido traducido con una IA.
Ver la última versión del contenido original en inglésSi tienes una idea para mejorar esta documentación, no dudes en contribuir enviando una pull request en GitHub.
Enlace de GitHub a la documentaciónCopiar el Markdown del documento a la portapapeles
Servidor LSP de Intlayer
El servidor de lenguaje de Intlayer es una implementación del Language Server Protocol (LSP) que hace que su IDE — y su agente de IA — reconozcan Intlayer. Conecta una llamada como useIntlayer("home") con el archivo .content.ts que la declara, en ambas direcciones.
Funcionalidades
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Funcionalidad | Atajo | Qué hace |
|---|---|---|
| Ir a la definición | F12 / Cmd+Clic | Saltar desde una clave de diccionario o el uso de un campo a su declaración en el archivo de contenido |
| Buscar todas las referencias | Mayús+F12 | Desde un archivo de contenido, listar todos los puntos de llamada que usan esa clave o campo |
| Hover | pasar el cursor | Previsualizar los campos de un diccionario, o el valor traducido de un campo, sin salir del archivo |
| Autocompletado | " ' ` . | Sugerir las claves de diccionario declaradas dentro de un getter, y los campos de contenido tras . o al desestructurar | |
| Diagnósticos | automático | Avisar cuando una clave no está declarada en ningún archivo de contenido |
Merece la pena conocer dos comportamientos adicionales:
- Diccionarios fusionados — una clave repartida entre varios archivos de contenido devuelve un resultado por archivo, de modo que puede navegar a cada declaración.
- Compatible con monorepos — el servidor resuelve el
intlayer.config.*más cercano a cada archivo, de modo que varios proyectos en un mismo espacio de trabajo tienen cada uno sus propios diccionarios.
Llamadas compatibles
La clave se lee bien desde un argumento posicional de tipo cadena, bien desde un objeto de opciones ({ namespace }, { id }).
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Biblioteca | Llamadas |
|---|---|
| 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 |
Esto funciona con todos los paquetes *-intlayer (next-intlayer, react-intlayer, vue-intlayer, svelte-intlayer, solid-intlayer, preact-intlayer, angular-intlayer, lit-intlayer, express-intlayer, hono-intlayer, fastify-intlayer, intlayer), y con los paquetes adaptadores de compatibilidad que le permiten conservar su sintaxis i18n actual.
Los diccionarios se leen de la salida de compilación, así que ejecute npx intlayer build — o mantenga su servidor de desarrollo en marcha — para darle al servidor algo que resolver.
Instalación
El servidor se distribuye como el binario intlayer-lsp dentro de @intlayer/lsp:
Copiar el código al portapapeles
Instálelo globalmente (npm install -g @intlayer/lsp) si su editor necesita intlayer-lsp en el PATH — es el caso del plugin de Claude Code y de cualquier configuración de abajo que invoque el binario directamente.
Configuración
Instale la extensión de VS Code de Intlayer. El servidor de lenguaje va incluido desde la v8.12.0 y se inicia automáticamente — no requiere configuración.
Consulte la documentación de la extensión de VS Code para conocer sus demás funcionalidades.
Cursor y Windsurf son forks de VS Code y usan el mismo ecosistema de extensiones. Instale la extensión de VS Code de Intlayer una vez y el servidor se activa automáticamente — no requiere configuración.
Intlayer ofrece un plugin de Claude Code alojado en el repositorio de Intlayer. Le da a Claude Code una resolución real de símbolos para sus claves de diccionario en lugar de recurrir a grep.
Ponga el binario en su PATH, luego registre el marketplace e instale el plugin:
Copiar el código al portapapeles
install también habilita el plugin. Reinicie Claude Code — los servidores de lenguaje se cargan al arrancar, así que el plugin no tiene efecto hasta entonces.
Claude Code inicia entonces el servidor en archivos .ts, .tsx, .js, .jsx, .vue, .astro y .svelte, y usa goToDefinition, findReferences y hover al navegar por su código.
Si Go-to-Definition sigue sin hacer nada, puede que su versión de Claude Code limite la herramienta LSP tras una bandera:
Copiar el código al portapapeles
Zed tiene soporte LSP nativo. Añada el servidor a sus ajustes de usuario:
Copiar el código al portapapeles
El marcador "..." mantiene los servidores de lenguaje por defecto de Zed junto al de Intlayer.
Con nvim-lspconfig, registre una configuración de servidor personalizada:
Copiar el código al portapapeles
Tras reiniciar Neovim, gd sobre una clave de diccionario ejecuta Ir a la definición y gr ejecuta Buscar referencias.
Copiar el código al portapapeles
Copiar el código al portapapeles
Cualquier editor compatible con LSP puede ejecutar @intlayer/lsp. Apúntelo a:
- Ejecutable —
npx @intlayer/lsp, o el binariointlayer-lsp - Transporte — stdio (estándar)
- Capacidades —
definitionProvider,referencesProvider,hoverProvider,completionProvider(caracteres desencadenantes"'`.), diagnósticos push,textDocumentSync: Incremental - Patrones de raíz —
intlayer.config.ts,intlayer.config.js,package.json
Consulte la documentación LSP de su editor para el formato de configuración exacto.
Nota sobre los agentes de IA en terminal
Claude Code actúa como un cliente LSP real — vea la pestaña anterior.
OpenAI Codex y la mayoría de las demás herramientas de terminal no son clientes LSP: leen y escriben archivos directamente. Ejecutar el servidor por sí solo no les ayuda; el valor viene de tenerlo activo en un editor acompañante cuyo índice el agente pueda consultar (Cursor Composer, Windsurf Cascade, Copilot Chat).
Cómo funciona
Para cada archivo, el servidor localiza el intlayer.config.* más cercano y carga la configuración de ese proyecto para encontrar los diccionarios compilados. La configuración, los diccionarios y la lista de archivos fuente se cachean con TTL cortos, y se invalidan cuando cambia un archivo de contenido vigilado.
En cada petición, el servidor analiza el documento (mediante oxc) e inspecciona la posición del cursor:
- Sobre una cadena de clave (
useIntlayer("home")) → devuelve todos los archivos de contenido que declaran esa clave, situados en su líneakey:. - Sobre el uso de un campo (
content.title, una propiedad desestructurada,t('path.to.field'),<Trans>, …) → resuelve la variable hasta su diccionario y devuelve el campo correspondiente dentro de los archivos de contenido. - Desde un archivo de contenido → ejecuta la búsqueda inversa, recorriendo las fuentes del proyecto en busca de los puntos de llamada de esa clave o campo.
Solución de problemas
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Síntoma | Causa probable | Solución |
|---|---|---|
| No ocurre absolutamente nada | El servidor no está en ejecución | Compruebe que @intlayer/lsp está instalado y que su editor lo lanza |
| Funciona en el editor, no en Claude Code | Plugin instalado a mitad de sesión | Reinicie Claude Code — los servidores de lenguaje se cargan al arrancar |
| No se encuentran definiciones para una clave | Diccionarios sin compilar | Ejecute npx intlayer build, o inicie su servidor de desarrollo |
| Todas las claves marcadas como no declaradas | Configuración no resuelta | Verifique que existe un intlayer.config.ts (o .js) en la raíz de su proyecto |
| Se usa el proyecto equivocado en un monorepo | Falta configuración por paquete | Añada un intlayer.config.* a cada paquete que declare su propio contenido |
| El servidor falla al arrancar | Versión de Node.js demasiado antigua | Requiere Node.js ≥ 14.18 |
En VS Code, el servidor registra en Ver → Salida → «Intlayer LSP» — útil para confirmar qué configuración se resolvió y cuántos diccionarios se encontraron.