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_analyze | Ver 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 pasos | No (ejecución en seco sobre una copia temporal) | — |
babelize_translate | Extraer cadenas, conectarlas a next-intl / react-i18next y traducirlas a los locales de to | Sí, en el árbol de trabajo | Clave en el entorno del servidor, árbol git limpio |
babelize_check | QA 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 glosario | No | — |
babelize_review | El mismo QA, limitado a las entradas de locales cambiadas en el diff de git, más traducciones obsoletas de cadenas fuente modificadas | No | Repositorio 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_translatese niega a ejecutarse sobre cambios sin confirmar, por lo que su resultado es su propio diff revisable. Confirma o guarda primero.dryRun: trueprevisualiza sobre un árbol sucio, yforce: truelo 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 quereplace: 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.
pathdebe 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_translatesobre 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 entorno | Proveedor |
|---|---|
ANTHROPIC_API_KEY | Anthropic |
OPENAI_API_KEY | OpenAI |
GEMINI_API_KEY | Google Gemini |
GROQ_API_KEY | Groq |
OPENROUTER_API_KEY | OpenRouter |
BABELIZE_API_KEY | Alojado 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
deyja, ejecuta la verificación e informa los cambios y cualquier seguimiento (como instalarnext-intl). La indicación MCP demake-global-readycontiene 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_translatecondryRun: true. Esto aún llama al traductor. - "Edité las cadenas en español. ¿Hay algo roto?" El agente ejecuta
babelize_reviewsobre los cambios sin confirmar. - "Revisa las traducciones en esta rama contra main." El agente ejecuta
babelize_reviewconbase: "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
| Herramienta | Parámetros | Descripción | Autenticación |
|---|---|---|---|
babelize_scan | directory (obligatorio), extensions (opcional) | Escanear un directorio local en busca de cadenas hardcodeadas | No |
babelize_scan_strings | code (obligatorio), language (opcional) | Extraer cadenas traducibles de un fragmento de código | No |
babelize_run | project_id (obligatorio), target_locales (obligatorio), source_locale (opcional), framework (opcional) | Activar una ejecución de traducción | Sí |
babelize_run_and_wait | project_id (obligatorio), target_locales (obligatorio), source_locale, framework, poll_interval, max_polls (opcional) | Iniciar una ejecución y esperar a que termine | Sí |
babelize_status | babel_id (obligatorio) | Verificar el estado de una ejecución de traducción | Sí |
babelize_glossary_get | project_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 defecto | Sí |
babelize_glossary_set | project_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 locale | Sí |
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ón | Argumentos | Descripción |
|---|---|---|
make-global-ready | locales, path (opcional) | Bucle local de analizar → traducir → verificar |
translate-project | project_id, target_locale, source_locale (opcional) | Flujo guiado para traducir un proyecto |
scan-and-translate | directory, target_locale | Escanear 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 compatiblesbabelize://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
- Argumentos de CLI —
--api-key,--api-url - Variables de entorno —
BABELIZE_API_KEY,BABELIZE_API_URL - Archivo de configuración local —
.babelize/config.json
Opciones
| Opción de CLI | Variable de entorno | Por defecto | Descripción |
|---|---|---|---|
--api-key | BABELIZE_API_KEY | — | Tu clave de API de Babelize |
--api-url | BABELIZE_API_URL | https://api.babelize.co | URL base de la API (la aplicación cliente añade /api por sí misma) |
--workspace | BABELIZE_WORKSPACE | raíces del cliente, si no el directorio de trabajo | Carpeta 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.