# General Translation Knowledge Base: General Translation vs. Locize: ¿cuál deberías usar?
URL: https://generaltranslation.com/es/kb/general-translation-vs-locize.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Locize es un sistema de gestión de traducciones de los creadores de i18next que sirve las traducciones desde una CDN, recopila claves nuevas desde tu aplicación en ejecución y añade traducción con IA y un editor en contexto. Aun así, sigues teniendo que mantener la biblioteca de i18n y sus claves. General Translation puede ser tu biblioteca de i18n y encargarse también de la traducción, o traducir los archivos de i18next que ya tienes.
Category: Herramientas para flujos de trabajo
Last updated: 2026-10-16
Authors: Kevin Wu, Jackie Chen
Published: 2026-10-16

Locize es un sistema de gestión de traducciones (TMS) creado por el equipo de i18next. Tu aplicación sigue usando i18next (u otra biblioteca de i18n), Locize almacena las claves y sus traducciones, la IA o tus traductores completan cada idioma y la aplicación carga el resultado desde la CDN de Locize, de modo que una traducción corregida se publica sin tener que volver a desplegar. Locize complementa tu biblioteca de i18n, pero no la sustituye, así que la configuración inicial de la biblioteca, las claves y la integración siguen en manos de tus ingenieros. General Translation puede cubrir ambas cosas: sus propias bibliotecas de i18n de código abierto más la traducción, o solo la traducción de los archivos de i18next que ya tienes.

## Lo que Locize hace bien

* **Diseñado para i18next.** [`i18next-locize-backend`](https://github.com/locize/i18next-locize-backend) carga las traducciones desde la CDN de Locize y, con la opción `saveMissing` de i18next, envía las claves nuevas a Locize mientras desarrollas. [`i18next-cli`](https://github.com/i18next/i18next-cli) incluye comandos de sincronización, descarga y migración para Locize, y su comando `localize` envuelve las cadenas hardcodeadas en `t()`, extrae las claves, conecta un proyecto de Locize y solicita la traducción con IA, todo en una sola ejecución.
* **Actualizaciones sin volver a desplegar.** Las traducciones se publican en una CDN (una Standard CDN en todos los planes y una Pro CDN a partir del plan Growth), con una [duración de caché configurable por versión](https://www.locize.com/docs/integration/cdn-types-standard-vs-pro) y la opción de publicar de forma privada, con acceso solo mediante clave de API.
* **Versiones.** Un proyecto tiene una versión de trabajo `latest`, una versión `production` y las versiones personalizadas que quieras, como `staging` o una por cada lanzamiento de la aplicación móvil, de modo que puedes promover o revertir traducciones independientemente del código. (Consulta [el control de versiones de Locize](https://www.locize.com/docs/versioning)).
* **Edición en contexto.** El [paquete `locize`](https://github.com/locize/locize) añade una ventana emergente de edición a tu sitio cuando la URL incluye `?incontext=true`, y las capturas de pantalla se vinculan a las claves mediante reconocimiento de texto.
* **IA y traducción automática.** [El servicio de IA propio de Locize](https://www.locize.com/ai), o tu propia clave de OpenAI, Gemini, Mistral o DeepL, traduce según tu guía de estilo, glosario y memoria de traducción, con estimación de calidad, revisión por IA y un flujo de trabajo de revisión humana.
* **Claves de plural por idioma.** Para JSON de i18next, Locize [genera las claves de plural](https://www.locize.com/docs/integration/i18n-formats/pluralization) que necesita cada idioma de destino (como `_few` y `_many` en polaco) y muestra todas las formas en su editor.
* **Más allá de i18next.** [`locize-cli`](https://github.com/locize/locize-cli) importa y exporta formatos como XLIFF, Android XML, Apple `.strings`, PO, RESX, Fluent y Java properties, y Locize publica ejemplos para react-intl, vue-i18n y Lingui. También ofrece una GitHub Action, un servidor MCP y un plugin de Figma.

## Lo que Locize aún deja en manos de tus ingenieros

Así funciona `saveMissing` con `i18next` 26.4.7 e `i18next-locize-backend` 10.0.3 al renderizar en español una clave que Locize todavía no ha visto. La función de solicitud sustituye a los servidores de Locize y registra cada llamada:

```js title="test.mjs"
import i18next from 'i18next';
import Backend from 'i18next-locize-backend';

// CDN simulada: por ahora, inglés y español tienen una sola clave cada uno.
const cdn = {
  en: { inbox: { title: 'Inbox' } },
  es: { inbox: { title: 'Bandeja de entrada' } },
};

await i18next.use(Backend).init({
  lng: 'es',
  fallbackLng: 'en',
  saveMissing: true,
  backend: {
    projectId: 'demo-project',
    apiKey: 'demo-write-key', // clave de escritura: solo para desarrollo
    referenceLng: 'en',
    allowedAddOrUpdateHosts: () => true,
    reloadInterval: false,
    request: async ({ url, method, body }) => {
      console.log(method, url, body ? JSON.stringify(body) : '');
      const lng = url.match(/latest\/(\w+)\//)?.[1];
      return { status: 200, data: JSON.stringify(method === 'GET' ? cdn[lng] ?? {} : {}) };
    },
  },
});

// Texto nuevo añadido en el código, con un valor predeterminado en inglés
console.log(i18next.t('inbox.title'));
console.log(i18next.t('inbox.empty', 'No messages yet.'));
await new Promise((r) => setTimeout(r, 6000)); // saveMissing aplica debounce
```

```text title="Output"
GET https://api.lite.locize.app/demo-project/latest/es/translation
GET https://api.lite.locize.app/demo-project/latest/en/translation
Bandeja de entrada
No messages yet.
POST https://api.lite.locize.app/missing/demo-project/latest/en/translation {"inbox.empty":"No messages yet."}
```

Este ejemplo muestra lo que registra `saveMissing`: la clave en inglés y su valor. La traducción y la publicación se realizan después del registro. Una integración con Locize conecta estos pasos:

1. Configura i18next, asigna un nombre de clave a cada cadena y llama a `t()` con ella.
2. Envía las claves nuevas a Locize con `saveMissing` en desarrollo (de forma predeterminada solo funciona en `localhost`, y [la clave de escritura nunca debe llegar a producción](https://www.locize.com/docs/guides/going-to-production)) o con un comando de sincronización en CI.
3. Traduce con IA o con tus traductores, revisa los resultados y publícalos en la versión que lee tu app.
4. Carga las traducciones desde la CDN en tiempo de ejecución, o descárgalas en tu compilación, y registra cada nuevo idioma en la app.

El contexto que llega a un traductor o a la IA es la clave, su valor en inglés, cualquier nota de contexto y [las capturas de pantalla asociadas a ella](https://www.locize.com/docs/context), no el componente que renderiza la cadena.

Los planes de Locize tienen un precio base mensual que incluye palabras, descargas de la CDN, idiomas, namespaces y versiones. Los planes más grandes ofrecen bloques adicionales de palabras y descargas, y la traducción automática y con IA se cobra por token o por carácter. (Consulta [los precios de Locize](https://www.locize.com/pricing), revisados en octubre de 2026).

## General Translation para equipos que usan i18next

No tienes que reescribir nada para probar General Translation. La CLI detecta `i18next` en tu `package.json` y traduce tus archivos JSON manteniendo la sintaxis de interpolación de i18next (o la sintaxis ICU, si usas `i18next-icu`):

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": [
    "es"
  ],
  "files": {
    "json": {
      "include": [
        "locales/[locale]/*.json"
      ]
    }
  }
}
```

[`npx gt translate --dry-run`](/docs/cli/reference/commands/translate) detecta `locales/en/translation.json`, y [`npx gt translate`](/docs/cli/reference/commands/translate) genera `locales/es/translation.json`. Usa este flujo de trabajo basado en archivos para mensajes cuya estructura de claves sea la misma en el origen y en el destino. Un archivo de metadatos asociado permite añadir una nota de `context` o un límite `maxChars` a cualquier clave. Consulta [Metadatos asociados a claves](/docs/cli/reference/keyed-metadata).

O ve un paso más allá y deja que General Translation sea también tu biblioteca. [`<T>`](/docs/react/reference/components/t) envuelve JSX y lo traduce en el mismo lugar, y [`useGT`](/docs/react/reference/hooks/use-gt) se encarga de las cadenas, así que no tienes que ponerle nombre a ninguna clave. [`useTranslations`](/docs/react/reference/hooks/use-translations) conserva un diccionario con claves para los equipos que lo prefieran. `gt-next`, `gt-react` y `gt-vue` tienen licencia MIT, no dependen de i18next y funcionan sin una cuenta de General Translation.

## Locize vs. General Translation de un vistazo

| Característica                   | Locize                                                                                                                         | General Translation                                                                                                                             |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| Qué es                           | Un TMS que se integra con i18next u otra biblioteca de i18n                                                                    | Bibliotecas de i18n de código abierto con traducción por IA, o traducción de tus archivos existentes                                            |
| Dónde viven las cadenas          | Claves en tu código; valores en Locize                                                                                         | En tu código, dentro de [`<T>`](/docs/react/reference/components/t), o en los archivos de recursos que ya tienes                                |
| Cómo se incorpora el texto nuevo | `saveMissing` en desarrollo, o comandos de sincronización en CI                                                                | [`npx gt translate`](/docs/cli/reference/commands/translate) en tu compilación, o pull requests de [Locadex](/docs/platform/locadex/quickstart) |
| Quién traduce                    | La IA de Locize, tu propia clave de IA o de traducción automática, o tus traductores                                           | IA con contexto de tu código, glosario y prompts personalizados, con revisión de tu equipo en el panel de control                               |
| Contexto de cada cadena          | Clave, valor en inglés, notas de contexto, capturas de pantalla, glosario y guía de estilo                                     | Estructura JSX marcada con bibliotecas inline; metadatos asociados a claves para catálogos; glosario y prompts personalizados compartidos       |
| Entrega                          | CDN de forma predeterminada, con versiones; o descarga en tu compilación                                                       | Archivos incluidos en el paquete, o actualizaciones publicadas a través de la CDN de General Translation sin volver a desplegar la aplicación   |
| Precios                          | Planes por niveles según palabras, descargas de CDN, idiomas y versiones; IA y traducción automática como complementos de pago | [Traducción según el uso](https://generaltranslation.com/pricing)                                                                               |

## Por qué los equipos eligen General Translation en lugar de Locize

General Translation permite que un equipo que usa i18next adopte primero la generación de traducciones y la revisión en el panel de control, y que después pase al contenido inline cuando también quiera dejar de mantener claves.

* **Más rápido.** Ejecuta la traducción antes de la compilación para que el contenido nuevo se publique en todos los idiomas que admites. La CLI reutiliza las traducciones existentes y traduce el contenido nuevo o modificado; para agregar un idioma basta con una línea en `gt.config.json`.
* **Más económico de operar.** Empieza con los archivos de i18next que ya mantienes. Después, al migrar una funcionalidad a [`<T>`](/docs/react/reference/components/t), te ahorras el trabajo de nombrar claves y de mantener un diccionario de origen sincronizado con sus componentes.
* **Mayor calidad.** Agrega una nota de contexto a una clave del catálogo o usa bloques inline de [`<T>`](/docs/react/reference/components/t) para enviar a traducción la estructura JSX de la oración y sus ramas de plural. Un [grupo de contexto](/docs/platform/dashboard/guides/defining-context-for-translations) compartido mantiene la coherencia de la terminología del producto entre los proyectos de la aplicación y de la documentación, y los revisores editan los resultados en el panel de control.
* **Menor riesgo.** Conserva i18next y tus traducciones revisadas mientras evalúas General Translation. Los archivos de traducción incluidos en el paquete no hacen llamadas a General Translation en tiempo de ejecución; además, sus bibliotecas de JavaScript con licencia MIT funcionan sin cuenta si proporcionas tus propias traducciones.

Con General Translation, Cursor publica su web y su documentación en más de 14 configuraciones regionales. (Consulta los [despliegues en producción](https://generaltranslation.com/enterprise)).

## Cuándo Locize es la mejor opción

Elige Locize si los traductores quieren editar directamente en el sitio en producción, si mantienes versiones de traducción separadas para cada lanzamiento de una aplicación móvil o si intercambias archivos XLIFF, Fluent o Java properties. Elige las bibliotecas inline de General Translation si quieres que el texto de origen sea legible dentro de los componentes y que la estructura JSX marcada se incluya en la traducción. Prueba su CLI con tus catálogos existentes si quieres evaluar la traducción y la revisión en el panel de control antes de cambiar de biblioteca.

## Migrar de Locize a General Translation

Descarga tus traducciones actuales con `locize-cli` y guárdalas en tu repositorio. Luego, apunta `gt.config.json` a los archivos en inglés y ejecuta [`npx gt upload`](/docs/cli/reference/commands/upload) para enviar a la plataforma tus textos de origen y las traducciones existentes. A partir de ahí, puedes seguir usando i18next y dejar que la CLI traduzca las claves nuevas, o migrar a [`<T>`](/docs/react/reference/components/t) funcionalidad por funcionalidad. (Consulta [Migrar bibliotecas de i18n](/docs/react/guides/migrating-i18n-libraries)). También puedes importar los términos del glosario: los grupos de contexto admiten la importación de archivos CSV, TSV, JSON y de texto.

## Conclusiones clave

* Locize, de los creadores de i18next, es un TMS sólido para aplicaciones con i18next, con entrega por CDN, `saveMissing`, versiones, edición en contexto y traducción con IA.
* Funciona junto con tu biblioteca de i18n y sus catálogos basados en claves; la traducción, la revisión y la publicación se configuran en torno a esos catálogos.
* General Translation puede traducir los archivos de i18next que ya tienes, o ser a la vez tu biblioteca de i18n y tu solución de traducción, con el contexto del código y todos los idiomas listos en cada lanzamiento.

## Related questions

- [General Translation vs. i18next, react-intl y next-intl: ¿qué biblioteca de i18n deberías usar?](https://generaltranslation.com/es/kb/general-translation-vs-i18n-libraries.mdx): Las bibliotecas de código abierto como i18next, react-intl y next-intl no traducen nada. Muestran las traducciones que tú proporcionas en un archivo de catálogo para cada idioma, escritas por ti, por tus traductores o por un servicio externo. Las bibliotecas de General Translation también son de código abierto y cumplen la misma función, pero además General Translation se encarga de traducir, usando tu código como contexto.
- [¿Por qué usar General Translation en lugar de un TMS (Smartling, Lokalise, Phrase, Crowdin o Transifex)?](https://generaltranslation.com/es/kb/general-translation-vs-tms.mdx): Un sistema de gestión de traducciones (TMS) como Smartling, Lokalise, Phrase, Crowdin o Transifex coordina a los traductores, pero los ingenieros siguen teniendo que extraer las cadenas, enviarlas, esperar las traducciones y volver a integrarlas en el producto. General Translation traduce el contenido de tu código junto con su contexto, incluye todos los idiomas en cada lanzamiento y funciona con bibliotecas de código abierto, sin dependencia de proveedor.
- [General Translation vs. Tolgee: ¿cuál deberías usar?](https://generaltranslation.com/es/kb/general-translation-vs-tolgee.mdx): Tolgee combina mensajes con claves, edición en contexto y traducción con IA en una plataforma que puedes alojar tú mismo. General Translation mantiene el texto legible directamente en tus componentes y genera las traducciones a partir del JSX marcado, para que puedas publicar texto nuevo en todos los idiomas sin tener que mantener claves de mensajes.
- [General Translation vs. Weblate: ¿cuál deberías usar?](https://generaltranslation.com/es/kb/general-translation-vs-weblate.mdx): Weblate es una plataforma de localización autoalojable y basada en Git, pensada para traducir los archivos de un repositorio junto con una comunidad o un equipo. General Translation integra la generación de traducciones en el desarrollo y los lanzamientos mediante JSX marcado y contexto compartido del producto. Conserva tus archivos de gettext o adopta la redacción inline para eliminar también el mantenimiento del catálogo de origen.
- [¿Puedo hacer i18n sin archivos de traducción?](https://generaltranslation.com/es/kb/i18n-without-translation-files.mdx): Sí. Con gt-react o gt-next, el contenido se mantiene inline en tus componentes, dentro de un componente `<T>`, y las traducciones se generan en tiempo de compilación, por lo que no tienes que escribir claves ni archivos JSON por configuración regional ni mantenerlos sincronizados.

## Previous and next questions

- Previous question: [General Translation vs. Lingui: ¿cuál deberías usar?](https://generaltranslation.com/es/kb/general-translation-vs-lingui.mdx)
- Next question: [General Translation vs. Mobility: ¿cuál deberías usar?](https://generaltranslation.com/es/kb/general-translation-vs-mobility.mdx)

## Sitemap

See the [Knowledge Base sitemap](https://generaltranslation.com/es/kb/sitemap.md) for every article.
