Zadaj pytanie i otrzymaj streszczenie dokumentu, odwołując się do tej strony i wybranego dostawcy AI
Historia wersji
- "Inicjalizacja dokumentacji"v9.5.519.09.2026
Treść tej strony została przetłumaczona przy użyciu sztucznej inteligencji.
Zobacz ostatnią wersję oryginalnej treści w języku angielskimJeśli masz pomysł na ulepszenie tej dokumentacji, zachęcamy do przesłania pull requesta na GitHubie.
Link do dokumentacji na GitHubieKopiuj dokument Markdown do schowka
Dokumentacja hooka useLocale
Hook useLocale z pakietu astro-intlayer zapewnia dostęp do aktualnej lokalizacji zapytania, skonfigurowanej domyślnej lokalizacji oraz wszystkich dostępnych lokalizacji w aplikacjach Astro.
Działa spójnie zarówno w sekcji frontmatter komponentów .astro renderowanych na serwerze, jak i w blokach skryptów klienta <script>.
Użycie
W sekcji frontmatter komponentu (renderowanie na serwerze)
Skopiuj kod do schowka
W skrypcie klienta <script> (interaktywność)
Skopiuj kod do schowka
Zwracane wartości
Hook zwraca obiekt typu UseLocaleResult:
Otwórz tabelę w oknie modalnym, aby wyraźnie zobaczyć całą zawartość
| Właściwość | Typ | Opis |
|---|---|---|
locale | DeclaredLocales | Aktywna lokalizacja. |
defaultLocale | DeclaredLocales | Domyślna lokalizacja rezerwowa skonfigurowana w intlayer.config.ts. |
availableLocales | DeclaredLocales[] | Tablica wszystkich obsługiwanych lokalizacji skonfigurowanych w projekcie. |
setLocale | (locale: LocalesValues) => void | Funkcja do aktualizacji lokalizacji. (Interaktywna w <script> klienta, wyświetla ostrzeżenie podczas SSR). |
subscribe | (callback: () => void) => () => void | Subskrybuje zmiany lokalizacji po stronie klienta. |
Zachowanie na serwerze a na kliencie
- Podczas SSR / renderowania na serwerze: Zapytanie jest renderowane jednokrotnie ze stałymi parametrami. Wywołanie
setLocale()podczas renderowania na serwerze nie przynosi efektu i generuje ostrzeżenie; przełączanie lokalizacji powinno odbywać się po stronie klienta lub poprzez przejście pod adres URL z odpowiednią lokalizacją. - W skryptach klienta:
setLocaleaktualizuje magazyn klienta oraz zapisane ciasteczka lub pamięć lokalną zgodnie z konfiguracją Intlayer.
