Création:2026-01-30Dernière mise à jour:2026-01-30

    Documentation : Fonction t dans adonis-intlayer

    La fonction t du package adonis-intlayer est l'utilitaire principal pour fournir des réponses localisées dans votre application AdonisJS. Elle simplifie l'internationalisation (i18n) en sélectionnant dynamiquement le contenu en fonction de la langue préférée de l'utilisateur.


    Aperçu

    La fonction t est utilisée pour définir et récupérer des traductions pour un ensemble donné de langues. Elle détermine automatiquement la langue appropriée à retourner en fonction des paramètres de la requête du client, tels que l'en-tête Accept-Language. Si la langue préférée est indisponible, elle revient gracieusement à la locale par défaut spécifiée dans votre configuration.


    Fonctionnalités Clés

    • Localisation Dynamique : Sélectionne automatiquement la traduction la plus appropriée pour le client.
    • Repli sur la Locale par Défaut : Revient à une locale par défaut si la langue préférée du client n'est pas disponible, assurant la continuité de l'expérience utilisateur.
    • Contexte Asynchrone : Fonctionne de manière transparente au sein du cycle de vie des requêtes AdonisJS en utilisant l'Async Local Storage.
    • Support TypeScript : Applique la sécurité de type pour vos traductions.

    Signature de la Fonction

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

    Paramètres

    • translations : Un objet où les clés sont les codes de locale (ex: en, fr, es) et les valeurs sont le contenu traduit correspondant.

    Retourne

    • Le contenu représentant la langue préférée du client.

    Chargement du Middleware

    Pour s'assurer que la fonction t fonctionne correctement, vous devez enregistrer le middleware intlayer dans votre application AdonisJS.

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

    Exemples d'Utilisation

    Exemple de Base

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

    Utilisation dans les Contrôleurs

    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 le contrôleur",
          })
        );
      }
    }

    Sujets Avancés

    Mécanisme de Repli

    Si une locale préférée est indisponible, la fonction t se repliera sur la locale par défaut définie dans votre fichier 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;

    Intégration TypeScript

    La fonction t est sécurisée au niveau des types lorsqu'elle est utilisée avec des dictionnaires définis. Pour plus de détails, reportez-vous à la documentation TypeScript.