InicioEntorno de pruebasExhibiciónAppDocBlog
    • Englishinglés
      EN
    • русскийruso
      RU
    • 日本語japonés
      JA
    • françaisfrancés
      FR
    • 한국어coreano
      KO
    • 中文chino
      ZH
    • españolespañol
      ES
    • Deutschalemán
      DE
    • العربيةárabe
      AR
    • italianoitaliano
      IT
    • British Englishinglés británico
      EN-GB
    • portuguêsportugués
      PT
    • हिन्दीhindi
      HI
    • Türkçeturco
      TR
    • polskipolaco
      PL
    • Indonesiaindonesio
      ID
    • Tiếng Việtvietnamita
      VI
    • українськаucraniano
      UK
    /
    Filtrar documentación por framework
    Alt+←
    ¿Por qué Intlayer?
    Empezar
    Concepto
    • Cómo funciona Intlayer
    • Configuración
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • Editor visual
    • CMS
    • Integración CI/CD
    • TraducciónPluralEnumeraciónCondiciónGéneroInserciónArchivoAnidaciónMarkdownHTMLObtención de función
    • Archivo por locale
    • Compilador
    • Autocompletado
    • Pruebas
    • Optimización de bundle
    Entornos
    • Next.js 14 y App Router
      Next.js 15
      Next.js sin locale URL
      Next.js y Page Router
      Compiler
    • Tanstack Start Solid
    • Astro y React
      Astro y Svelte
      Astro y Vue
      Astro y Solid
      Astro y Preact
      Astro y Lit
      Astro y Vanilla JS
    • React Router v7
      React Router v7 (fs-routes)
      Compiler
    • Nuxt y Vue
    • Vite y Solid
    • SvelteKit
    • Vite y Preact
    • Vite y Vanilla JS
    • Vite y Lit
    • Angular 19 (Webpack)
      Analog
    • React CRA
    • React Native y Expo
    • Express.js
      NestJS
      Fastify
      Hono
      Adonis
    • Lynx y React
    Plugins
    • JSON
    • gettext (.po)
    Extensión VS Code
    Agente
    • Servidor MCP
    • Habilidades del agente
    Versiones
    • v8
    • v7
    • v6
    Benchmark
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    Blog
    Preguntar una pregunta
    1. Documentation
    2. Concepto
    3. Autocompletado
    Creación:2025-03-13Última actualización:2025-09-20
    Referencia esta doc a tu asistente AI favorito
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    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

    1. "Añadir configuración global"
      v6.0.020/9/2025
    2. "Añadir variable `{{fileName}}`"
      v6.0.017/9/2025
    3. "Historial inicial"
      v5.5.1029/6/2025

    El contenido de esta página ha sido traducido con una IA.

    Ver la última versión del contenido original en inglés
    Editar esta documentación

    Si tienes una idea para mejorar esta documentación, no dudes en contribuir enviando una pull request en GitHub.

    Enlace de GitHub a la documentación
    Copiar

    Copiar el Markdown del documento a la portapapeles

    Traducciones de Archivos de Declaración de Contenido con Relleno Automático

    Los archivos de declaración de contenido con relleno automático son una forma de acelerar tu flujo de trabajo de desarrollo.

    El mecanismo de relleno automático funciona mediante una relación maestro-esclavo entre archivos de declaración de contenido. Cuando el archivo principal (maestro) se actualiza, Intlayer aplicará automáticamente esos cambios a los archivos de declaración derivados (rellenados automáticamente).

    src/components/example/example.content.ts
    Copiar código

    Copiar el código al portapapeles

    import { Locales, type Dictionary } from "intlayer";const exampleContent = {  key: "example",  locale: Locales.ENGLISH,  autoFill: "./example.content.json",  content: {    contentExample: "Este es un ejemplo de contenido",  },} satisfies Dictionary;export default exampleContent;

    Aquí hay un archivo de declaración de contenido por idioma que usa la instrucción autoFill.

    Luego, cuando ejecutes el siguiente comando:

    bash
    Copiar código

    Copiar el código al portapapeles

    npx intlayer fill --file 'src/components/example/example.content.ts'

    Intlayer generará automáticamente el archivo de declaración derivado en src/components/example/example.content.json, completando todos los locales que no estén ya declarados en el archivo principal.

    src/components/example/example.content.json
    Copiar código

    Copiar el código al portapapeles

    {  "key": "example",  "content": {    "contentExample": {      "nodeType": "translation",      "translation": {        "fr": "Ceci est un exemple de contenu",        "es": "Este es un ejemplo de contenido",      },    },  },}

    Después, ambos archivos de declaración se fusionarán en un único diccionario, accesible mediante el hook estándar useIntlayer("example") (react) / composable (vue).

    Formato del Archivo Rellenado Automáticamente

    El formato recomendado para los archivos de declaración autocompletados es JSON, lo que ayuda a evitar restricciones de formato. Sin embargo, Intlayer también soporta .ts, .js, .mjs, .cjs y otros formatos.

    src/components/example/example.content.ts
    Copiar código

    Copiar el código al portapapeles

    const exampleContent = {  key: "example",  autoFill: "./example.filled.content.ts",  content: {    // Tu contenido  },};

    Esto generará el archivo en:

    plaintext
    Copiar código

    Copiar el código al portapapeles

    src/components/example/example.filled.content.ts

    La generación de archivos .js, .ts y similares funciona de la siguiente manera:

    • Si el archivo ya existe, Intlayer lo analizará usando el AST (Árbol de Sintaxis Abstracta) para localizar cada campo e insertar las traducciones faltantes.
    • Si el archivo no existe, Intlayer lo generará usando la plantilla predeterminada de archivo de declaración de contenido.

    Rutas Absolutas

    El campo autoFill también soporta rutas absolutas.

    src/components/example/example.content.ts
    Copiar código

    Copiar el código al portapapeles

    const exampleContent = {  key: "example",  autoFill: "/messages/example.content.json",  content: {    // Tu contenido  },};

    Esto generará el archivo en:

    plaintext
    Copiar código

    Copiar el código al portapapeles

    /messages/example.content.json

    Autogenerar Archivos de Declaración de Contenido Por Localidad

    El campo autoFill también soporta la generación de archivos de declaración de contenido por localidad.

    src/components/example/example.content.ts
    Copiar código

    Copiar el código al portapapeles

    const exampleContent = {  key: "example",  autoFill: {    fr: "./example.fr.content.json",    es: "./example.es.content.json",  },  content: {    // Tu contenido  },};

    Esto generará dos archivos separados:

    • src/components/example/example.fr.content.json
    • src/components/example/example.es.content.json
    En este caso, si el objeto no contiene todos los locales, Intlayer omitirá la generación de los locales restantes.

    Filtrar Autocompletado para Locales Específicos

    Usar un objeto para el campo autoFill te permite aplicar filtros y generar solo archivos para locales específicos.

    src/components/example/example.content.ts
    Copiar código

    Copiar el código al portapapeles

    const exampleContent = {  key: "example",  autoFill: {    fr: "./example.fr.content.json",  },  content: {    // Tu contenido  },};

    Esto solo generará el archivo de traducción en francés.

    Variables de Ruta

    Puedes usar variables dentro de la ruta autoFill para resolver dinámicamente las rutas destino de los archivos generados.

    Variables disponibles:

    • {{locale}} – Código de la localidad (por ejemplo, fr, es)
    • {{fileName}} – Nombre del archivo (por ejemplo, index)
    • {{key}} – Clave del diccionario (por ejemplo, example)
    src/components/example/index.content.ts
    Copiar código

    Copiar el código al portapapeles

    const exampleContent = {  key: "example",  autoFill: "/messages/{{locale}}/{{key}}.content.json",  content: {    // Tu contenido  },};

    Esto generará:

    • /messages/fr/example.content.json
    • /messages/es/example.content.json
    src/components/example/index.content.ts
    Copiar código

    Copiar el código al portapapeles

    const exampleContent = {  key: "example",  autoFill: "./{{fileName}}.content.json",  content: {    // Tu contenido  },};

    Esto generará:

    • ./index.content.json
    • ./index.content.json
    Compilador
    Pruebas
    Alt+→

    En esta página

      Las conversaciones son anónimas y se revisan regularmente para abordar problemas comunes. No dudes en compartir ideas de funcionalidades, comentarios sobre la documentación o cualquier cosa relacionada con Intlayer, usamos esta información para definir nuestra hoja de ruta y mejorar el producto.

      import { Locales, type Dictionary } from "intlayer";const exampleContent = {  key: "example",  locale: Locales.ENGLISH,  autoFill: "./example.content.json",  content: {    contentExample: "Este es un ejemplo de contenido",  },} satisfies Dictionary;export default exampleContent;
      npx intlayer fill --file 'src/components/example/example.content.ts'
      {  "key": "example",  "content": {    "contentExample": {      "nodeType": "translation",      "translation": {        "fr": "Ceci est un exemple de contenu",        "es": "Este es un ejemplo de contenido",      },    },  },}
      const exampleContent = {  key: "example",  autoFill: "./example.filled.content.ts",  content: {    // Tu contenido  },};
      src/components/example/example.filled.content.ts
      const exampleContent = {  key: "example",  autoFill: "/messages/example.content.json",  content: {    // Tu contenido  },};
      /messages/example.content.json
      const exampleContent = {  key: "example",  autoFill: {    fr: "./example.fr.content.json",    es: "./example.es.content.json",  },  content: {    // Tu contenido  },};
      const exampleContent = {  key: "example",  autoFill: {    fr: "./example.fr.content.json",  },  content: {    // Tu contenido  },};
      const exampleContent = {  key: "example",  autoFill: "/messages/{{locale}}/{{key}}.content.json",  content: {    // Tu contenido  },};
      const exampleContent = {  key: "example",  autoFill: "./{{fileName}}.content.json",  content: {    // Tu contenido  },};