Penulis:
    Dibuat:2026-01-21Terakhir diperbarui:2026-09-19

    Paket astro-intlayer

    Paket astro-intlayer menyediakan alat yang diperlukan untuk mengintegrasikan Intlayer ke dalam aplikasi Astro. Paket ini mengonfigurasi perutean berbasis lokal, manajemen kamus, penulisan ulang halaman saat proses build, middleware permintaan, dan hooks untuk mengakses konten multibahasa di komponen .astro yang dirender di server maupun skrip sisi klien.

    Instalasi

    bash
    npm install astro-intlayer
    

    Ekspor

    Integrasi

    Paket astro-intlayer menyediakan integrasi Astro yang mengonfigurasi Intlayer dalam proyek Anda.

    Impor:

    tsx
    import { intlayer } from "astro-intlayer";
    

    atau impor default di astro.config.mjs:

    ts
    import { defineConfig } from "astro/config";
    import intlayer from "astro-intlayer";
    
    export default defineConfig({
      integrations: [intlayer()],
    });
    
    FungsiDeskripsiDokumentasi Terkait
    intlayerIntegrasi Astro yang menyiapkan kamus, mengonfigurasi plugin Vite (alias, proksi perutean, pemangkasan build), mendaftarkan middleware permintaan secara otomatis, dan menghasilkan halaman prerender pada URL lokal.intlayer

    Hooks (Server & Klien)

    Impor:

    tsx
    import { useIntlayer, useDictionary, useLocale } from "astro-intlayer";
    
    HookDeskripsiDokumentasi Terkait
    useIntlayerMemilih satu kamus berdasarkan kuncinya dan mengembalikan konten yang dilokalisasi. Di frontmatter .astro, membaca lokal dari Astro.locals. Di <script> klien, membaca dari store.useIntlayer
    useDictionaryMentransformasikan objek kamus dan mengembalikan konten untuk lokal yang ditentukan. Berfungsi di frontmatter dan skrip klien.useDictionary
    useLocaleMengembalikan lokal saat ini, lokal default, lokal yang tersedia, dan fungsi untuk memperbarui lokal.useLocale

    Middleware (astro-intlayer/middleware)

    Impor:

    tsx
    import { onRequest } from "astro-intlayer/middleware";
    
    EksporTipeDeskripsiDokumentasi Terkait
    onRequestMiddlewareHandlerMiddleware Astro yang mendeteksi lokal permintaan dan melampirkan Astro.locals.intlayer. Didaftarkan otomatis oleh intlayer() atau diimpor manual untuk komposisi.onRequest

    Utilitas

    Impor:

    tsx
    import { getIntlayerLocals } from "astro-intlayer";
    
    FungsiDeskripsiDokumentasi Terkait
    getIntlayerLocalsFungsi pembantu untuk mengambil objek IntlayerLocals saat ini dari cakupan penyimpanan permintaan di luar Astro.locals.-

    Utilitas Klien (astro-intlayer/client)

    Impor:

    tsx
    import {
      useIntlayer,
      useDictionary,
      useDictionaryDynamic,
      useLocale,
      useLocaleStorage,
      useLocaleCookie,
      getIntlayer,
      getDictionary,
      installIntlayer,
      setLocaleInStorage,
      setLocaleCookie,
      localeInStorage,
      localeCookie,
    } from "astro-intlayer/client";
    

    Ketika diimpor di browser atau di dalam tag <script> klien, astro-intlayer secara otomatis memetakan ke astro-intlayer/client (didukung oleh vanilla-intlayer), menyediakan pengambil kamus sisi klien, pelanggan store, dan alat persistensi lokal.

    Formatter (astro-intlayer/format)

    Impor:

    tsx
    import {
      useIntl,
      useDate,
      useNumber,
      useCurrency,
      usePercentage,
      useRelativeTime,
      useList,
      useUnit,
      useCompact,
    } from "astro-intlayer/format";
    
    HookDeskripsi
    useIntlMengembalikan instans Intl yang terikat pada lokal permintaan atau klien dengan kemampuan caching.
    useDateMengembalikan fungsi pemformatan tanggal yang terikat pada lokal saat ini (Intl.DateTimeFormat).
    useNumberMengembalikan fungsi pemformatan angka yang terikat pada lokal saat ini (Intl.NumberFormat).
    useCurrencyMengembalikan fungsi pemformatan mata uang yang terikat pada lokal saat ini.
    usePercentageMengembalikan fungsi pemformatan persentase yang terikat pada lokal saat ini.
    useRelativeTimeMengembalikan fungsi pemformatan waktu relatif yang terikat pada lokal saat ini (Intl.RelativeTimeFormat).
    useListMengembalikan fungsi pemformatan daftar yang terikat pada lokal saat ini (Intl.ListFormat).
    useUnitMengembalikan fungsi pemformatan unit yang terikat pada lokal saat ini.
    useCompactMengembalikan fungsi pemformatan angka ringkas yang terikat pada lokal saat ini (misalnya 1.5K).

    Utilitas HTML (astro-intlayer/html)

    Impor:

    tsx
    import { renderHTML, useHTML, useHTMLRenderer } from "astro-intlayer/html";
    
    EksporTipeDeskripsi
    renderHTMLFunctionFungsi utilitas mandiri untuk merender node HTML.
    useHTMLHookHook untuk mendapatkan konteks dan konfigurasi penyedia HTML.
    useHTMLRendererHookHook untuk mendapatkan fungsi perender HTML yang telah dikonfigurasi.

    Utilitas Markdown (astro-intlayer/markdown)

    Impor:

    tsx
    import {
      compileMarkdown,
      renderMarkdown,
      parseMarkdown,
      useMarkdown,
      useMarkdownRenderer,
    } from "astro-intlayer/markdown";
    
    EksporTipeDeskripsi
    compileMarkdownFunctionMengompilasi string markdown ke dalam representasi terstruktur.
    renderMarkdownFunctionMerender konten markdown ke node keluaran.
    parseMarkdownFunctionMengurai konten markdown mentah ke dalam AST.
    useMarkdownHookHook untuk mendapatkan konteks penyedia markdown.
    useMarkdownRendererHookHook untuk mendapatkan fungsi perender Markdown yang telah dikonfigurasi.

    Tipe

    Impor:

    tsx
    import type {
      IntlayerLocals,
      UseLocaleProps,
      UseLocaleResult,
    } from "astro-intlayer";
    
    TipeDeskripsi
    IntlayerLocalsObjek yang dilampirkan pada Astro.locals.intlayer yang berisi locale, defaultLocale, dan availableLocales.
    UseLocalePropsProperti konfigurasi opsional yang diterima oleh useLocale().
    UseLocaleResultTipe pengembalian dari useLocale(), menyediakan properti lokal dan metode pembaruan.