# General Translation Knowledge Base: Internacionalización vs. localización (i18n vs. l10n)
URL: https://generaltranslation.com/es/kb/internationalization-vs-localization.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: La internacionalización (i18n) es el trabajo de código y diseño que permite que un mismo producto admita muchas configuraciones regionales; por ejemplo, dar formato a fechas con Intl o admitir texto right-to-left. La localización (l10n) lo adapta a una configuración regional concreta, lo que abarca la traducción, pero también la moneda, los formatos de fecha, las unidades, el tono y los aspectos legales.
Category: Internacionalización
Last updated: 2026-10-20
Authors: Kevin Wu, Jackie Chen
Published: 2026-10-20

La internacionalización hace que un producto se pueda adaptar; la localización aplica esa capacidad a un mercado concreto. Es habitual que desarrolladores, diseñadores, traductores y equipos de producto trabajen en ambas dentro del mismo lanzamiento. La traducción es solo una parte de la localización, junto con los formatos, el diseño y las convenciones locales.

## ¿Qué es la internacionalización (i18n) y qué es la localización (l10n)?

* **La internacionalización (i18n)** prepara tu base de código para admitir varias configuraciones regionales (gestión de fechas, plurales, monedas y diseño). El W3C la define como el diseño y desarrollo que &quot;facilita la localización&quot; para audiencias de distintas culturas, regiones o idiomas. En la práctica, implica sacar el texto visible para el usuario de las cadenas codificadas de forma fija, dar formato a los valores según la configuración regional, admitir texto right-to-left y usar Unicode en todo el proyecto. (Consulta [Localization vs. Internationalization](https://www.w3.org/International/questions/qa-i18n) del W3C).
* **La traducción** convierte contenido de un idioma a otro.
* **La localización (l10n)** es el proceso más amplio de adaptar tu producto a otra configuración regional. Además de la traducción, el W3C incluye los formatos de números, fechas y horas, la moneda, la ordenación, los símbolos, los iconos y colores, los formatos de direcciones y teléfonos, los requisitos legales y las referencias que una cultura podría malinterpretar.

Una configuración regional es un idioma o dialecto junto con sus convenciones, y se expresa mediante un código como `en-US` o `de-DE`.

## De dónde vienen i18n, l10n y g11n

Son numerónimos: la primera letra, el número de letras intermedias y la última letra. &quot;Internationalization&quot; tiene 18 letras entre la i y la n, de ahí i18n; &quot;localization&quot; tiene 10 entre la l y la n, de ahí l10n. &quot;Globalization&quot; se convierte en g11n del mismo modo.

&quot;Globalización&quot; es el menos uniforme de los tres términos. El W3C señala que hay quien lo usa como sinónimo de internacionalización, mientras que el [glosario de globalización de Microsoft](https://learn.microsoft.com/en-us/globalization/reference/glossary) emplea globalización para referirse a lograr que una aplicación funcione en cualquier configuración regional, e internacionalización para todo el proceso de llevar el software a mercados de todo el mundo. Cuando leas g11n, comprueba qué significado le da el autor.

## ¿La localización es lo mismo que la traducción?

La traducción es solo un paso dentro de la localización. La [guía de localización de Microsoft](https://learn.microsoft.com/en-us/globalization/localization/localization) pone como ejemplo una frase sobre el precio de un billete de tren en una fecha concreta: no basta con traducirla al alemán, porque el precio debe aparecer en euros y la fecha debe seguir el orden día-mes-año. La misma guía señala que localizar del inglés de EE. UU. al inglés del RU puede no requerir ninguna traducción, sino únicamente cambios de ortografía, vocabulario y formato.

## Un ejemplo de cada uno

**La internacionalización es un cambio en el código.** Este es el resumen de un pedido, antes y después:

```js title="order-summary.mjs"
const date = new Date(Date.UTC(2026, 6, 30));
const total = 1234.5;

// Antes: el texto en inglés, el formato de fecha estadounidense y el signo de dólar están incrustados en el código
console.log(
  `Order placed on ${date.getUTCMonth() + 1}/${date.getUTCDate()}/${date.getUTCFullYear()}. Total: $${total.toFixed(2)}`
);

// Después: el texto procede de un mensaje por configuración regional e Intl da formato a los valores
const messages = {
  'en-US': 'Order placed on {date}. Total: {total}',
  'de-DE': 'Bestellt am {date}. Gesamt: {total}',
};

function orderSummary(locale, currency) {
  const values = {
    date: new Intl.DateTimeFormat(locale, { timeZone: 'UTC' }).format(date),
    total: new Intl.NumberFormat(locale, { style: 'currency', currency }).format(total),
  };
  return messages[locale].replace(/\{(\w+)\}/g, (_, key) => values[key]);
}

console.log(orderSummary('en-US', 'USD'));
console.log(orderSummary('de-DE', 'EUR'));
```

Al ejecutarlo con Node.js 24:

```text title="Output"
Order placed on 7/30/2026. Total: $1234.50
Order placed on 7/30/2026. Total: $1,234.50
Bestellt am 30.7.2026. Gesamt: 1.234,50 €
```

El código de formato funciona con cualquiera de las dos configuraciones regionales; el mensaje en alemán se proporciona por separado. `Intl.NumberFormat` da formato a un importe en la moneda elegida, pero no convierte dólares a euros. Aquí se usa el mismo importe numérico solo a modo de ejemplo, no como un cálculo de tipo de cambio.

**La localización es la página adaptada.** Localizar una página de producto estadounidense para Alemania implica cambiar mucho más que las palabras:

| Elemento           | Página en-US                      | Página de-DE                                      |
| ------------------ | --------------------------------- | ------------------------------------------------- |
| Precio             | $49.00                            | 49,00 €                                           |
| Fecha              | July 30, 2026                     | 30. Juli 2026                                     |
| Horario de soporte | 3:00 PM                           | 15:00                                             |
| Peso               | 2.2 lb                            | 1 kg                                              |
| Tono               | &quot;Start your free trial&quot; | &quot;Sie&quot; formal en lugar de &quot;du&quot; |

Una vez internacionalizado el código, `Intl` se encarga de los formatos de las tres primeras filas. La unidad, el tono y si el propio precio debe cambiar son decisiones de localización que alguien tiene que tomar para cada mercado.

## ¿Quién es responsable de la i18n y la l10n?

* **Los desarrolladores** se encargan de la internacionalización: envuelven o extraen cadenas, añaden formato adaptado a la configuración regional y gestión de plurales, configuran el enrutamiento por configuración regional y ajustan los diseños para admitir textos más largos y sistemas de escritura right-to-left.
* **Los traductores, revisores y gestores de localización** se encargan de la localización: traducen, mantienen la coherencia terminológica, adaptan el tono y los ejemplos, y revisan cada idioma en el producto en ejecución.
* **Los equipos de producto y legal** deciden qué cambia en cada mercado, como las monedas, los métodos de pago y los avisos obligatorios.

## De un vistazo

|            | Internacionalización (i18n)                                                                      | Localización (l10n)                                                           |
| ---------- | ------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------- |
| Qué cambia | El código y el diseño                                                                            | El contenido y las convenciones de una configuración regional                 |
| Cuándo     | Antes de añadir el primer idioma adicional; se mantiene a medida que cambian las funcionalidades | Para cada configuración regional, y de nuevo cada vez que cambia el contenido |
| Quién      | Desarrolladores                                                                                  | Traductores, revisores, gestores de localización                          |
| Resultado  | Una sola base de código compatible con tus configuraciones regionales de destino                 | Un producto adaptado y revisado para una configuración regional               |
| Ejemplo    | Sustituir `$${total}` por `Intl.NumberFormat`                                                    | Traducir el proceso de pago al alemán con registro formal                     |

## Errores comunes

* **Confundir localización con traducción.** Una página traducida que mantiene fechas en formato estadounidense, precios en dólares y expresiones idiomáticas sin equivalente sigue resultando extranjera. El W3C describe la localización como «a menudo un asunto sustancialmente más complejo» que traducir la interfaz y la documentación.
* **Incorporar la i18n demasiado tarde.** Las cadenas codificadas de forma fija, las oraciones concatenadas y los botones de ancho fijo dificultan la localización de una base de código grande. Las etiquetas traducidas pueden desbordar el diseño aunque su significado sea correcto. La [pseudolocalización](/kb/pseudo-localization) saca a la luz muchos de estos problemas antes de que empiece la traducción.
* **Implementar a mano la lógica de pluralización.** `count === 1 ? 'item' : 'items'` funciona en inglés, que tiene 2 formas plurales, pero el árabe tiene 6. (Consulta [¿Cómo manejo los plurales en React?](/kb/how-to-handle-plurals-in-react))
* **Traducir sin contexto.** Un traductor o un modelo que ve «Save» de forma aislada no puede saber si significa guardar en disco o ahorrar dinero.

Antes del lanzamiento, consulta la [lista de verificación para lanzar una aplicación multilingüe](/kb/multilingual-app-launch-checklist), que detalla qué probar en cada configuración regional.

## Cómo divide General Translation la i18n y la l10n

En cuanto a la internacionalización, las bibliotecas de código abierto de General Translation, como `gt-next`, `gt-react`, `gt-vue` y `gt-node`, se encargan de la parte del código. El componente [`<T>`](/docs/react/reference/components/t) envuelve el JSX allí donde se escribe, así que no hace falta ningún archivo de claves al que extraer las cadenas, y [`<DateTime>`](/docs/react/reference/components/datetime), [`<Currency>`](/docs/react/reference/components/currency) y [`<Plural>`](/docs/react/reference/components/plural) dan formato a los valores según la configuración regional:

```jsx title="OrderSummary.jsx"
import { T, DateTime, Currency } from 'gt-next';

export function OrderSummary({ date, total, currency }) {
  return (
    <T>
      Order placed on <DateTime>{date}</DateTime>. Total:{' '}
      <Currency currency={currency}>{total}</Currency>
    </T>
  );
}
```

Para la localización, agrega una configuración regional en `gt.config.json` y ejecuta [`npx gt translate`](/docs/cli/reference/commands/translate) para generar sus traducciones. La plataforma de traducción usa como contexto el componente, las variables y las notas de los desarrolladores; los [grupos de contexto](/docs/platform/dashboard/guides/defining-context-for-translations) permiten compartir la terminología y las reglas de estilo entre proyectos, y tu equipo [revisa las traducciones](/docs/platform/dashboard/guides/reviewing-translations) en el panel de control. Para comprobar un sitio público, el [Report Card](https://generaltranslation.com/report-card) gratuito evalúa qué tan bien está localizado, incluidas las etiquetas `hreflang`, las declaraciones de idioma, el enrutamiento por configuración regional, los metadatos traducidos y la dirección del texto.

## Conclusiones clave

* La internacionalización (i18n) establece una base común para admitir varias configuraciones regionales. Mantén esa compatibilidad a medida que evolucionan las funcionalidades; la internacionalización no genera traducciones.
* La localización (l10n) adapta el producto a cada configuración regional: la traducción, además de los formatos de moneda, fecha y número, las unidades, el tono y los aspectos legales y culturales.
* Los números de i18n, l10n y g11n indican cuántas letras hay entre la primera y la última; el significado de g11n varía según la fuente.

## Related questions

- [Lista de comprobación de pruebas de localización para aplicaciones multilingües](https://generaltranslation.com/es/kb/multilingual-app-launch-checklist.mdx): Prueba nueve aspectos en cada configuración regional compatible en una compilación de producción: recorridos completos, incluidos los estados de error y los correos electrónicos; cambio de idioma; plurales; moneda y zonas horarias; expansión del texto; diseño right-to-left; accesibilidad; entrega de traducciones; y URL de idioma rastreables. Asigna a cada comprobación un criterio de aprobación explícito.
- [¿Deberías crear tu propia i18n o usar General Translation?](https://generaltranslation.com/es/kb/general-translation-vs-in-house-i18n.mdx): Una i18n hecha a mano (un diccionario por idioma y una pequeña función auxiliar t()) funciona bien para uno o dos idiomas y poco texto. A medida que la app crece, acabas reconstruyendo las reglas de plural, las alternativas de respaldo y la sincronización de archivos, y aun así tienes que generar las traducciones. Las bibliotecas de código abierto de General Translation se encargan del renderizado, y General Translation genera y actualiza las traducciones a partir de tu código.
- [¿Qué es la pseudolocalización?](https://generaltranslation.com/es/kb/pseudo-localization.mdx): La pseudolocalización es una prueba que sustituye tu texto de origen por una versión alterada (con acentos, alrededor de un 40 % más larga y entre corchetes) para que las cadenas codificadas de forma fija, el truncamiento, las fuentes rotas y las oraciones concatenadas salgan a la luz antes de que exista ninguna traducción. Android incluye para ello las pseudoconfiguraciones regionales en-XA y ar-XB.
- [¿Qué es un sistema de gestión de traducciones (TMS)?](https://generaltranslation.com/es/kb/what-is-a-translation-management-system.mdx): Un sistema de gestión de traducciones (TMS) es un software que almacena tu contenido de origen y sus traducciones, y gestiona el flujo de trabajo de traducción: memoria de traducción, glosarios, revisión, traducción automática e integraciones. Su memoria de traducción reutiliza traducciones anteriores mediante coincidencias exactas o aproximadas. Crowdin, Lokalise, Phrase, Smartling y Transifex son ejemplos habituales.
- [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.

## Previous and next questions

- Previous question: [Buenas prácticas para el selector de idioma: UX, SEO y accesibilidad](https://generaltranslation.com/es/kb/language-switcher.mdx)
- Next question: [Redirecciones de idioma y SEO: ¿URL, cookie o Accept-Language?](https://generaltranslation.com/es/kb/locale-routing-seo.mdx)

## Sitemap

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