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
- "Añadir soporte para el proveedor LM Studio"v8.9.412/5/2026
- "Se añadieron las opciones `prune` y `minify` a la configuración de compilación"v8.7.08/4/2026
- "Se añadió la opción `currentDomain`"v8.7.03/4/2026
- "Se añadió la notación de objeto por localidad para 'compiler.output' y 'dictionary.fill'"v8.4.020/3/2026
- "Se movió 'baseDir' de la configuración 'content' a la configuración 'system'"v8.3.011/3/2026
- "Se actualizaron las opciones del compilador (compiler), se añadió soporte para 'output' y 'noMetadata'"v8.2.09/3/2026
- "Se actualizaron las opciones del compilador"v8.1.725/2/2026
- "Se añadió la opción del compilador 'build-only' y el prefijo del diccionario"v8.1.523/2/2026
- "Se añadió soporte para los proveedores Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face y Together.ai"v8.0.612/2/2026
- "Se añadió `dataSerialization` a la configuración de IA"v8.0.56/2/2026
- "Se renombró el modo de importación `live` a `fetch` para describir mejor el mecanismo subyacente."v8.0.024/1/2026
- "Se movió la configuración de compilación `importMode` a la configuración `dictionary`."v8.0.022/1/2026
- "Se añadió la opción `rewrite` a la configuración de enrutamiento"v8.0.022/1/2026
- "Se separó la configuración del sistema de la configuración de contenido. Se movieron las rutas internas a la propiedad `system`. Se añadió `codeDir` para separar los archivos de contenido y la transformación de código."v8.0.018/1/2026
- "Se añadieron las opciones de diccionario `location` y `schema`"v8.0.018/1/2026
- "Se añadió soporte para los formatos de archivo JSON5 y JSONC"v7.5.110/1/2026
- "Se añadió la opción `buildMode`"v7.5.017/12/2025
- "Se añadió la configuración `dictionary`"v7.0.025/10/2025
- "Se reemplazó `middleware` por la configuración de enrutamiento `routing`"v7.0.021/10/2025
- "Se añadió la opción `formatCommand`"v7.0.012/10/2025
- "Se actualizó la opción `excludedPath`"v6.2.012/10/2025
- "Se añadió la opción `outputFormat`"v6.0.223/9/2025
- "Se eliminó el campo `dictionaryOutput` y el campo `i18nextResourcesDir`"v6.0.021/9/2025
- "Se añadió el modo de importación `live`"v6.0.016/9/2025
- "Se reemplazó el campo `hotReload` por `liveSync`, y se añadieron los campos `liveSyncPort` y `liveSyncURL`"v6.0.04/9/2025
- "Se reemplazó `activateDynamicImport` por la opción `importMode`"v5.6.125/7/2025
- "Se cambió el contentDir predeterminado de `['src']` a `['.']`"v5.6.013/7/2025
- "Se añadieron los comandos `docs`"v5.5.1129/6/2025
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
Documentación de Configuración de Intlayer
Resumen
Los archivos de configuración de Intlayer le permiten personalizar diversos aspectos del complemento, como la internacionalización (internationalization), el middleware y el manejo de contenido. Esta documentación proporciona una descripción detallada de cada propiedad en la configuración.
Tabla de Contenidos
Formatos de archivos de configuración compatibles
Intlayer acepta los formatos de archivo de configuración JSON, JS, MJS y TS:
intlayer.config.tsintlayer.config.jsintlayer.config.jsonintlayer.config.json5intlayer.config.jsoncintlayer.config.cjsintlayer.config.mjs.intlayerrc
Ejemplo de archivo de configuración
Copiar el código al portapapeles
Referencia de Configuración
En las siguientes secciones se describen las diversas opciones de configuración disponibles en Intlayer.
Configuración de Internacionalización (Internationalization Configuration)
Define los ajustes relacionados con la internacionalización, incluidas las localidades disponibles y la localidad predeterminada de la aplicación.
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Campo | Descripción | Tipo | Predeterminado | Ejemplo | Nota |
|---|---|---|---|---|---|
locales | Lista de localidades (locales) admitidas en la aplicación. | string[] | [Locales.ENGLISH] | ['en', 'fr', 'es'] | |
requiredLocales | Lista de localidades obligatorias en la aplicación. | string[] | [] | [] | • Si está vacío, todas las localidades son obligatorias en modo strict.• Asegúrese de que las localidades obligatorias también estén definidas en el campo locales. |
strictMode | Garantiza una implementación robusta del contenido internacionalizado mediante el uso de TypeScript. | string | 'inclusive' | • Si es "strict": la función t requiere que se defina cada localidad declarada; arroja un error si alguna de ellas falta o no está declarada.• Si es "inclusive": advierte sobre las localidades que faltan pero acepta las localidades existentes no declaradas.• Si es "loose": acepta cualquier localidad existente. | |
defaultLocale | Localidad predeterminada utilizada como recurso (fallback) si no se encuentra la localidad solicitada. | string | Locales.ENGLISH | 'en' | Se utiliza para determinar la localidad cuando no se especifica ninguna en la URL, galleta (cookie) o cabecera. |
Configuración del Editor (Editor Configuration)
Define los ajustes relacionados con el editor integrado, incluido el puerto del servidor y su estado de actividad.
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Campo | Descripción | Tipo | Predeterminado | Ejemplo | Nota |
|---|---|---|---|---|---|
applicationURL | URL de su aplicación para la validación de origen (origin). | string | undefined | 'http://localhost:3000''https://example.com'process.env.INTLAYER_EDITOR_URL | • Se utiliza para restringir los orígenes del editor por razones de seguridad. • Si se establece en '*', se puede acceder al editor desde cualquier origen. |
port | Puerto utilizado por el servidor del Editor Visual. | number | 8000 | ||
editorURL | URL del servidor del editor. | string | 'http://localhost:8000' | 'http://localhost:3000''https://example.com'process.env.INTLAYER_EDITOR_URL | • Se utiliza para restringir los orígenes que pueden interactuar con la aplicación. • Si se establece en '*', es accesible desde cualquier origen.• Debe establecerse si cambia el puerto o si el editor está alojado en un dominio diferente. |
cmsURL | URL del CMS de Intlayer. | string | 'https://app.intlayer.org' | 'https://app.intlayer.org' | |
backendURL | URL del servidor backend. | string | https://back.intlayer.org | http://localhost:4000 | |
enabled | Indica si la aplicación interactuará con el editor visual. | boolean | false | process.env.NODE_ENV !== 'production' | • Si es false, el editor no puede interactuar con la aplicación.• Deshabilitarlo en entornos específicos mejora la seguridad. |
clientId | Permite que los paquetes intlayer se autentiquen con el backend utilizando oAuth2. Para recibir un token de acceso, vaya a intlayer.org/project. | string | undefined | undefined | Manténgalo en secreto; almacénelo en variables de entorno. | |
clientSecret | Permite que los paquetes intlayer se autentiquen con el backend utilizando oAuth2. Para recibir un token de acceso, vaya a intlayer.org/project. | string | undefined | undefined | Manténgalo en secreto; almacénelo en variables de entorno. | |
dictionaryPriorityStrategy | Estrategia de prioridad de diccionarios cuando existan diccionarios locales y remotos. | string | 'local_first' | 'distant_first' | • 'distant_first': Prioriza los remotos sobre los locales.• 'local_first': Prioriza los locales sobre los remotos. |
liveSync | Indica si el servidor de aplicaciones debe recargar el contenido en caliente cuando se detecta un cambio en el CMS Editor Visual Backend. | boolean | true | true | • Cuando se agrega/actualiza un diccionario, la aplicación actualiza el contenido de la página. • Live sync externaliza el contenido a otro servidor, lo que puede afectar ligeramente el rendimiento. • Se recomienda alojar ambos en la misma máquina. |
liveSyncPort | Puerto del servidor de sincronización en vivo (live sync). | number | 4000 | 4000 | |
liveSyncURL | URL del servidor de sincronización en vivo (live sync). | string | 'http://localhost:{liveSyncPort}' | 'https://example.com' | Apunta a localhost de forma predeterminada; puede cambiarse a un servidor remoto de Live Sync. |
Configuración de Enrutamiento (Routing Configuration)
Ajustes que controlan el comportamiento del enrutamiento, incluida la estructura de la URL, el almacenamiento de localidades y el manejo del middleware.
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Campo | Descripción | Tipo | Predeterminado | Ejemplo | Nota |
|---|---|---|---|---|---|
mode | Modo de enrutamiento de URL para el manejo de localidades (locales). | 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params' | 'prefix-no-default' | 'prefix-no-default': /dashboard (en) o /fr/dashboard (fr). 'prefix-all': /en/dashboard. 'no-prefix': localidad manejada por otros medios. 'search-params': /dashboard?locale=fr | No afecta la gestión de galletas (cookies) o el almacenamiento de localidades. |
storage | Configuración para almacenar la localidad (locale) en el cliente. | false | 'cookie' | 'localStorage' | 'sessionStorage' | 'header' | CookiesAttributes | StorageAttributes | Array | ['cookie', 'header'] | 'localStorage'[{ type: 'cookie', name: 'custom-locale', secure: true }] | Consulte la tabla de Opciones de Almacenamiento más abajo. |
basePath | Ruta base para las URL de la aplicación. | string | '' | '/my-app' | Si la aplicación está en https://example.com/my-app, basePath es '/my-app' y las URL se convierten en https://example.com/my-app/en. |
rewrite | Reglas de reescritura de URL personalizadas que anulan el modo de enrutamiento predeterminado para rutas específicas. Admite parámetros dinámicos [param]. | Record<string, StrictModeLocaleMap<string>> | undefined | Ver ejemplo abajo | • Las reglas de reescritura tienen prioridad sobre mode.• Funciona con Next.js y Vite. • getLocalizedUrl() aplica automáticamente las reglas correspondientes.• Ver Reescrituras de URL Personalizadas. |
Ejemplo de rewrite:
Copiar el código al portapapeles
Opciones de Almacenamiento (Storage Options)
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Valor | Descripción | Nota |
|---|---|---|
'cookie' | Guarda la localidad en las cookies (galletas); accesible tanto por el lado del cliente como del servidor. | Para el cumplimiento de GDPR, asegúrese de obtener el consentimiento adecuado del usuario. Personalizable mediante CookiesAttributes ({ type: 'cookie', name: 'custom-locale', secure: true, httpOnly: false }). |
'localStorage' | Guarda la localidad en el navegador sin fecha de caducidad (solo del lado del cliente). | No caduca a menos que se borre explícitamente. El proxy de Intlayer no puede acceder a él. Personalizable mediante StorageAttributes ({ type: 'localStorage', name: 'custom-locale' }). |
'sessionStorage' | Guarda la localidad durante la sesión de la página (solo del lado del cliente). | Se borra cuando se cierra la pestaña/ventana. El proxy de Intlayer no puede acceder a él. Personalizable mediante StorageAttributes ({ type: 'sessionStorage', name: 'custom-locale' }). |
'header' | Guarda o transmite la localidad mediante cabeceras HTTP (solo del lado del servidor). | Útil para llamadas de API. El lado del cliente no puede acceder a él. Personalizable mediante StorageAttributes ({ type: 'header', name: 'custom-locale' }). |
Atributos de Galleta (Cookie Attributes)
Cuando se utiliza el almacenamiento mediante galletas (cookies), se pueden configurar atributos adicionales:
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Campo | Tipo | Descripción |
|---|---|---|
name | string | Nombre de la galleta (cookie). Predeterminado: 'INTLAYER_LOCALE' |
domain | string | Dominio de la galleta. Predeterminado: undefined |
path | string | Ruta de la galleta. Predeterminado: undefined |
secure | boolean | Requiere HTTPS. Predeterminado: undefined |
httpOnly | boolean | Bandera HTTP-only. Predeterminado: undefined |
sameSite | 'strict' | 'lax' | 'none' | Política de SameSite. |
expires | Date | number | string | Un number indica días desde la creación; una Date (o cadena de fecha ISO) es una fecha de expiración absoluta. Predeterminado: undefined |
maxAge | number | Tiempo de vida en segundos desde la creación. Tiene precedencia sobre expires. Predeterminado: undefined |
Atributos de Almacenamiento de Localidad (Locale Storage Attributes)
Cuando se utiliza localStorage o sessionStorage:
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Campo | Tipo | Descripción |
|---|---|---|
type | 'localStorage' | 'sessionStorage' | Tipo de almacenamiento. |
name | string | Nombre de la clave de almacenamiento. Predeterminado: 'INTLAYER_LOCALE' |
Ejemplos de Configuración
Aquí se muestran algunos ejemplos comunes de configuración para la nueva estructura de enrutamiento v7:
Configuración Básica (Predeterminada):
Copiar el código al portapapeles
Configuración compatible con GDPR:
Copiar el código al portapapeles
Modo Parámetros de Búsqueda (Search Parameters Mode):
Copiar el código al portapapeles
Modo sin prefijo (No Prefix Mode) con almacenamiento personalizado:
Copiar el código al portapapeles
Reescritura de URL personalizada con rutas dinámicas:
Copiar el código al portapapeles
Configuración de Contenido (Content Configuration)
Ajustes relacionados con el procesamiento de contenido dentro de la aplicación (nombres de directorio, extensiones de archivo y configuraciones derivadas).
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Campo | Descripción | Tipo | Predeterminado | Ejemplo | Nota |
|---|---|---|---|---|---|
watch | Indica si Intlayer debe vigilar los cambios en los archivos de declaración de contenido para reconstruir los diccionarios. | boolean | true | ||
fileExtensions | Extensiones de archivo que se buscarán al compilar diccionarios. | string[] | ['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.json5', '.content.jsonc', '.content.tsx', '.content.jsx'] | ['.data.ts', '.data.js', '.data.json'] | La personalización puede ayudar a evitar conflictos. |
contentDir | Ruta del directorio donde se almacenan los archivos de definición de contenido (.content.*). | string[] | ['.'] | ['src', '../../ui-library', require.resolve("@my-package/content"), '@my-package/content'] | Se utiliza para monitorear archivos de contenido y reconstruir diccionarios. |
codeDir | Ruta del directorio donde se almacena el código, relativa al directorio base. | string[] | ['.'] | ['src', '../../ui-library'] | • Se utiliza para monitorear archivos de código para su transformación (podado, optimización). • Separar de contentDir puede mejorar el rendimiento. |
excludedPath | Directorios excluidos de la búsqueda de contenido. | string[] | ['**/node_modules/**', '**/dist/**', '**/build/**', '**/.intlayer/**', '**/.next/**', '**/.nuxt/**', '**/.expo/**', '**/.vercel/**', '**/.turbo/**', '**/.tanstack/**'] | Todavía no se utiliza; previsto para implementación futura. | |
formatCommand | Comando para dar formato a los archivos de contenido cuando Intlayer los escribe localmente. | string | undefined | 'npx prettier --write "{{file}}" --log-level silent' (Prettier), 'npx biome format "{{file}}" --write --log-level none' (Biome), 'npx eslint --fix "{{file}}" --quiet' (ESLint) | • {{file}} se reemplaza por la ruta del archivo.• Si no se define, Intlayer lo detecta automáticamente (prueba prettier, biome, eslint). |
Configuración del Diccionario (Dictionary Configuration)
Parámetros que controlan las operaciones de diccionarios, incluido el comportamiento de relleno automático y la generación de contenido.
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Campo | Descripción | Tipo | Predeterminado | Ejemplo | Nota |
|---|---|---|---|---|---|
fill | Controla cómo se generan los archivos de salida del relleno automático (traducción por IA). | boolean | FilePathPattern | Partial<Record<Locale, boolean | FilePathPattern>> | true | { en: '/locales/en/{{key}}.json', fr: ({ key }) => '/locales/fr/${key}.json', es: false } | • true: ruta predeterminada (el mismo archivo que la fuente).• false: deshabilitar.• El patrón de cadena/función genera archivos por localidad. • Objeto por localidad: cada localidad corresponde a su propio patrón; false ignora esa localidad.• La inclusión de {{locale}} activa la generación por localidad.• fill a nivel de diccionario siempre tiene prioridad sobre esta configuración global. |
description | Ayuda a comprender el propósito del diccionario en el editor y el CMS. También se utiliza como contexto para la generación de traducciones por IA. | string | undefined | 'User profile section' | |
locale | Transforma el diccionario en un formato por localidad. Cada campo declarado se convierte en un nodo de traducción. Si no está, el diccionario se trata como bilingüe. | LocalesValues | undefined | 'en' | Úselo cuando el diccionario sea específico para una sola localidad en lugar de contener traducciones para varias. |
contentAutoTransformation | Transforma automáticamente cadenas de contenido en nodos tipados (markdown, HTML o inserción). | boolean | { markdown?: boolean; html?: boolean; insertion?: boolean } | false | true | • Markdown : ### Title → md('### Title').• HTML : <div>Title</div> → html('<div>Title</div>').• Inserción : Hello {{name}} → insert('Hello {{name}}'). |
location | Indica dónde se almacenan los archivos de diccionario y cómo se sincronizan con el CMS. | 'local' | 'remote' | 'hybrid' | 'plugin' | string | 'local' | 'hybrid' | • 'local' : solo se gestiona localmente.• 'remote' : solo se gestiona de forma remota (CMS).• 'hybrid' : se gestiona tanto local como remotamente.• 'plugin' o cadena personalizada: gestionado por un plugin o fuente personalizada. |
importMode | Controla cómo se importan los diccionarios. | 'static' | 'dynamic' | 'fetch' | 'static' | 'dynamic' | • 'static': importado estáticamente.• 'dynamic': importado dinámicamente mediante Suspense.• 'fetch': recuperado vía live sync API; recurre a 'dynamic' si falla.• Depende de los plugins @intlayer/babel y @intlayer/swc.• Las claves deben declararse estáticamente. • Se ignora si optimize está desactivado.• No afecta a getIntlayer, getDictionary, etc. |
priority | Prioridad del diccionario. Los valores más altos ganan sobre los más bajos al resolver conflictos entre diccionarios. | number | undefined | 1 | |
live | Depreciado - use importMode: 'fetch' en su lugar. Indicaba si el contenido del diccionario se recuperaba dinámicamente a través de la API live sync. | boolean | undefined | Renombrado a importMode: 'fetch' en v8.0.0. | |
schema | Generado automáticamente por Intlayer para la validación del esquema JSON. | 'https://intlayer.org/schema.json' | auto-generado | No editar manualmente. | |
title | Ayuda a identificar el diccionario en el editor y el CMS. | string | undefined | 'User Profile' | |
tags | Categoriza los diccionarios y proporciona contexto o instrucciones para el editor y la IA. | string[] | undefined | ['user', 'profile'] | |
version | Versión del diccionario remoto; ayuda a rastrear la versión que se está utilizando actualmente. | string | undefined | '1.0.0' | • Gestionable en el CMS. • No editar localmente. |
Ejemplo de fill :
Copiar el código al portapapeles
Configuración del Registrador (Logger Configuration)
Parámetros para personalizar la salida de registros (logs) de Intlayer.
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Campo | Descripción | Tipo | Predeterminado | Ejemplo | Nota |
|---|---|---|---|---|---|
mode | Indica el modo del registrador. | 'default' | 'verbose' | 'disabled' | 'default' | 'verbose' | • 'verbose': registra más información para depuración.• 'disabled': desactiva completamente el registrador. |
prefix | El prefijo del registrador. | string | '[intlayer] ' | '[my custom prefix] ' |
Configuración de IA (AI Configuration)
Ajustes que controlan las funciones de IA de Intlayer, incluidos el proveedor, el modelo y la clave API.
Esta configuración es opcional si está registrado en el Dashboard de Intlayer con una clave de acceso. Intlayer gestionará automáticamente la solución de IA más eficiente y económica para sus necesidades. El uso de las opciones predeterminadas garantiza una mejor mantenibilidad a largo plazo, ya que Intlayer se actualiza continuamente para usar los modelos más relevantes.
Si prefiere usar su propia clave API o un modelo específico, puede definir su configuración de IA personalizada.
Esta configuración de IA se usará globalmente en su entorno de Intlayer. Los comandos de la CLI usarán estos ajustes de forma predeterminada para comandos como fill, así como el SDK, el Editor Visual y el CMS. Puede anular estos valores predeterminados para casos de uso específicos mediante parámetros de comando.
Intlayer admite múltiples proveedores de IA para una flexibilidad máxima. Los proveedores admitidos actualmente son:
- OpenAI (Predeterminado)
- Anthropic Claude
- Mistral AI
- DeepSeek
- Google Gemini
- Google AI Studio
- Google Vertex
- Meta Llama
- Ollama
- OpenRouter
- Alibaba Cloud
- Fireworks
- Hugging Face
- Groq
- Amazon Bedrock
- Together.ai
- LM Studio
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Campo | Descripción | Tipo | Predeterminado | Ejemplo | Nota |
|---|---|---|---|---|---|
provider | El proveedor que se usará para las funciones de IA de Intlayer. | 'openai' | 'anthropic' | 'mistral' | 'deepseek' | 'gemini' | 'ollama' | 'openrouter' | 'alibaba' | 'fireworks' | 'groq' | 'huggingface' | 'bedrock' | 'googleaistudio' | 'googlevertex' | 'togetherai' | 'lmstudio' | undefined | 'anthropic' | Diferentes proveedores requieren diferentes llaves de API y tienen distintos precios. |
model | El modelo que se usará para las funciones de IA. | string | Ninguno | 'gpt-4o-2024-11-20' | El modelo específico varía según el proveedor. |
temperature | Controla la aleatoriedad de las respuestas de la IA. | number | Ninguno | 0.1 | Temperatura más alta = más creativo y menos predecible. |
apiKey | Su llave API para el proveedor seleccionado. | string | Ninguno | process.env.OPENAI_API_KEY | Manténgalo en secreto; almacénelo en variables de entorno. |
applicationContext | Contexto adicional sobre su aplicación para ayudar a la IA a generar traducciones más precisas (dominio, audiencia, tono, terminología). | string | Ninguno | 'Mi contexto de aplicación' | Puede usarse para añadir reglas (p. ej.: "No debes transformar las urls"). |
baseURL | La URL base para la API de IA. | string | Ninguno | 'https://api.openai.com/v1''http://localhost:5000' | Puede apuntar a un endpoint de API de IA local o personalizado. |
dataSerialization | Formato de serialización de datos para las funciones de IA. | 'json' | 'toon' | undefined | 'toon' | • 'json': estándar, fiable; usa más tokens.• 'toon': menos tokens, menos consistente.• Se pasan parámetros adicionales al modelo como contexto (esfuerzo de razonamiento, etc.). |
Configuración de Compilación (Build Configuration)
Parámetros que controlan cómo Intlayer optimiza y construye la internacionalización de su aplicación.
Las opciones de compilación se aplican a los complementos @intlayer/babel y @intlayer/swc.
En modo de desarrollo, Intlayer utiliza importaciones estáticas para los diccionarios a fin de simplificar la experiencia de desarrollo.
Cuando se optimiza, Intlayer reemplazará las llamadas a diccionarios para optimizar el chunking, de modo que el bundle final solo importe los diccionarios que realmente se usan.
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Campo | Descripción | Tipo | Predeterminado | Ejemplo | Nota |
|---|---|---|---|---|---|
mode | Controla el modo de compilación. | 'auto' | 'manual' | 'auto' | 'manual' | • 'auto': compilación activada automáticamente durante la compilación de la aplicación.• 'manual': solo se ejecuta cuando se lanza explícitamente el comando de compilación.• Se puede usar para desactivar compilaciones de diccionarios (p. ej. para evitar ejecución en entornos de Node.js). |
optimize | Controla si la compilación debe optimizarse. | boolean | undefined | process.env.NODE_ENV === 'production' | • Si no se define, la optimización se dispara al compilar el framework (Vite/Next.js). • true fuerza la optimización incluso en modo dev.• false la desactiva.• Activo, reemplaza las llamadas a diccionarios para optimizar el chunking. • Depende de los plugins @intlayer/babel y @intlayer/swc. |
minify | Minificar los diccionarios para reducir el tamaño del bundle. | boolean | false | • Indica si el bundle debe ser minificado. • Por defecto: true en producción.• Esta opción será ignorada si optimize está desactivado.• Esta opción será ignorada si editor.enabled es verdadero. | |
purge | Purgar las claves no utilizadas en los diccionarios. | boolean | false | • Indica si el bundle debe ser purgado. • Por defecto: true en producción.• Esta opción será ignorada si optimize está desactivado. | |
checkTypes | Indica si la compilación debe verificar tipos de TypeScript y registrar errores. | boolean | false | Puede ralentizar la compilación. | |
outputFormat | Controla el formato de salida de los diccionarios. | ('esm' | 'cjs')[] | ['esm', 'cjs'] | ['cjs'] | |
traversePattern | Patrones que definen qué archivos recorrer durante la optimización. | string[] | ['**/*.{tsx,ts,js,mjs,cjs,jsx,vue,svelte,svte}', '!**/node_modules/**', '!**/dist/**', '!**/.intlayer/**', '!**/*.config.*', '!**/*.test.*', '!**/*.spec.*', '!**/*.stories.*'] | ['src/**/*.{ts,tsx}', '../ui-library/**/*.{ts,tsx}', '!**/node_modules/**'] | • Limite la optimización a los archivos relevantes para mejorar el rendimiento de compilación. • Se ignora si optimize está desactivado.• Usa patrones glob (glob patterns). |
Configuración del Sistema (System Configuration)
Estos ajustes son para casos de uso avanzados y configuración interna de Intlayer.
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Campo | Descripción | Tipo | Predeterminado | Ejemplo | Nota |
|---|---|---|---|---|---|
dictionariesDir | Directorio de diccionarios compilados. | string | '.intlayer/dictionary' | ||
moduleAugmentationDir | Directorio de aumento de módulos TypeScript. | string | '.intlayer/types' | ||
unmergedDictionariesDir | Directorio de diccionarios no fusionados. | string | '.intlayer/unmerged_dictionary' | ||
typesDir | Directorio de tipos generados. | string | '.intlayer/types' | ||
mainDir | Directorio del archivo principal de Intlayer. | string | '.intlayer/main' | ||
configDir | Directorio de archivos de configuración compilados. | string | '.intlayer/config' | ||
cacheDir | Directorio de archivos de caché. | string | '.intlayer/cache' |
Configuración del Compilador (Compiler Configuration)
Ajustes que controlan el compilador de Intlayer, que extrae diccionarios directamente de sus componentes.
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Campo | Descripción | Tipo | Predeterminado | Ejemplo | Nota |
|---|---|---|---|---|---|
enabled | Indica si el compilador debe habilitarse para extraer diccionarios. | boolean | 'build-only' | true | 'build-only' | 'build-only' se salta el compilador durante el desarrollo para acelerar las compilaciones; solo se ejecuta en comandos de build. |
dictionaryKeyPrefix | Prefijo para las claves de diccionarios extraídas. | string | '' | 'mi-prefijo-' | Se añade a la clave generada (basada en el nombre del archivo) para evitar conflictos. |
saveComponents | Indica si los componentes deben guardarse después de ser transformados. | boolean | false | • Si es true, el compilador reescribirá el archivo del componente en el disco. La transformación será permanente y el compilador podrá ser eliminado.• Si es false, el compilador inyectará la llamada a la función useIntlayer() en el código solo en la salida del build, y mantendrá intacta la base de código original. | |
output | Define la ruta de archivos de salida. Reemplaza outputDir. Soporta variables de plantilla: {{fileName}}, {{key}}, {{locale}}, {{extension}}, {{componentFileName}}, {{componentExtension}}, {{format}}, {{componentFormat}}, {{componentDirPath}}. | boolean | FilePathPattern | Partial<Record<Locale, boolean | FilePathPattern>> | undefined | './{{fileName}}{{extension}}''/locales/{{locale}}/{{key}}.json'{ en: ({ key }) => './locales/en/${key}.json', fr: '...', es: false } | • Las rutas ./ se resuelven respecto al directorio del componente.• Las rutas / respecto a la raíz.• {{locale}} dispara la generación separada por localidad.• Soporta notación de objeto por localidad. |
noMetadata | Si es true, el compilador omite los metadatos del diccionario (clave, envoltorio de contenido) de la salida. | boolean | false | false → {"key":"mi-clave","content":{"key":"valor"}}true → {"key":"valor"} | • Útil para salidas JSON i18next o ICU MessageFormat. • Funciona bien con el plugin loadJSON. |
dictionaryKeyPrefix | Prefijo de clave de diccionario | string | '' | Agregue un prefijo opcional para las llaves de los diccionarios extraídos |
Esquemas Personalizados (Custom Schemas)
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Campo | Descripción | Tipo |
|---|---|---|
schemas | Permet de definir des schémas Zod pour valider la structure de vos dictionnaires. | Record<string, ZodSchema> |
Plugins
Abrir la tabla en una ventana flotante para ver todo el contenido claramente
| Campo | Descripción | Tipo |
|---|---|---|
plugins | Liste des plugins Intlayer à activer. | IntlayerPlugin[] |