better-i18n para empresas: Escala tu infraestructura de localización
Cuando tu producto se distribuye en múltiples idiomas, la localización se convierte en infraestructura — no en un proyecto puntual. Necesitas acceso programático, integración CI/CD, aplicación consistente de terminología y visibilidad sobre qué está traducido, qué está pendiente y qué falta.
better-i18n es una plataforma de gestión de traducciones API-first diseñada para equipos de ingeniería. Proporciona los componentes esenciales — REST API, Content SDK, herramientas CLI, servidor MCP, distribución CDN e integración con GitHub — para que la localización sea una parte fluida de tu flujo de trabajo de desarrollo.
Lo que realmente obtienen los equipos Enterprise
Arquitectura API-First
Cada función en better-i18n está disponible a través de la REST API. Tus herramientas internas, pipelines de CI y flujos de trabajo personalizados pueden interactuar con la plataforma de manera programática:
API de gestión de traducciones (dash.better-i18n.com/api):
| Operación | Descripción |
|---|---|
| listKeys | Consultar claves de traducción con filtros de búsqueda, namespace y estado |
| createKeys | Crear claves con texto fuente y traducciones iniciales |
| updateKeys | Actualizar traducciones de claves existentes en todos los idiomas |
| deleteKeys | Eliminar suavemente claves que ya no se utilizan |
| listProjects | Listar todos los proyectos de tu organización |
| getProject | Obtener detalles del proyecto incluyendo idiomas y namespaces |
Content SDK (@better-i18n/sdk):
Un query builder estilo Supabase para obtener entradas de contenido localizadas:
import { createClient } from "@better-i18n/sdk";
const client = createClient({
project: "your-org/your-project",
apiKey: process.env.BETTER_I18N_CONTENT_API_KEY,
});
// Obtener artículos de blog publicados en francés
const { data, total, hasMore } = await client
.from("blog-posts")
.eq("status", "published")
.language("fr")
.order("publishedAt", { ascending: false })
.limit(20);
El SDK es libre de dependencias, completamente tipado en TypeScript y funciona en cualquier runtime de JavaScript.
Distribución CDN
Las traducciones se sirven desde la red edge de Cloudflare en:
https://cdn.better-i18n.com/{org}/{project}/{locale}/{namespace}.json
Entrega en menos de 100 ms a nivel mundial. Actualiza las traducciones en el panel o a través de la API, y estarán disponibles en el CDN sin necesidad de redesplegar tu aplicación.
Integración con GitHub
better-i18n se sincroniza con tus repositorios:
- Sincronización activada por webhook — Los eventos push disparan actualizaciones de archivos de traducción
- Flujo de trabajo con pull requests — Las actualizaciones de traducción se envían como PRs que tú controlas
- Permisos mínimos — Lectura/escritura solo en los patrones de archivos de traducción configurados (ej.
locales/**/*.json) - Control total del merge — Tú decides cuándo las traducciones se integran en tu código base
CLI para el flujo de trabajo del desarrollador
La @better-i18n/cli se integra en tu proceso de desarrollo:
# Detectar cadenas codificadas directamente en tu código React/Next.js
npx @better-i18n/cli scan --ci
# Comparar claves de traducción locales con tu proyecto en la nube
npx @better-i18n/cli sync --format json
Añade scan a tus hooks de pre-commit o pipeline de CI. Usa sync para auditar la cobertura de traducción antes de los releases.
Servidor MCP para traducción asistida por IA
Dos servidores MCP conectan tus herramientas de IA directamente con tu espacio de trabajo de traducción:
| Paquete | Herramientas | Propósito |
|---|---|---|
| @better-i18n/mcp | 11 herramientas | Gestión de traducciones (claves, traducciones, publicación) |
| @better-i18n/mcp-content | 17 herramientas | Gestión de contenido (modelos, entradas, contenido localizado) |
Funciona con Claude, Cursor, Windsurf y cualquier herramienta de IA compatible con MCP. Tu asistente de IA puede crear claves, actualizar traducciones y gestionar contenido sin salir del IDE.
Seguridad y control de acceso
Infraestructura
- Cloudflare Workers — Edge computing con protección DDoS integrada
- PlanetScale MySQL — Base de datos serverless con copias de seguridad automáticas
- Cloudflare R2 — Almacenamiento de objetos para archivos de traducción
Cifrado
- En reposo: Cifrado AES-256
- En tránsito: TLS 1.3 para todas las conexiones
Autenticación
- Panel de control: GitHub OAuth (sin contraseñas almacenadas)
- API: Autenticación Bearer token con claves hasheadas mediante bcrypt
- Alcance de claves: Las claves API pueden limitarse a proyectos específicos
- Gestión de claves: Revocación instantánea desde el panel de control
Control de acceso
- Control de acceso basado en roles (RBAC) a nivel de organización y proyecto
- Registros de auditoría para todas las operaciones sensibles
- Principio de mínimo privilegio para todos los accesos internos
Cumplimiento normativo
| Estándar | Estado |
|---|---|
| GDPR | Conforme — Acuerdos de procesamiento de datos disponibles, derecho de supresión soportado, exportación de datos bajo solicitud |
| SOC 2 Type II | En progreso — estamos trabajando en la obtención de la certificación |
Nota de transparencia: Aún no contamos con la certificación SOC 2 Type II. Nuestros proveedores de infraestructura (Cloudflare, PlanetScale) poseen certificaciones SOC 2 Type II e ISO 27001. Mantenemos prácticas de seguridad alineadas con estos estándares y estamos en proceso de obtener nuestra propia certificación. Para más información, consulta nuestra documentación de seguridad.
Compatibilidad con frameworks
| Framework | Paquete | Aspectos destacados |
|---|---|---|
| Next.js (App Router & Pages) | @better-i18n/next | Server Components, enrutamiento por middleware |
| TanStack Start | @better-i18n/use-intl | SSR, enrutamiento basado en archivos con parámetro $locale |
| Vite + React | @better-i18n/use-intl | SPA con cambio de locale del lado del cliente |
| Expo (React Native) | @better-i18n/expo | Caché offline, localizaciones dinámicas, actualizaciones OTA |
Todas las integraciones de framework utilizan las mismas claves de traducción y namespaces, para que tus aplicaciones web y móviles compartan una única fuente de verdad.
Gestión de traducciones multi-equipo
Organización por namespace
Organiza las traducciones por equipo, funcionalidad o tipo de contenido:
your-org/your-project
├── auth/ → Equipo de autenticación
├── dashboard/ → Equipo de producto
├── marketing/ → Equipo de marketing
├── help/ → Equipo de soporte
└── onboarding/ → Equipo de crecimiento
Cada namespace puede tener flujos de trabajo de progreso y revisión de traducciones independientes.
Gestión del glosario
Define términos de marca, nombres de productos y vocabulario técnico una sola vez. El glosario garantiza la consistencia en todas las traducciones:
- Términos aprobados — Establece la traducción correcta de tu terminología de producto en cada idioma
- Reglas de no traducción — Marca nombres de marca, términos técnicos y abreviaciones que deben permanecer en el idioma fuente
- Alertas de consistencia — Los traductores reciben notificaciones cuando utilizan alternativas no aprobadas
Traducción con IA y contexto
La traducción con IA respeta tu glosario y el contexto del namespace. Úsala para:
- Generación de borradores iniciales — La IA produce traducciones que siguen tu terminología, luego los revisores humanos refinan
- Traducción masiva — Traduce un namespace completo a un nuevo idioma en minutos
- Selección de modelo — Elige entre GPT-4o, Claude, Gemini o DeepL según tus preferencias de calidad
Patrones de escalabilidad para grandes organizaciones
Estructura multi-proyecto
Las organizaciones enterprise a menudo tienen múltiples productos. Cada uno obtiene su propio proyecto en better-i18n con namespaces, glosarios y accesos de equipo independientes:
your-org/web-app
your-org/mobile-app
your-org/marketing-site
your-org/help-center
El Content SDK y la REST API funcionan en todos los proyectos utilizando la misma autenticación.
Integración CI/CD
# .github/workflows/i18n-check.yml
name: Translation Coverage Check
on: [push, pull_request]
jobs:
i18n:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
- run: npx @better-i18n/cli scan --ci
- run: npx @better-i18n/cli sync --format json
Bloquea PRs que introduzcan cadenas sin traducir. Audita la cobertura de traducción en cada push.
Gestión de contenido a gran escala
El Content SDK soporta patrones de CMS headless para contenido localizado:
// Obtener todos los artículos de ayuda publicados en alemán
const { data: articles, total } = await client
.from("help-articles")
.eq("status", "published")
.language("de")
.order("updatedAt", { ascending: false })
.limit(50);
// Obtener un artículo individual con relaciones de autor y categoría expandidas
const { data: article } = await client
.from("help-articles")
.language("de")
.expand("author", "category")
.single("getting-started");
El query builder es inmutable, completamente tipado y retorna resultados paginados con metadatos total y hasMore.
Lo que aún no ofrecemos
Creemos en ser transparentes sobre nuestras capacidades actuales:
- SSO/SAML — Aún no disponible. La autenticación actualmente se realiza mediante GitHub OAuth. SSO está en nuestra hoja de ruta.
- Despliegue on-premises — Somos una plataforma SaaS alojada en la nube. Las opciones auto-alojadas no están disponibles actualmente.
- Residencia de datos personalizada — Los datos se procesan a través de la red global de Cloudflare y se almacenan en PlanetScale. El alojamiento por región aún no está disponible.
- SLA dedicado — Actualmente no ofrecemos SLAs de disponibilidad contractuales con penalizaciones financieras.
Si alguno de estos puntos es un impedimento para tu organización, contáctanos para discutir tus requisitos y nuestro calendario de hoja de ruta.
Primeros pasos
- Crea tu organización en dash.better-i18n.com
- Configura tu primer proyecto y define los idiomas
- Instala la CLI —
npm install -D @better-i18n/cli - Conecta GitHub — Activa la sincronización para tus archivos de traducción
- Añade el servidor MCP — Da a tus herramientas de IA acceso a tus traducciones
- Integra el SDK — Usa
@better-i18n/next,@better-i18n/use-intlo@better-i18n/expoen tu aplicación
Empieza gratis — sin tarjeta de crédito. La API, CLI, el servidor MCP y todas las integraciones de framework están disponibles en todos los planes. Consulta nuestra documentación para guías de configuración detalladas.