Internacionalización
Localización tipada y basada en URL con Paraglide, cada mensaje es una función, comprobada en tiempo de compilación.
Qué obtienes
- Catálogos de mensajes curados (inglés, neerlandés, alemán, francés y español) y eliges cuáles incluir al crear el proyecto
- La locale base servida en URL sin prefijo y las demás locales bajo un prefijo
/xx/(/de/…), resueltas antes del enrutado, para que los archivos de rutas sigan siendo agnósticos al idioma - Un componente
LocaleSwitchery un runtime de mensajes compilado y tree-shakeable
Elegir idiomas
Cuando seleccionas el módulo i18n, la CLI pregunta qué idiomas incluir, o pásalos de forma no interactiva. La primera locale es la base (respaldo); solo se conservan los catálogos elegidos.
bash
Usar mensajes
Los mensajes compilan a funciones tipadas en el objeto m. Referencia una clave que no existe y no compilará:
tsx
Consejo
Las claves de mensaje se generan como nombres estables y pseudoaleatorios (p. ej.
silver_lamp_cord_meadow) en vez de describir el texto. Así las claves se mantienen estables cuando cambia la redacción y se evita el ruido en los merges. Edita el texto en los catálogos JSON, no la clave.Añadir una locale
- Añade la locale a
project.inlang/settings.jsony a la listalocalesenapps/web/src/lib/i18n.ts. - Crea
messages/<locale>.jsoncon las claves traducidas. - Recompila el runtime.
bash
Rutas traducidas
La locale base se sirve sin prefijo (/pricing); las demás locales bajo un prefijo /xx/. Cada ruta conserva su ruta por defecto; para traducir la ruta por locale (para que el neerlandés obtenga /nl/prijzen), añade una entrada a routeLocalizations en src/lib/i18n.ts:
ts