Zadaj pytanie i otrzymaj streszczenie dokumentu, odwołując się do tej strony i wybranego dostawcy AI
Historia wersji
- "Inicjalizacja dokumentacji"v9.4.024.08.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 wtyczki intlayer dla Elysia
Wtyczka intlayer dla Elysia wykrywa locale użytkownika i wstrzykuje obiekt intlayer do kontekstu route. Umożliwia również użycie globalnych funkcji tłumaczeniowych w kontekście żądania.
Użycie
Skopiuj kod do schowka
Te same helpery są dostępne jako samodzielne eksporty, więc możesz je wywołać bez destrukturyzacji kontekstu route:
Skopiuj kod do schowka
Opis
Wtyczka wykonuje następujące zadania:
- Wykrywanie locale: Odczytuje locale ustawione jawnie przez klienta ze storage (cookie, header), a następnie wraca do locale wynegocjowanego z nagłówka
Accept-Language. - Wstrzyknięcie do kontekstu: Dodaje właściwość
intlayerdo kontekstu route Elysia, zawierającą:locale: Locale używane dla tego żądania, przy czymlocale_storagema pierwszeństwo przedlocale_detected.locale_storage: Locale zażądane jawnie przez klienta poprzez cookie lub header.locale_detected: Locale wynegocjowane z nagłówków żądania.defaultLocale: Locale skonfigurowane jako fallback wintlayer.config.ts.t: Funkcja tłumaczenia.getIntlayer: Funkcja pobierająca słowniki po kluczu.getDictionary: Funkcja przetwarzająca obiekty słowników.
- Zarządzanie kontekstem: Używa
AsyncLocalStoragedo zarządzania asynchronicznym kontekstem, dzięki czemu globalne funkcje Intlayer (t,getIntlayer,getDictionary) mają dostęp do locale specyficznego dla żądania bez przekazywania obiektu kontekstu.
W przeciwieństwie do wtyczek Intlayer opartych na Node,elysia-intlayeropiera się naAsyncLocalStoragezamiastcls-hooked, ponieważcls-hookedzależy odasync_hooks.createHook, którego Bun nie implementuje.
Kontekst żądania jest zwalniany po zmapowaniu odpowiedzi, więc samodzielne helpery nigdy nie rozwiązują się względem już zakończonego żądania. Wywołane poza żądaniem obsługiwanym przez wtyczkę, wracają do skonfigurowanego domyślnego locale.
Konfiguracja
Wtyczka odczytuje Twój plik intlayer.config.ts. Możesz dostosować cookie i header używane do wykrywania locale:
Skopiuj kod do schowka
import { Locales, type IntlayerConfig } from "intlayer";
const config: IntlayerConfig = {
internationalization: {
locales: [Locales.ENGLISH, Locales.FRENCH],
defaultLocale: Locales.ENGLISH,
},
routing: {
storage: [
{ type: "header", name: "my-locale-header" },
{ type: "cookie", name: "my-locale-cookie" },
],
},
};
export default config;
Więcej informacji o konfiguracji znajdziesz w dokumentacji konfiguracji.
