InicioEntorno de pruebasExhibiciónAppDocBlog
    • Englishinglés
      EN
    • русскийruso
      RU
    • 日本語japonés
      JA
    • françaisfrancés
      FR
    • 한국어coreano
      KO
    • 中文chino
      ZH
    • españolespañol
      ES
    • Deutschalemán
      DE
    • العربيةárabe
      AR
    • italianoitaliano
      IT
    • British Englishinglés británico
      EN-GB
    • portuguêsportugués
      PT
    • हिन्दीhindi
      HI
    • Türkçeturco
      TR
    • polskipolaco
      PL
    • Indonesiaindonesio
      ID
    • Tiếng Việtvietnamita
      VI
    • українськаucraniano
      UK
    /
    Filtrar documentación por framework
    Alt+←
    ¿Por qué Intlayer?
    Empezar
    Concepto
    • Cómo funciona Intlayer
    • Configuración
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • Editor visual
    • CMS
    • Integración CI/CD
    • TraducciónPluralEnumeraciónCondiciónGéneroInserciónArchivoAnidaciónMarkdownHTMLObtención de función
    • Archivo por locale
    • Compilador
    • Autocompletado
    • Pruebas
    • Optimización de bundle
    Entornos
    • Next.js 14 y App Router
      Next.js 15
      Next.js sin locale URL
      Next.js y Page Router
      Compiler
    • Tanstack Start Solid
    • Astro y React
      Astro y Svelte
      Astro y Vue
      Astro y Solid
      Astro y Preact
      Astro y Lit
      Astro y Vanilla JS
    • React Router v7
      React Router v7 (fs-routes)
      Compiler
    • Nuxt y Vue
    • Vite y Solid
    • SvelteKit
    • Vite y Preact
    • Vite y Vanilla JS
    • Vite y Lit
    • Angular 19 (Webpack)
      Analog
    • React CRA
    • React Native y Expo
    • Express.js
      NestJS
      Fastify
      Hono
      Adonis
    • Lynx y React
    Plugins
    • JSON
    • gettext (.po)
    Extensión VS Code
    Agente
    • Servidor MCP
    • Habilidades del agente
    Versiones
    • v8
    • v7
    • v6
    Benchmark
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    Blog
    Preguntar una pregunta
    1. Documentation
    2. Entornos
    3. Hono
    Creación:2025-08-23Última actualización:2026-05-06
    Ver la plantilla de aplicación en GitHub

    Esta página tiene una plantilla de aplicación disponible.

    Referencia esta doc a tu asistente AI favorito
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    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

    1. "Actualizar el uso de la API useIntlayer de Solid para el acceso directo a las propiedades"
      v8.9.04/5/2026
    2. "Añadir comando init"
      v7.5.930/12/2025
    3. "Inicio del historial"
      v5.5.1029/6/2025

    El contenido de esta página ha sido traducido con una IA.

    Ver la última versión del contenido original en inglés
    Editar esta documentación

    Si tienes una idea para mejorar esta documentación, no dudes en contribuir enviando una pull request en GitHub.

    Enlace de GitHub a la documentación
    Copiar

    Copiar el Markdown del documento a la portapapeles

    Traduzca su sitio web backend Hono usando Intlayer | Internacionalización (i18n)

    hono-intlayer es un potente middleware de internacionalización (i18n) para aplicaciones Hono, diseñado para hacer que sus servicios de backend sean accesibles globalmente al proporcionar respuestas localizadas basadas en las preferencias del cliente.

    Casos de Uso Prácticos

    • Mostrar Errores de Backend en el Idioma del Usuario: Cuando ocurre un error, mostrar mensajes en el idioma nativo del usuario mejora la comprensión y reduce la frustración. Esto es especialmente útil para mensajes de error dinámicos que podrían mostrarse en componentes front-end como toasts o modales.

    • Recuperar Contenido Multilingüe: Para aplicaciones que extraen contenido de una base de datos, la internacionalización asegura que pueda servir este contenido en múltiples idiomas. Esto es crucial para plataformas como sitios de comercio electrónico o sistemas de gestión de contenido que necesitan mostrar descripciones de productos, artículos y otro contenido en el idioma preferido por el usuario.

    • Enviar Correos Electrónicos Multilingües: Ya sean correos electrónicos transaccionales, campañas de marketing o notificaciones, enviar correos electrónicos en el idioma del destinatario puede aumentar significativamente el compromiso y la efectividad.

    • Notificaciones Push Multilingües: Para aplicaciones móviles, enviar notificaciones push en el idioma preferido de un usuario puede mejorar la interacción y la retención. Este toque personal puede hacer que las notificaciones se sientan más relevantes y accionables.

    • Otras Comunicaciones: Cualquier forma de comunicación desde el backend, como mensajes SMS, alertas del sistema o actualizaciones de la interfaz de usuario, se beneficia de estar en el idioma del usuario, asegurando la claridad y mejorando la experiencia general del usuario.

    Al internacionalizar el backend, su aplicación no solo respeta las diferencias culturales, sino que también se alinea mejor con las necesidades del mercado global, lo que lo convierte en un paso clave para escalar sus servicios en todo el mundo.

    Primeros Pasos

    ide.intlayer.org

    Ver la Plantilla de la Aplicación en GitHub.

    Instalación

    Para comenzar a usar hono-intlayer, instale el paquete usando npm:

    bash
    Copiar código

    Copiar el código al portapapeles

    npm install intlayer hono-intlayernpx intlayer init

    Configuración

    Configure los ajustes de internacionalización creando un intlayer.config.ts en la raíz de su proyecto:

    intlayer.config.ts
    Copiar código

    Copiar el código al portapapeles

    import { Locales, type IntlayerConfig } from "intlayer";
    
    const config: IntlayerConfig = {
      internationalization: {
        locales: [
          Locales.ENGLISH,
          Locales.FRENCH,
          Locales.SPANISH_MEXICO,
          Locales.SPANISH_SPAIN,
        ],
        defaultLocale: Locales.ENGLISH,
      },
    };
    
    export default config;

    Declare Su Contenido

    Cree y gestione sus declaraciones de contenido para almacenar traducciones:

    src/index.content.ts
    Copiar código

    Copiar el código al portapapeles

    import { t, type Dictionary } from "intlayer";
    
    const indexContent = {
      key: "index",
      content: {
        exampleOfContent: t({
          en: "Example of returned content in English",
          fr: "Exemple de contenu renvoyé en français",
          "es-ES": "Ejemplo de contenido devuelto en español (España)",
          "es-MX": "Ejemplo de contenido devuelto en español (México)",
        }),
      },
    } satisfies Dictionary;
    
    export default indexContent;
    Sus declaraciones de contenido pueden definirse en cualquier lugar de su aplicación siempre que se incluyan en el directorio contentDir (por defecto, ./src). Y coincidan con la extensión del archivo de declaración de contenido (por defecto, .content.{json,ts,tsx,js,jsx,mjs,cjs}).
    Para más detalles, consulte la documentación de declaración de contenido.

    Configuración de la Aplicación Hono

    Configure su aplicación Hono para usar hono-intlayer:

    src/index.ts
    Copiar código

    Copiar el código al portapapeles

    import { Hono } from "hono";
    import { intlayer, t, getDictionary, getIntlayer } from "hono-intlayer";
    import dictionaryExample from "./index.content";
    
    const app = new Hono();
    
    // Cargar el controlador de solicitudes de internacionalización
    app.use("*", intlayer());
    
    // Rutas
    app.get("/t_example", (c) => {
      return c.text(
        t({
          en: "Example of returned content in English",
          fr: "Exemple de contenu renvoyé en français",
          "es-ES": "Ejemplo de contenido devuelto en español (España)",
          "es-MX": "Ejemplo de contenido devuelto en español (México)",
        })
      );
    });
    
    app.get("/getIntlayer_example", (c) => {
      return c.json(getIntlayer("index").exampleOfContent);
    });
    
    app.get("/getDictionary_example", (c) => {
      return c.json(getDictionary(dictionaryExample).exampleOfContent);
    });
    
    export default app;

    Compatibilidad

    hono-intlayer es totalmente compatible con:

    • react-intlayer para aplicaciones React
    • next-intlayer para aplicaciones Next.js
    • vite-intlayer para aplicaciones Vite

    También funciona a la perfección con cualquier solución de internacionalización en diversos entornos, incluidos navegadores y solicitudes de API. Puede personalizar el middleware para detectar el idioma a través de encabezados o cookies:

    intlayer.config.ts
    Copiar código

    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, hono-intlayer interpretará el encabezado Accept-Language para determinar el idioma preferido del cliente.

    Para más información sobre configuración y temas avanzados, visite nuestra documentación.

    Configurar TypeScript

    hono-intlayer aprovecha las sólidas capacidades de TypeScript para mejorar el proceso de internacionalización. El tipado estático de TypeScript asegura que se tenga en cuenta cada clave de traducción, reduciendo el riesgo de falta de traducciones y mejorando la mantenibilidad.

    Autocompletado

    Error de traducción

    Asegúrese de que los tipos autogenerados (por defecto en ./types/intlayer.d.ts) se incluyan en su archivo tsconfig.json.

    tsconfig.json
    Copiar código

    Copiar el código al portapapeles

    {  // ... Sus configuraciones de TypeScript existentes  "include": [    // ... Sus configuraciones de TypeScript existentes    ".intlayer/**/*.ts", // Incluir los tipos autogenerados  ],}

    Extensión de VS Code

    Para mejorar su experiencia de desarrollo con Intlayer, puede instalar la extensión oficial Intlayer VS Code Extension.

    Instalar desde el VS Code Marketplace

    Esta extensión proporciona:

    • Autocompletado para claves de traducción.
    • Detección de errores en tiempo real para traducciones faltantes.
    • Vistas previas 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, consulte la documentación de la extensión Intlayer VS Code.

    Configuración de Git

    Se recomienda ignorar los archivos generados por Intlayer. Esto le permite evitar subirlos a su repositorio de Git.

    Para hacer esto, puede añadir las siguientes instrucciones a su archivo .gitignore:

    .gitignore
    Copiar código

    Copiar el código al portapapeles

    # Ignorar los archivos generados por Intlayer.intlayer
    Fastify
    Adonis
    Alt+→

    En esta página

      Las conversaciones son anónimas y se revisan regularmente para abordar problemas comunes. No dudes en compartir ideas de funcionalidades, comentarios sobre la documentación o cualquier cosa relacionada con Intlayer, usamos esta información para definir nuestra hoja de ruta y mejorar el producto.

      npm install intlayer hono-intlayernpx intlayer init
      {  // ... Sus configuraciones de TypeScript existentes  "include": [    // ... Sus configuraciones de TypeScript existentes    ".intlayer/**/*.ts", // Incluir los tipos autogenerados  ],}
      # Ignorar los archivos generados por Intlayer.intlayer