Recibe notificaciones sobre los próximos lanzamientos de Intlayer
    Creación:2024-08-11Última actualización:2025-07-11

    Intlayer CLI

    Instalar Paquete

    Instala los paquetes necesarios usando npm:

    bash
    npm install intlayer-cli -g

    Si el paquete intlayer ya está instalado, el CLI se instala automáticamente. Puedes omitir este paso.

    Paquete intlayer-cli

    El paquete intlayer-cli tiene como objetivo transpilar tus declaraciones de intlayer en diccionarios.

    Este paquete transpilará todos los archivos de intlayer, tales como src/**/*.content.{ts|js|mjs|cjs|json}. Consulta cómo declarar tus archivos de declaración Intlayer.

    Para interpretar los diccionarios de intlayer puedes usar intérpretes, como react-intlayer, o next-intlayer.

    Soporte para Archivos de Configuración

    Intlayer acepta múltiples formatos de archivo de configuración:

    • intlayer.config.ts
    • intlayer.config.js
    • intlayer.config.json
    • intlayer.config.cjs
    • intlayer.config.mjs
    • .intlayerrc

    Para ver cómo configurar los locales disponibles u otros parámetros, consulta la documentación de configuración aquí.

    Ejecutar comandos de intlayer

    Construir diccionarios

    Para construir tus diccionarios, puedes ejecutar los comandos:

    bash
    npx intlayer build

    o en modo observación

    bash
    npx intlayer build --watch

    Este comando buscará tus archivos de contenido de declaración por defecto en ./src/**/*.content.{ts|js|mjs|cjs|json|tsx|jsx}. Y construirá los diccionarios en el directorio .intlayer.

    Alias:
    • npx intlayer dictionaries build
    • npx intlayer dictionary build
    • npx intlayer dic build

    Enviar diccionarios

    bash
    npx intlayer dictionary push

    Si tienes instalado el editor de intlayer, también puedes enviar los diccionarios al editor. Este comando permitirá que los diccionarios estén disponibles en el editor. De esta manera, puedes compartir tus diccionarios con tu equipo y editar tu contenido sin modificar el código de tu aplicación.

    Alias:
    • npx intlayer dictionaries push
    • npx intlayer dictionary push
    • npx intlayer dic push
    Argumentos:

    Opciones de diccionario:

    • -d, --dictionaries: IDs de los diccionarios a enviar. Si no se especifica, se enviarán todos los diccionarios.

      Ejemplo: npx intlayer dictionary push -d my-dictionary-id my-other-dictionary-id

    Opciones de configuración:

    • --base-dir: Especifica el directorio base del proyecto. Para obtener la configuración de intlayer, el comando buscará el archivo intlayer.config.{ts,js,json,cjs,mjs} en el directorio base.

      Ejemplo: npx intlayer dictionary push --env-file .env.production.local

    Opciones de variables de entorno:

    • --env: Especifica el entorno (por ejemplo, development, production). Útil en caso de que uses variables de entorno en tu archivo de configuración de intlayer.
    • --env-file: Proporciona un archivo de entorno personalizado desde el cual cargar variables. Útil en caso de que uses variables de entorno en tu archivo de configuración de intlayer.

      Ejemplo: npx intlayer dictionary push --env-file .env.production.local

      Ejemplo: npx intlayer dictionary push --env production

    Opciones de salida:

    • -r, --delete-locale-dictionary: Omitir la pregunta que solicita eliminar los directorios de locales una vez que los diccionarios se han enviado, y eliminarlos. Por defecto, si el diccionario está definido localmente, sobrescribirá el contenido de los diccionarios remotos.

      Ejemplo: npx intlayer dictionary push -r

      Ejemplo: npx intlayer dictionary push --delete-locale-dictionary

    • -k, --keep-locale-dictionary: Omitir la pregunta que solicita eliminar los directorios de locales una vez que los diccionarios se han enviado, y mantenerlos. Por defecto, si el diccionario está definido localmente, sobrescribirá el contenido de los diccionarios remotos.

      Ejemplo: npx intlayer dictionary push -k

      Ejemplo: npx intlayer dictionary push --keep-locale-dictionary

    Opciones de registro:

    • --verbose: Habilitar el registro detallado para depuración.

    Opciones de Git:

    • --git-diff: Ejecutar solo en diccionarios que incluyan cambios desde la base (por defecto origin/main) hasta la rama actual (por defecto: HEAD).
    • --git-diff-base: Especificar la referencia base para el diff de git (por defecto origin/main).
    • --git-diff-current: Especificar la referencia actual para el diff de git (por defecto HEAD).
    • --uncommitted: Incluir cambios no confirmados.
    • --unpushed: Incluir cambios no enviados.
    • --untracked: Incluir archivos no rastreados.

      Ejemplo: npx intlayer dictionary push --git-diff --git-diff-base origin/main --git-diff-current HEAD

      Ejemplo: npx intlayer dictionary push --uncommitted --unpushed --untracked

    Descargar diccionarios remotos

    bash
    npx intlayer pull

    Si el editor de intlayer está instalado, también puedes descargar diccionarios desde el editor. De esta manera, puedes sobrescribir el contenido de tus diccionarios según las necesidades de tu aplicación.

    Alias:
    • npx intlayer dictionaries pull
    • npx intlayer dictionary pull
    • npx intlayer dic pull
    Argumentos:

    Opciones de diccionario:

    • -d, --dictionaries: IDs de los diccionarios a descargar. Si no se especifica, se descargarán todos los diccionarios.

      Ejemplo: npx intlayer dictionary pull -d my-dictionary-id my-other-dictionary-id

    Opciones de configuración:

    • --base-dir: Especifica el directorio base para el proyecto. Para obtener la configuración de intlayer, el comando buscará el archivo intlayer.config.{ts,js,json,cjs,mjs} en el directorio base.

      Ejemplo: npx intlayer dictionary push --env-file .env.production.local

    Opciones de variables de entorno:

    • --env: Especifica el entorno (por ejemplo, development, production).
    • --env-file: Proporciona un archivo de entorno personalizado para cargar variables.
    • --base-dir: Especifica el directorio base para el proyecto. Para obtener la configuración de intlayer, el comando buscará el archivo intlayer.config.{ts,js,json,cjs,mjs} en el directorio base.

      Ejemplo: npx intlayer dictionary push --env-file .env.production.local

      Ejemplo: npx intlayer dictionary push --env production

    Opciones de salida:

    • --new-dictionaries-path: Ruta al directorio donde se guardarán los nuevos diccionarios. Si no se especifica, los nuevos diccionarios se guardarán en el directorio ./intlayer-dictionaries del proyecto. Si en el contenido de tu diccionario se especifica un campo filePath, los diccionarios no considerarán este argumento y se guardarán en el directorio filePath especificado.

    Opciones de registro:

    • --verbose: Habilita el registro detallado para depuración.
    Ejemplo:
    bash
    npx intlayer dictionary pull --newDictionariesPath ./my-dictionaries-dir/

    Rellenar / auditar / traducir diccionarios

    bash
    npx intlayer fill

    Este comando analiza tus archivos de declaración de contenido en busca de posibles problemas como traducciones faltantes, inconsistencias estructurales o incompatibilidades de tipos. Si encuentra algún problema, intlayer fill propondrá o aplicará actualizaciones para mantener tus diccionarios consistentes y completos.

    Alias:
    • npx intlayer dictionaries fill
    • npx intlayer dictionary fill
    • npx intlayer dic fill
    Argumentos:

    Opciones de lista de archivos:

    • -f, --file [files...]: Una lista de archivos específicos de declaración de contenido para auditar. Si no se proporciona, se auditarán todos los archivos *.content.{ts,js,mjs,cjs,tsx,jsx,json} descubiertos según la configuración de tu archivo.

      Ejemplo: npx intlayer dictionary fill -f src/home/app.content.ts

    • -k, --keys [keys...]: Filtra los diccionarios basándose en claves. Si no se proporciona, se auditarán todos los diccionarios.

      Ejemplo: npx intlayer dictionary fill -k key1 key2

    • --excluded-keys [excludedKeys...]: Excluye diccionarios basándose en claves. Si no se proporciona, se auditarán todos los diccionarios.

      Ejemplo: npx intlayer dictionary fill --excluded-keys key1 key2

    • --path-filter [pathFilters...]: Filtra diccionarios basándose en un patrón glob para rutas de archivos.

      Ejemplo: npx intlayer dictionary fill --path-filter "src/home/**"

    Opciones de salida de entrada:

    • --source-locale [sourceLocale]: La localización origen desde la cual traducir. Si no se especifica, se usará la localización predeterminada de tu configuración.

    • --output-locales [outputLocales...]: Locales de destino para traducir. Si no se especifica, se usarán todas las locales de tu configuración excepto la local de origen.

    • --mode [mode]: Modo de traducción: 'complete' (completo), 'review' (revisión) o 'missing-only' (solo faltantes). El valor predeterminado es 'missing-only'.

    Opciones de Git:

    • --git-diff: Ejecutar solo en diccionarios que incluyan cambios desde la base (por defecto origin/main) hasta la rama actual (por defecto: HEAD).
    • --git-diff-base: Especificar la referencia base para el diff de git (por defecto origin/main).
    • --git-diff-current: Especificar la referencia actual para el diff de git (por defecto: HEAD).
    • --uncommitted: Incluir cambios no confirmados.
    • --unpushed: Incluir cambios no enviados.
    • --untracked: Incluir archivos no rastreados.

      Ejemplo: npx intlayer doc translate --git-diff --git-diff-base origin/main --git-diff-current HEAD

      Ejemplo: npx intlayer doc translate --uncommitted --unpushed --untracked

    Opciones de IA:

    • --model [model]: El modelo de IA a utilizar para la traducción (por ejemplo, gpt-3.5-turbo).
    • --provider [provider]: El proveedor de IA a utilizar para la traducción.
    • --temperature [temperature]: Configuración de temperatura para el modelo de IA.
    • --api-key [apiKey]: Proporciona tu propia clave API para el servicio de IA.
    • --custom-prompt [prompt]: Proporciona un prompt personalizado para tus instrucciones de traducción.
    • --application-context [applicationContext]: Proporciona contexto adicional para la traducción de IA.

      Ejemplo: npx intlayer fill --model gpt-3.5-turbo --provider openai --temperature 0.5 --api-key sk-1234567890 --application-context "Mi aplicación es una tienda de gatos"

    Opciones de variables de entorno:

    • --env: Especificar el entorno (por ejemplo, development, production).
    • --env-file [envFile]: Proporcionar un archivo de entorno personalizado para cargar variables.

      Ejemplo: npx intlayer fill --env-file .env.production.local

      Ejemplo: npx intlayer fill --env production

    Opciones de configuración:

    • --base-dir: Especificar el directorio base para el proyecto.

      Ejemplo: npx intlayer fill --base-dir ./src

    Opciones de registro:

    • --verbose: Habilitar registros detallados para depuración.
    Ejemplo:
    bash
    npx intlayer fill --file src/home/*.content.ts --source-locale en --output-locales fr es --model gpt-3.5-turbo

    Este comando traducirá el contenido del inglés al francés y español para todos los archivos de declaración de contenido en el directorio src/home/ usando el modelo GPT-3.5 Turbo.

    Gestionar Configuración

    Obtener Configuración

    El comando configuration get recupera la configuración actual de Intlayer, particularmente las configuraciones de localización. Esto es útil para verificar tu configuración.

    bash
    npx intlayer configuration get
    Alias:
    • npx intlayer config get
    • npx intlayer conf get
    Argumentos:
    • --env: Especificar el entorno (por ejemplo, development, production).
    • --env-file: Proporcionar un archivo de entorno personalizado para cargar variables desde él.
    • --base-dir: Especifica el directorio base para el proyecto.
    • --verbose: Habilita el registro detallado para depuración.

    Enviar Configuración

    El comando configuration push sube tu configuración al CMS y editor de Intlayer. Este paso es necesario para habilitar el uso de diccionarios remotos en el Editor Visual de Intlayer.

    bash
    npx intlayer configuration push
    Alias:
    • npx intlayer config push
    • npx intlayer conf push
    Argumentos:
    • --env: Especifica el entorno (por ejemplo, development, production).
    • --env-file: Proporciona un archivo de entorno personalizado para cargar variables.
    • --base-dir: Especifica el directorio base para el proyecto.
    • --verbose: Habilita el registro detallado para depuración.

    Al enviar la configuración, su proyecto queda completamente integrado con el CMS de Intlayer, lo que permite una gestión fluida de los diccionarios entre equipos.

    Gestión de Documentación

    Los comandos doc proporcionan herramientas para gestionar y traducir archivos de documentación en múltiples locales.

    Traducir Documentación

    El comando doc translate traduce automáticamente archivos de documentación desde un locale base a locales destino utilizando servicios de traducción por IA.

    bash
    npx intlayer doc translate
    Argumentos:

    Opciones de lista de archivos:

    • --doc-pattern [docPattern...]: Patrones glob para coincidir con los archivos de documentación a traducir.

      Ejemplo: npx intlayer doc translate --doc-pattern "docs/**/*.md" "src/**/*.mdx"

    • --excluded-glob-pattern [excludedGlobPattern...]: Patrones glob para excluir de la traducción.

      Ejemplo: npx intlayer doc translate --excluded-glob-pattern "docs/internal/**"

    • --skip-if-modified-before [skipIfModifiedBefore]: Omitir el archivo si ha sido modificado antes del tiempo dado.

      • Puede ser un tiempo absoluto como "2025-12-05" (cadena o Date)
      • Puede ser un tiempo relativo en ms 1 * 60 * 60 * 1000 (1 hora)
      • Esta opción verifica la hora de actualización del archivo usando el método fs.stat. Por lo tanto, podría verse afectada por Git u otras herramientas que modifiquen el archivo.

      Ejemplo: npx intlayer doc translate --skip-if-modified-before "2025-12-05"

    • --skip-if-modified-after [skipIfModifiedAfter]: Omitir el archivo si ha sido modificado dentro del tiempo dado.

      • Puede ser una hora absoluta como "2025-12-05" (cadena o Date)
      • Puede ser una hora relativa en ms 1 * 60 * 60 * 1000 (1 hora)
      • Esta opción verifica la hora de actualización del archivo usando el método fs.stat. Por lo tanto, podría verse afectada por Git u otras herramientas que modifiquen el archivo.

      Ejemplo: npx intlayer doc translate --skip-if-modified-after "2025-12-05"

    Opciones de salida de entrada:

    • --locales [locales...]: Locales de destino para traducir la documentación.

      Ejemplo: npx intlayer doc translate --locales fr es de

    • --base-locale [baseLocale]: Locale de origen desde el cual traducir.

      Ejemplo: npx intlayer doc translate --base-locale en

    Opciones de procesamiento de archivos:

    • --nb-simultaneous-file-processed [nbSimultaneousFileProcessed]: Número de archivos a procesar simultáneamente para la traducción.

      Ejemplo: npx intlayer doc translate --nb-simultaneous-file-processed 5

    Opciones de IA:

    • --model [model]: El modelo de IA a utilizar para la traducción (por ejemplo, gpt-3.5-turbo).
    • --provider [provider]: El proveedor de IA a utilizar para la traducción.
    • --temperature [temperature]: Configuración de temperatura para el modelo de IA.
    • --api-key [apiKey]: Proporciona tu propia clave API para el servicio de IA.
    • --application-context [applicationContext]: Proporciona contexto adicional para la traducción de IA.
    • --custom-prompt [prompt]: Personaliza el prompt base utilizado para la traducción. (Nota: Para la mayoría de los casos de uso, se recomienda en su lugar la opción --custom-instructions, ya que proporciona un mejor control sobre el comportamiento de la traducción).

      Ejemplo: npx intlayer doc translate --model deepseek-chat --provider deepseek --temperature 0.5 --api-key sk-1234567890 --application-context "Mi aplicación es una tienda de gatos"

    Opciones de variables de entorno:

    • --env: Especifica el entorno (por ejemplo, development, production).
    • --env-file [envFile]: Proporciona un archivo de entorno personalizado desde el cual cargar variables.
    • --base-dir: Especifica el directorio base para el proyecto.

      Ejemplo: npx intlayer doc translate --base-dir ./docs --env-file .env.production.local

    Opciones de registro:

    • --verbose: Habilitar el registro detallado para depuración.

      Ejemplo: npx intlayer doc translate --verbose

    Opciones de instrucciones personalizadas:

    • --custom-instructions [customInstructions]: Instrucciones personalizadas añadidas al prompt. Útil para aplicar reglas específicas respecto al formato, traducción de URLs, etc.

      • Puede ser un tiempo absoluto como "2025-12-05" (cadena o Date)
      • Puede ser un tiempo relativo en ms 1 * 60 * 60 * 1000 (1 hora)
      • Esta opción verifica la hora de actualización del archivo usando el método fs.stat. Por lo tanto, podría verse afectada por Git u otras herramientas que modifiquen el archivo.

      Ejemplo: npx intlayer doc translate --custom-instructions "Evitar traducir URLs y mantener el formato markdown"

      Ejemplo: npx intlayer doc translate --custom-instructions "$(cat ./instructions.md)"

    Opciones de Git:

    • --git-diff: Ejecutar solo en diccionarios que incluyan cambios desde la base (por defecto origin/main) hasta la rama actual (por defecto: HEAD).
    • --git-diff-base: Especificar la referencia base para el git diff (por defecto origin/main).
    • --git-diff-current: Especificar la referencia actual para el git diff (por defecto: HEAD).
    • --uncommitted: Incluir cambios no confirmados.
    • --unpushed: Incluir cambios no enviados.
    • --untracked: Incluir archivos no rastreados.

      Ejemplo: npx intlayer doc translate --git-diff --git-diff-base origin/main --git-diff-current HEAD

      Ejemplo: npx intlayer doc translate --uncommitted --unpushed --untracked

    Ten en cuenta que la ruta del archivo de salida se determinará reemplazando los siguientes patrones

    • /{{baseLocale}}/ por /{{locale}}/ (Unix)
    • {{baseLocale}}` por {{locale}}` (Windows)
    • _{{baseLocale}}. por _{{locale}}.
    • {{baseLocale}}_ por {{locale}}_
    • .{{baseLocaleName}}. por .{{localeName}}.

    Si no se encuentra el patrón, el archivo de salida añadirá .{{locale}} en la extensión del archivo. Por ejemplo, ./my/file.md se traducirá a ./my/file.fr.md para el idioma francés.

    Revisar Documentación

    El comando doc review analiza los archivos de documentación para verificar la calidad, consistencia y completitud entre diferentes locales.

    bash
    npx intlayer doc review

    Puede usarse para revisar archivos que ya están traducidos y para comprobar si la traducción es correcta.

    Para la mayoría de los casos de uso,

    • prefiera usar doc translate cuando la versión traducida de este archivo no esté disponible.
    • prefiera usar doc review cuando la versión traducida de este archivo ya exista.

    Tenga en cuenta que el proceso de revisión consume más tokens de entrada que el proceso de traducción para revisar el mismo archivo en su totalidad. Sin embargo, el proceso de revisión optimizará los fragmentos a revisar y omitirá las partes que no hayan cambiado.

    Argumentos:

    El comando doc review acepta los mismos argumentos que doc translate, permitiéndole revisar archivos de documentación específicos y aplicar controles de calidad.

    Si activaste una de las opciones de git, el comando solo revisará la parte de los archivos que están siendo modificados. El script procesará dividiendo el archivo en fragmentos y revisará cada fragmento. Si no hay cambios en el fragmento, el script lo omitirá para acelerar el proceso de revisión y limitar el costo de la API del proveedor de IA.

    Usa los comandos de intlayer en tu package.json

    package.json
    "scripts": {  "intlayer:build": "npx intlayer build",  "intlayer:watch": "npx intlayer build --watch",  "intlayer:push": "npx intlayer push",  "intlayer:pull": "npx intlayer pull",  "intlayer:fill": "npx intlayer fill",  "intlayer:doc:translate": "npx intlayer doc translate",  "intlayer:doc:review": "npx intlayer doc review"}

    SDK de CLI

    El SDK de CLI es una biblioteca que te permite usar el CLI de Intlayer en tu propio código.

    bash
    npm install @intlayer/cli --save-dev

    Ejemplo de uso:

    ts
    import {  push,  pull,  fill,  build,  docTranslate,  docReview,} from "@intlayer/cli";push();// ...pull();// ...fill();// ...build();// ...docTranslate();// ...docReview();// ...

    Depurar comando intlayer

    1. Asegúrate de estar usando la última versión

    Ejecuta:

    bash
    npx intlayer --version                  # versión actual de intlayer en el localenpx intlayer@latest --version           # versión más reciente de intlayer

    2. Verifica si el comando está registrado

    Puedes verificar con:

    bash
    npx intlayer --help                     # Muestra la lista de comandos disponibles e información de usonpx intlayer dictionary build --help    # Muestra la lista de opciones disponibles para un comando

    3. Reinicia tu terminal

    A veces es necesario reiniciar el terminal para que reconozca nuevos comandos.

    4. Limpia la caché de npx (si estás atascado con una versión antigua)

    bash
    npx clear-npx-cache

    Historial del documento

    Versión Fecha Cambios
    5.5.11 2025-07-11 Actualización de la documentación de parámetros de comandos CLI
    5.5.10 2025-06-29 Historial inicial
    Recibe notificaciones sobre los próximos lanzamientos de Intlayer