Autor:
    Data utworzenia:2026-09-19Ostatnia aktualizacja:2026-09-19

    Dokumentacja hooka useDictionary

    Hook useDictionary przetwarza zaimportowany lub zdefiniowany w miejscu obiekt słownika i zwraca jego zawartość dla bieżącej lokalizacji w aplikacjach Astro.

    W przeciwieństwie do useIntlayer, który pobiera słowniki według klucza z globalnego rejestru słowników, useDictionary operuje bezpośrednio na obiekcie słownika.

    Użycie

    src/pages/index.astro
    ---
    import { useDictionary } from "astro-intlayer";
    import homeContent from "../content/home.content";
    
    const content = useDictionary(homeContent);
    ---
    
    <main>
      <h1>{content.title}</h1>
      <p>{content.description}</p>
    </main>
    

    Możesz także przekazywać słowniki zdefiniowane bezpośrednio za pomocą funkcji t():

    src/components/Footer.astro
    ---
    import { useDictionary } from "astro-intlayer";
    import { t } from "intlayer";
    
    const footer = useDictionary({
      key: "footer",
      content: {
        copyright: t({
          pl: "Wszelkie prawa zastrzeżone.",
          en: "All rights reserved.",
          fr: "Tous droits réservés.",
        }),
      },
    });
    ---
    
    <footer>
      <p>{footer.copyright}</p>
    </footer>
    

    Parametry

    ts
    useDictionary(dictionary, localeOrSelector?)
    
    1. dictionary: Obiekt słownika lub zakwalifikowana grupa słowników.
    2. localeOrSelector (opcjonalny): Konkretna lokalizacja lub obiekt selektora ({ item }, { variant }, opcjonalnie z locale).

    Opis

    Hook wykonuje następujące zadania:

    1. Wykrywanie lokalizacji: Na serwerze pobiera lokalizację z Astro.locals.intlayer. W przeglądarce korzysta z lokalizacji magazynu po stronie klienta.
    2. Przetwarzanie treści: Rozwiązuje tłumaczenia (t()), wyliczenia, warunki oraz zagnieżdżone struktury zgodnie z ustaloną lokalizacją.
    3. Selektory: Stosuje selektory elementów lub wariantów dostarczone w argumentach.

    Powiązana dokumentacja