Dibuat:2026-01-30Terakhir diperbarui:2026-01-30

    Dokumentasi: Fungsi t dalam adonis-intlayer

    Fungsi t dalam paket adonis-intlayer adalah utilitas inti untuk menyediakan respons yang dilokalisasi dalam aplikasi AdonisJS Anda. Ini menyederhanakan internasionalisasi (i18n) dengan secara dinamis memilih konten berdasarkan bahasa pilihan pengguna.


    Ringkasan

    Fungsi t digunakan untuk mendefinisikan dan mengambil terjemahan untuk set bahasa tertentu. Ini secara otomatis menentukan bahasa yang tepat untuk dikembalikan berdasarkan pengaturan permintaan klien, seperti header Accept-Language. Jika bahasa pilihan tidak tersedia, ia akan beralih dengan anggun ke locale default yang ditentukan dalam konfigurasi Anda.


    Fitur Utama

    • Lokalisasi Dinamis: Secara otomatis memilih terjemahan yang paling sesuai untuk klien.
    • Fallback ke Locale Default: Beralih ke locale default jika bahasa pilihan klien tidak tersedia, memastikan kontinuitas dalam pengalaman pengguna.
    • Konteks Asinkron: Bekerja dengan mulus dalam siklus hidup permintaan AdonisJS menggunakan Async Local Storage.
    • Dukungan TypeScript: Menegakkan keamanan tipe untuk terjemahan Anda.

    Tanda Tangan Fungsi

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

    Parameter

    • translations: Sebuah objek di mana kuncinya adalah kode locale (misalnya, en, fr, es) dan nilainya adalah konten terjemahan yang sesuai.

    Kembalian

    • Konten yang mewakili bahasa pilihan klien.

    Memuat Middleware

    Untuk memastikan bahwa fungsi t bekerja dengan benar, Anda harus mendaftarkan middleware intlayer dalam aplikasi AdonisJS Anda.

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

    Contoh Penggunaan

    Contoh Dasar

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

    Penggunaan dalam 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 dari controller",
          })
        );
      }
    }

    Topik Lanjutan

    Mekanisme Fallback

    Jika locale pilihan tidak tersedia, fungsi t akan beralih ke locale default yang ditentukan dalam 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;

    Integrasi TypeScript

    Fungsi t aman secara tipe saat digunakan dengan kamus yang ditentukan. Untuk detail lebih lanjut, lihat dokumentasi TypeScript.