Babelize

Haz que tus aplicaciones estén listas para el mercado global desde tu agente de codificación: encuentra cadenas hardcodeadas, tradúcelas a más de 90 idiomas y verifica archivos de configuración regional para detectar claves faltantes y marcadores de posición rotos.

Documentación

Servidor MCP

Haz que las aplicaciones estén listas para el mercado global desde Claude Code, Cursor, Codex y otros agentes de IA con @babelize/mcp. El mismo motor local que la CLI.

El servidor MCP de Babelize (@babelize/mcp) permite que los agentes de codificación de IA hagan que tu aplicación esté lista para el mercado global: Claude Code, Cursor, Codex o cualquier cliente MCP. Sus cuatro herramientas de flujo de trabajo local ejecutan el mismo motor que npx babelize translate en tu máquina y escriben en tu árbol de trabajo para su revisión con git diff. No necesitas una cuenta de Babelize: usa tu propia clave de LLM o una clave de API de Babelize para traducción alojada.

El flujo de trabajo

HerramientaÚsala para¿Escribe?Requiere
babelize_analyzeVer qué se necesita para localizar la aplicación: framework y nivel de soporte, configuración de i18n, cadenas hardcodeadas (archivo:línea), frases JSX mantenidas completas como un mensaje ICU, cadenas que no se pueden conectar y por qué, cobertura de locales, claves no utilizadas, próximos pasosNo (ejecución en seco sobre una copia temporal)—
babelize_translateExtraer cadenas, conectarlas a next-intl / react-i18next y traducirlas a los locales de toSí, en el árbol de trabajoClave en el entorno del servidor, árbol git limpio
babelize_checkQA de los archivos de locales: claves faltantes o vacías, valores sin traducir, placeholders y etiquetas perdidos, ICU inválido, formas plurales incorrectas, violaciones del glosarioNo—
babelize_reviewEl mismo QA, limitado a las entradas de locales cambiadas en el diff de git, más traducciones obsoletas de cadenas fuente modificadasNoRepositorio git

Los agentes siguen el bucle analizar → traducir → verificar / revisar → corregir → repetir. React, Next.js, Django y HTML estático son compatibles; Vue y React Native están en beta.

  • Regla del árbol limpio. babelize_translate se niega a ejecutarse sobre cambios sin confirmar, por lo que su resultado es su propio diff revisable. Confirma o guarda primero. dryRun: true previsualiza sobre un árbol sucio, y force: true lo anula.
  • Ejecuciones incrementales. El archivo de bloqueo (.babelize/local/babelize-lock.json) significa que las reejecuciones solo traducen cadenas nuevas o modificadas. Las cadenas fallidas se reintentan en la siguiente ejecución, y los locales anteriores se conservan a menos que replace: true.
  • Respuestas compactas. Cada herramienta devuelve un resumen breve más JSON compacto. Las listas están limitadas (limit, 15 por defecto) y las rutas son relativas al proyecto.
  • Rutas seguras. path debe permanecer dentro del espacio de trabajo. El espacio de trabajo es --workspace / BABELIZE_WORKSPACE, de lo contrario las raíces MCP de tu cliente, de lo contrario el directorio de trabajo del servidor si es un proyecto. / y tu directorio personal nunca se utilizan.
  • Una ejecución por proyecto. Una segunda babelize_translate sobre el mismo proyecto mientras una está en curso es rechazada. Proyectos diferentes se ejecutan en paralelo.

Claves de traducción

Las claves provienen del entorno del servidor MCP. Nunca son argumentos de herramientas y nunca se imprimen.

Variable de entornoProveedor
ANTHROPIC_API_KEYAnthropic
OPENAI_API_KEYOpenAI
GEMINI_API_KEYGoogle Gemini
GROQ_API_KEYGroq
OPENROUTER_API_KEYOpenRouter
BABELIZE_API_KEYAlojado por Babelize (nivel gratuito incluido). Crea una clave en Configuración → Claves de API. --api-key o apiKey en .babelize/config.json también funcionan

La primera clave BYOK encontrada gana, luego la clave de Babelize. El agente puede elegir una con provider (y model para BYOK).

Configuración del cliente

Claude Code

claude mcp add babelize -e ANTHROPIC_API_KEY=sk-ant-... -- npx -y @babelize/mcp

O confirma un .mcp.json con ámbito de proyecto. ${VAR} se lee del shell de cada desarrollador:

{
  "mcpServers": {
    "babelize": {
      "command": "npx",
      "args": ["-y", "@babelize/mcp"],
      "env": { "ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}" }
    }
  }
}

Cursor

.cursor/mcp.json, o Configuración → MCP → Añadir nuevo servidor MCP:

{
  "mcpServers": {
    "babelize": {
      "command": "npx",
      "args": ["-y", "@babelize/mcp", "--workspace", "${workspaceFolder}"],
      "env": { "OPENAI_API_KEY": "${env:OPENAI_API_KEY}" }
    }
  }
}

Codex

~/.codex/config.toml:

[mcp_servers.babelize]
command = "npx"
args = ["-y", "@babelize/mcp"]
env = { ANTHROPIC_API_KEY = "sk-ant-..." }

Añade "--workspace", "/path/to/app" a args si las herramientas informan la carpeta incorrecta.

Claude Desktop, opencode y otros

Ejecuta npx -y @babelize/mcp como servidor stdio con una variable de entorno de clave. Si el cliente no inicia servidores en tu carpeta de proyecto (Claude Desktop no lo hace), añade --workspace /path/to/app:

{
  "mcpServers": {
    "babelize": {
      "command": "npx",
      "args": ["-y", "@babelize/mcp", "--workspace", "/path/to/app"],
      "env": { "GEMINI_API_KEY": "..." }
    }
  }
}

Ejemplos de indicaciones

  • "Haz que esta aplicación esté lista para el mercado global en alemán y japonés." El agente analiza, traduce a de y ja, ejecuta la verificación e informa los cambios y cualquier seguimiento (como instalar next-intl). La indicación MCP de make-global-ready contiene las mismas instrucciones.
  • "¿Qué se necesitaría para localizar esta aplicación? No cambies nada." El agente ejecuta solo babelize_analyze.
  • "Muéstrame el diff para añadir francés, pero no lo escribas." El agente ejecuta babelize_translate con dryRun: true. Esto aún llama al traductor.
  • "Edité las cadenas en español. ¿Hay algo roto?" El agente ejecuta babelize_review sobre los cambios sin confirmar.
  • "Revisa las traducciones en esta rama contra main." El agente ejecuta babelize_review con base: "main".

Configuración del proyecto y glosario

Las herramientas locales leen .babelize/config.json en el proyecto para sourceLocale y un glosario opcional, que babelize_check y babelize_review hacen cumplir:

{
  "sourceLocale": "en",
  "glossary": {
    "neverTranslate": ["Babelize"],
    "alwaysTranslateAs": [{ "term": "workspace", "translations": { "de": "Arbeitsbereich" } }]
  }
}

Herramientas de gestión de proyectos en la nube

El servidor también incluye 30 herramientas para proyectos en babelize.co. Todas excepto las dos herramientas de escaneo necesitan una clave de API de Babelize:

export BABELIZE_API_KEY=bblz_sk_...

O pon la clave en .babelize/config.json:

{ "apiKey": "bblz_sk_..." }

Herramientas comunes en la nube

HerramientaParámetrosDescripciónAutenticación
babelize_scandirectory (obligatorio), extensions (opcional)Escanear un directorio local en busca de cadenas hardcodeadasNo
babelize_scan_stringscode (obligatorio), language (opcional)Extraer cadenas traducibles de un fragmento de códigoNo
babelize_runproject_id (obligatorio), target_locales (obligatorio), source_locale (opcional), framework (opcional)Activar una ejecución de traducciónSí
babelize_run_and_waitproject_id (obligatorio), target_locales (obligatorio), source_locale, framework, poll_interval, max_polls (opcional)Iniciar una ejecución y esperar a que termineSí
babelize_statusbabel_id (obligatorio)Verificar el estado de una ejecución de traducciónSí
babelize_glossary_getproject_id (obligatorio), search, page, limit (opcional)Listar entradas del glosario con sus ids (para babelize_glossary_delete) y el recuento total; 100 por página por defectoSí
babelize_glossary_setproject_id (obligatorio), source (obligatorio), type (never_translate por defecto, o always_translate_as), target y locale (obligatorios para always_translate_as)Añadir o actualizar una entrada: un término existente (coincidencia ignorando mayúsculas) se actualiza, y always_translate_as añade o reemplaza la traducción de un localeSí

Lista completa de herramientas: README de @babelize/mcp.

Herramientas de escaneo sin autenticación

babelize_scan y babelize_scan_strings son ayudantes de bajo nivel que funcionan sin clave de API. Para un proyecto completo, prefiere babelize_analyze.

Indicaciones

El servidor expone tres indicaciones MCP:

IndicaciónArgumentosDescripción
make-global-readylocales, path (opcional)Bucle local de analizar → traducir → verificar
translate-projectproject_id, target_locale, source_locale (opcional)Flujo guiado para traducir un proyecto
scan-and-translatedirectory, target_localeEscanear un directorio local y luego traducir lo encontrado

Recursos

Cuando hay una clave de API configurada, el servidor también registra dos recursos MCP:

  • babelize://languages — lista de idiomas compatibles
  • babelize://me — el perfil de usuario actual

Sin una clave de API, los recursos no se registran (las dos herramientas de escaneo sin autenticación siguen funcionando).

Prioridad de configuración

  1. Argumentos de CLI — --api-key, --api-url
  2. Variables de entorno — BABELIZE_API_KEY, BABELIZE_API_URL
  3. Archivo de configuración local — .babelize/config.json

Opciones

Opción de CLIVariable de entornoPor defectoDescripción
--api-keyBABELIZE_API_KEY—Tu clave de API de Babelize
--api-urlBABELIZE_API_URLhttps://api.babelize.coURL base de la API (la aplicación cliente añade /api por sí misma)
--workspaceBABELIZE_WORKSPACEraíces del cliente, si no el directorio de trabajoCarpeta en la que las herramientas locales pueden trabajar

Establece la URL solo al origen — incluir /api tú mismo resulta en solicitudes a /api/api.

¿Cómo es esta guía?

[

React Native & Expo

Cómo Babelize traduce Expo Router, Expo clásico y aplicaciones React Native puras — qué extrae, dónde se agrupan las traducciones, cómo se elige el idioma del dispositivo y las limitaciones actuales.

](https://docs.babelize.co/integrations/react-native)