Haz tu pregunta y obtén un resumen del documento referenciando esta página y el proveedor AI de tu elección
Historial de versiones
- "Actualizar el uso de la API useIntlayer de Solid para el acceso directo a las propiedades"v8.9.04/5/2026
- "Agregar comando init"v7.5.930/12/2025
- "Historial inicial"v7.1.1020/11/2025
El contenido de esta página ha sido traducido con una IA.
Ver la última versión del contenido original en inglésSi tienes una idea para mejorar esta documentación, no dudes en contribuir enviando una pull request en GitHub.
Enlace de GitHub a la documentaciónCopiar el Markdown del documento a la portapapeles
Traduce tu sitio web SvelteKit usando Intlayer | Internacionalización (i18n)
Tabla de Contenidos
¿Por qué Intlayer en lugar de alternativas?
En comparación con soluciones principales como svelte-i18n o i18next, Intlayer es una solución que viene con optimizaciones integradas como:
Intlayer está optimizado para funcionar perfectamente con SvelteKit al ofrecer enrutamiento multilingüe, soporte SSR y todas las funciones necesarias para escalar la internacionalización (i18n).
En lugar de cargar archivos JSON masivos en sus páginas, cargue solo el contenido necesario. Intlayer ayuda a reducir el tamaño de su bundle y de sus páginas hasta en un 50%.
Determinar el alcance del contenido de su aplicación facilita el mantenimiento para aplicaciones a gran escala. Puede duplicar o eliminar una sola carpeta de funciones sin la carga mental de revisar todo el código base de contenido. Además, Intlayer está completamente escrito para garantizar la precisión de su contenido.
La ubicación conjunta de contenido reduce el contexto necesario para los modelos de lenguajes grandes (LLM). Intlayer también viene con un conjunto de herramientas, como una CLI para comprobar si faltan traducciones,LSP, MCP y agent skills, para que la experiencia del desarrollador (DX) sea aún más fluida para los agentes de IA.
Utilice la automatización para traducir su canal de CI/CD utilizando el LLM de su elección al costo de su proveedor de IA. Intlayer también ofrece un compilador para automatizar la extracción de contenido, así como una plataforma web para ayudar a traducir en segundo plano.
La conexión de archivos JSON masivos a componentes puede provocar problemas de rendimiento y reactividad. Intlayer optimiza la carga de su contenido en el momento de la compilación.
Más que una simple solución i18n, Intlayer proporciona un [editor visual] autohospedado(/es/doc/concept/editor) y un CMS completo para ayudarle a administrar su contenido multilingüe en tiempo real, lo que facilita la colaboración con traductores, redactores y otros miembros del equipo. El contenido se puede almacenar de forma local y/o remota.
Guía paso a paso para configurar Intlayer en una aplicación SvelteKit
Para comenzar, crea un nuevo proyecto SvelteKit. Aquí está la estructura final que crearemos:
Copiar el código al portapapeles
Instalar dependencias
Instala los paquetes necesarios usando npm:
bashCopiar códigoCopiar el código al portapapeles
- intlayer: El paquete principal de i18n.
- svelte-intlayer: Proporciona context providers y stores para Svelte/SvelteKit.
- vite-intlayer: El plugin de Vite para integrar las declaraciones de contenido con el proceso de build.
Configuración de tu proyecto
Crea un archivo de configuración en la raíz de tu proyecto:
intlayer.config.tsCopiar códigoCopiar el código al portapapeles
Integra Intlayer en tu configuración de Vite
Actualiza tu
vite.config.tspara incluir el plugin de Intlayer. Este plugin se encarga de la transpilación de tus archivos de contenido.vite.config.tsCopiar códigoCopiar el código al portapapeles
Declara Tu Contenido
Crea tus archivos de declaración de contenido en cualquier lugar dentro de tu carpeta
src(por ejemplo,src/lib/contento junto a tus componentes). Estos archivos definen el contenido traducible para tu aplicación usando la funciónt()para cada locale.Utiliza Intlayer en Tus Componentes
Ahora puedes usar la función
useIntlayeren cualquier componente Svelte. Esta devuelve una tienda reactiva que se actualiza automáticamente cuando cambia el locale. La función respetará automáticamente el locale actual (tanto durante SSR como en la navegación del lado del cliente).Nota:
useIntlayerdevuelve una tienda de Svelte, por lo que necesitas usar el prefijo `--- createdAt: 2025-11-20 updatedAt: 2026-05-31 title: Cómo traducir tu aplicación SvelteKit – Guía i18n 2026 description: Descubre cómo hacer que tu sitio web SvelteKit sea multilingüe. Sigue la documentación para internacionalizar (i18n) y traducir usando Server-Side Rendering (SSR). keywords:- Internacionalización
- Documentación
- Intlayer
- SvelteKit
- JavaScript
- SSR slugs:
- doc
- environment
- sveltekit applicationTemplate: https://github.com/aymericzip/intlayer-sveltekit-template history:
- version: 7.1.10 date: 2025-11-20 changes: Historial inicial
Traduce tu sitio web SvelteKit usando Intlayer | Internacionalización (i18n)
Tabla de Contenidos
¿Qué es Intlayer?
Intlayer es una biblioteca innovadora y de código abierto para internacionalización (i18n) diseñada para simplificar el soporte multilingüe en aplicaciones web modernas. Funciona perfectamente con las capacidades de Server-Side Rendering (SSR) de SvelteKit.
Con Intlayer, puedes:
- Gestionar traducciones fácilmente usando diccionarios declarativos a nivel de componente.
- Localizar dinámicamente metadatos, rutas y contenido.
- Garantizar soporte para TypeScript con tipos autogenerados.
- Aprovechar el SSR de SvelteKit para una internacionalización amigable con SEO.
Guía paso a paso para configurar Intlayer en una aplicación SvelteKit
Para comenzar, crea un nuevo proyecto SvelteKit. Aquí está la estructura final que crearemos:
Copiar el código al portapapeles
Instalar dependencias
Instala los paquetes necesarios usando npm:
bashCopiar códigoCopiar el código al portapapeles
- intlayer: El paquete principal de i18n.
- svelte-intlayer: Proporciona context providers y stores para Svelte/SvelteKit.
- vite-intlayer: El plugin de Vite para integrar las declaraciones de contenido con el proceso de build.
Configuración de tu proyecto
Crea un archivo de configuración en la raíz de tu proyecto:
intlayer.config.tsCopiar códigoCopiar el código al portapapeles
Integra Intlayer en tu configuración de Vite
Actualiza tu
vite.config.tspara incluir el plugin de Intlayer. Este plugin se encarga de la transpilación de tus archivos de contenido.vite.config.tsCopiar códigoCopiar el código al portapapeles
Declara Tu Contenido
Crea tus archivos de declaración de contenido en cualquier lugar dentro de tu carpeta
src(por ejemplo,src/lib/contento junto a tus componentes). Estos archivos definen el contenido traducible para tu aplicación usando la funciónt()para cada locale.Utiliza Intlayer en Tus Componentes
para acceder a su valor reactivo (por ejemplo,
$content.title).src/lib/components/Component.svelteCopiar códigoCopiar el código al portapapeles
Configurar el enrutamiento
OpcionalLos siguientes pasos muestran cómo configurar el enrutamiento basado en el locale en SvelteKit. Esto permite que tus URLs incluyan el prefijo del locale (por ejemplo,
/en/about,/fr/about) para mejorar el SEO y la experiencia del usuario.bashCopiar códigoCopiar el código al portapapeles
Manejar la detección del locale en el servidor
En SvelteKit, el servidor necesita conocer el locale del usuario para renderizar el contenido correcto durante SSR. Usamos
hooks.server.tspara detectar el locale desde la URL o las cookies.Crea o modifica
src/hooks.server.ts:src/hooks.server.tsCopiar códigoCopiar el código al portapapeles
Luego, crea un helper para obtener la locale del usuario desde el evento de la solicitud:
src/lib/getLocale.tsCopiar códigoCopiar el código al portapapeles
getLocaleFromStorageverificará la localidad desde el encabezado o la cookie dependiendo de tu configuración. Consulta Configuración para más detalles.La función
localeDetectorprocesará el encabezadoAccept-Languagey devolverá la mejor coincidencia.Si la localidad no está configurada, queremos devolver un error 404. Para facilitarlo, podemos crear una función
matchpara verificar si la localidad es válida:/src/params/locale.tsCopiar códigoCopiar el código al portapapeles
Nota: Asegúrate de que tu
src/app.d.tsincluya la definición de la localidad:typescriptCopiar códigoCopiar el código al portapapeles
Para el archivo
+layout.svelte, podemos eliminar todo, para mantener solo contenido estático, no relacionado con i18n:src/+layout.svelteCopiar códigoCopiar el código al portapapeles
Luego, crea una nueva página y layout bajo el grupo
[[locale=locale]]:src/routes/[[locale=locale]]/+layout.tsCopiar códigoCopiar el código al portapapeles
src/routes/[[locale=locale]]/+layout.svelteCopiar códigoCopiar el código al portapapeles
src/routes/[[locale=locale]]/+page.tsCopiar códigoCopiar el código al portapapeles
src/routes/[[locale=locale]]/+page.svelteCopiar códigoCopiar el código al portapapeles
Enlaces internacionalizados
OpcionalPara SEO, se recomienda prefijar tus rutas con la locale (por ejemplo,
/en/about,/fr/about). Este componente automáticamente prefija cualquier enlace con la locale actual.src/lib/components/LocalizedLink.svelteCopiar códigoCopiar el código al portapapeles
Si usas
gotode SvelteKit, puedes usar la misma lógica congetLocalizedUrlpara navegar a la URL localizada:typescriptCopiar códigoCopiar el código al portapapeles
Selector de idioma
OpcionalPara permitir a los usuarios cambiar de idioma, actualiza la URL.
src/lib/components/LanguageSwitcher.svelteCopiar códigoCopiar el código al portapapeles
Añadir proxy backend
OpcionalPara añadir un proxy backend a tu aplicación SvelteKit, puedes usar la función
intlayerProxyproporcionada por el pluginvite-intlayer. Este plugin detectará automáticamente la mejor locale para el usuario basándose en la URL, cookies y preferencias de idioma del navegador.vite.config.tsCopiar códigoCopiar el código al portapapeles
Configurar el editor / CMS de intlayer
OpcionalPara configurar el editor de intlayer, debes seguir la documentación del editor de intlayer.
Para configurar el CMS de intlayer, debes seguir la documentación del CMS de intlayer.
Para poder visualizar el selector del editor intlayer, deberás usar la sintaxis de componente en tu contenido intlayer.
Component.svelteCopiar códigoCopiar el código al portapapeles
Extraer el contenido de tus componentes
OpcionalSi tienes una base de código existente, transformar miles de archivos puede llevar mucho tiempo.
Para facilitar este proceso, Intlayer propone un compilador / extractor para transformar tus componentes y extraer el contenido.
Para configurarlo, puedes agregar una sección
compileren tu archivointlayer.config.ts:intlayer.config.tsCopiar códigoCopiar el código al portapapeles
import { type IntlayerConfig } from "intlayer"; const config: IntlayerConfig = { // ... Resto de tu configuración compiler: { /** * Indica si el compilador debe estar habilitado. */ enabled: true, /** * Define la ruta de los archivos de salida */ output: ({ fileName, extension }) => `./${fileName}${extension}`, /** * Indica si los componentes deben guardarse después de ser transformados. De esa manera, el compilador se puede ejecutar solo una vez para transformar la aplicación y luego se puede eliminar. */ saveComponents: false, /** * Prefijo de clave de diccionario */ dictionaryKeyPrefix: "", }, }; export default config;Ejecuta el extractor para transformar tus componentes y extraer el contenido
bashCopiar códigoCopiar el código al portapapeles
Configuración de Git
Se recomienda ignorar los archivos generados por Intlayer.
Copiar el código al portapapeles
Ir Más Allá
- Editor Visual: Integra el Editor Visual de Intlayer para editar las traducciones directamente desde la interfaz de usuario.
- CMS: Externaliza la gestión de tu contenido usando el CMS de Intlayer.