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
- "Documento inicial"v5.8.09/9/2025
El contenido de esta página ha sido traducido con una IA.
Ver la última versión del contenido original en inglésIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Traduce tu Nest backend con Intlayer | Internacionalización (i18n)
express-intlayer es un middleware poderoso de internacionalización (i18n) para aplicaciones Express, diseñado para hacer que tus servicios backend sean accesibles globalmente proporcionando respuestas localizadas basadas en las preferencias del cliente. Dado que NestJS está construido sobre Express, puedes integrar sin problemas express-intlayer en tus aplicaciones NestJS para manejar contenido multilingüe de manera efectiva.
Comenzando
Crear un nuevo proyecto NestJS
Copiar el código al portapapeles
npm install -g @nestjs/clinest new my-nest-appInstalación
Para comenzar a usar express-intlayer, instale el paquete usando npm:
Copiar el código al portapapeles
npx intlayer@canary init --interactive # v9# npx intlayer init # v8la bandera--interactivees opcional. Usaintlayer-cli initsi eres un agente de IA.
Este comando detectará su entorno e instalará los paquetes necesarios. Por ejemplo:
Copiar el código al portapapeles
npm install intlayer express-intlayerConfigurar tsconfig.json
Para usar Intlayer con TypeScript, asegúrese de que su tsconfig.json esté configurado para soportar módulos ES. Puede hacerlo estableciendo las opciones module y moduleResolution en nodenext.
Copiar el código al portapapeles
{ compilerOptions: { module: "nodenext", moduleResolution: "nodenext", // ... otras opciones },}Configuración
Configure los ajustes de internacionalización creando un archivo intlayer.config.ts en la raíz de su proyecto:
Copiar el código al portapapeles
import { Locales, type IntlayerConfig } from "intlayer";
const config: IntlayerConfig = {
internationalization: {
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
defaultLocale: Locales.ENGLISH,
},
};
export default config;Declare Su Contenido
Cree y gestione sus declaraciones de contenido para almacenar traducciones:
Tus declaraciones de contenido pueden definirse en cualquier parte de tu aplicación siempre que estén incluidas en el directoriocontentDir(por defecto,./src). Y coincidan con la extensión de archivo de declaración de contenido (por defecto,.content.{json,ts,tsx,js,jsx,mjs,cjs,md,mdx,yaml,yml}).
Para más detalles, consulta la documentación de declaración de contenido.
Configuración del Middleware de Express
Integrar el middleware express-intlayer en tu aplicación NestJS para manejar la internacionalización:
Copiar el código al portapapeles
import { MiddlewareConsumer, Module, NestModule } from "@nestjs/common";import { AppController } from "./app.controller";import { AppService } from "./app.service";import { intlayer } from "express-intlayer";@Module({ imports: [], controllers: [AppController], providers: [AppService],})export class AppModule implements NestModule { configure(consumer: MiddlewareConsumer) { consumer.apply(intlayer()).forRoutes("*"); // Aplicar a todas las rutas }}Usar Traducciones en Tus Servicios o Controladores
Ahora puedes usar la función getIntlayer para acceder a las traducciones en tus servicios o controladores:
Copiar el código al portapapeles
import { Injectable } from "@nestjs/common";import { getIntlayer } from "express-intlayer";@Injectable()export class AppService { getHello(): string { return getIntlayer("app").greet; // Obtener saludo desde las traducciones }}Compatibilidad
express-intlayer es totalmente compatible con:
react-intlayerpara aplicaciones Reactnext-intlayerpara aplicaciones Next.jsvite-intlayerpara aplicaciones Vite
También funciona sin problemas con cualquier solución de internacionalización en diversos entornos, incluyendo navegadores y solicitudes API. Puedes personalizar el middleware para detectar la configuración regional a través de encabezados o cookies:
Copiar el código al portapapeles
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { // ... Otras opciones de configuración middleware: { headerName: "my-locale-header", cookieName: "my-locale-cookie", },};export default config;Por defecto, express-intlayer interpretará el encabezado Accept-Language para determinar el idioma preferido del cliente.
Para más información sobre configuración y temas avanzados, visita nuestra documentación.
Configurar TypeScript
express-intlayer aprovecha las robustas capacidades de TypeScript para mejorar el proceso de internacionalización. La tipificación estática de TypeScript asegura que cada clave de traducción esté contemplada, reduciendo el riesgo de traducciones faltantes y mejorando el mantenimiento.


Asegúrate de que los tipos autogenerados (por defecto en ./types/intlayer.d.ts) estén incluidos en tu archivo tsconfig.json.
Copiar el código al portapapeles
{ // ... Tus configuraciones existentes de TypeScript include: [ // ... Tus configuraciones existentes de TypeScript ".intlayer/**/*.ts", // Incluir los tipos autogenerados ],}Extensión de VS Code
Para mejorar tu experiencia de desarrollo con Intlayer, puedes instalar la Extensión oficial de Intlayer para VS Code.
Instalar desde el Marketplace de VS Code
Esta extensión proporciona:
- Autocompletado para las claves de traducción.
- Detección de errores en tiempo real para traducciones faltantes.
- Previsualizaciones en línea del contenido traducido.
- Acciones rápidas para crear y actualizar traducciones fácilmente.
Para más detalles sobre cómo usar la extensión, consulta la documentación de la Extensión de Intlayer para VS Code.
Configuración de Git
Se recomienda ignorar los archivos generados por Intlayer. Esto te permite evitar comprometerlos en tu repositorio Git.
Para hacer esto, puedes añadir las siguientes instrucciones a tu archivo .gitignore:
Copiar el código al portapapeles
# Ignorar los archivos generados por Intlayer.intlayer