Creazione:2026-01-30Ultimo aggiornamento:2026-01-30

    Documentazione: Funzione t in adonis-intlayer

    La funzione t nel pacchetto adonis-intlayer è l'utilità principale per fornire risposte localizzate nella tua applicazione AdonisJS. Semplifica l'internazionalizzazione (i18n) selezionando dinamicamente il contenuto in base alla lingua preferita dell'utente.


    Panoramica

    La funzione t viene utilizzata per definire e recuperare le traduzioni per un determinato set di lingue. Determina automaticamente la lingua appropriata da restituire in base alle impostazioni della richiesta del client, come l'intestazione Accept-Language. Se la lingua preferita non è disponibile, ripiega elegantemente sulla locale predefinita specificata nella configurazione.


    Caratteristiche principali

    • Localizzazione dinamica: Seleziona automaticamente la traduzione più appropriata per il client.
    • Fallback alla locale predefinita: Ripiega su una locale predefinita se la lingua preferita del client non è disponibile, garantendo la continuità nell'esperienza utente.
    • Contesto asincrono: Funziona perfettamente all'interno del ciclo di vita della richiesta AdonisJS utilizzando Async Local Storage.
    • Supporto TypeScript: Applica la sicurezza dei tipi per le tue traduzioni.

    Firma della funzione

    t(translations: Record<string, any>): any;

    Parametri

    • translations: Un oggetto in cui le chiavi sono codici locale (es. en, fr, es) e i valori sono il contenuto tradotto corrispondente.

    Restituisce

    • Il contenuto che rappresenta la lingua preferita del client.

    Caricamento del Middleware

    Per garantire che la funzione t funzioni correttamente, devi registrare il middleware intlayer nella tua applicazione AdonisJS.

    router.use([() => import("adonis-intlayer/middleware")]);

    Esempi di utilizzo

    Esempio di base

    import router from "@adonisjs/core/services/router";
    import { t } from "adonis-intlayer";
    
    router.get("/", async () => {
      return t({
        en: "Welcome!",
        fr: "Bienvenue!",
        es: "¡Bienvenido!",
      });
    });

    Utilizzo nei Controller

    import type { HttpContext } from "@adonisjs/core/http";
    import { t } from "adonis-intlayer";
    
    export default class ExampleController {
      async index({ response }: HttpContext) {
        return response.send(
          t({
            en: "Hello from controller",
            fr: "Bonjour depuis il contrôleur",
          })
        );
      }
    }

    Argomenti avanzati

    Meccanismo di Fallback

    Se una locale preferita non è disponibile, la funzione t ripiegherà sulla locale predefinita definita nel tuo intlayer.config.ts.

    import { Locales, type IntlayerConfig } from "intlayer";
    
    const config: IntlayerConfig = {
      internationalization: {
        locales: [
          Locales.ENGLISH,
          Locales.RUSSIAN,
          Locales.JAPANESE,
          Locales.FRENCH,
          Locales.KOREAN,
          Locales.CHINESE,
          Locales.SPANISH,
          Locales.GERMAN,
          Locales.ARABIC,
          Locales.ITALIAN,
          Locales.ENGLISH_UNITED_KINGDOM,
          Locales.PORTUGUESE,
          Locales.HINDI,
          Locales.TURKISH,
          Locales.POLISH,
          Locales.INDONESIAN,
          Locales.VIETNAMESE,
          Locales.UKRAINIAN,
        ],
        defaultLocale: Locales.ENGLISH,
      },
    };
    
    export default config;

    Integrazione TypeScript

    La funzione t è sicura dal punto di vista dei tipi quando viene utilizzata con dizionari definiti. Per ulteriori dettagli, consultare la documentazione TypeScript.