Zadaj pytanie i otrzymaj streszczenie dokumentu, odwołując się do tej strony i wybranego dostawcy AI
Historia wersji
- "Inicjalizacja historii"v5.5.1029.06.2025
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: funkcja t w express-intlayer
Funkcja t w pakiecie express-intlayer jest podstawowym narzędziem do dostarczania zlokalizowanych odpowiedzi w Twojej aplikacji Express. Upraszcza internacjonalizację (i18n) poprzez dynamiczny wybór treści na podstawie preferowanego języka użytkownika.
Przegląd
Funkcja t służy do definiowania i pobierania tłumaczeń dla określonego zestawu języków. Automatycznie ustala odpowiedni język do zwrócenia na podstawie ustawień żądania klienta, takich jak nagłówek Accept-Language. Jeśli preferowany język nie jest dostępny, funkcja płynnie przełącza się na domyślną lokalizację określoną w Twojej konfiguracji.
Kluczowe cechy
- Dynamiczna lokalizacja: Automatycznie wybiera najbardziej odpowiednie tłumaczenie dla klienta.
- Powrót do domyślnej lokalizacji: W przypadku braku preferowanego języka klienta, następuje powrót do domyślnej lokalizacji, zapewniając ciągłość doświadczenia użytkownika.
- Lekka i szybka: Zaprojektowana z myślą o aplikacjach o wysokiej wydajności, zapewniając minimalne obciążenie.
- Obsługa trybu ścisłego: Wymuszanie ścisłego przestrzegania zadeklarowanych lokalizacji dla niezawodnego działania.
Sygnatura funkcji
Parametry
translations: Obiekt, w którym kluczami są kody lokalizacji (np.en,fr,es-MX), a wartościami odpowiadające im przetłumaczone ciągi znaków.
Zwraca
- Ciąg znaków reprezentujący zawartość w preferowanym języku klienta.
Ładowanie obsługi żądań internacjonalizacji
Aby zapewnić poprawne działanie funkcjonalności internacjonalizacji dostarczanej przez express-intlayer, musisz załadować middleware internacjonalizacji na początku swojej aplikacji Express. To umożliwia funkcji t oraz zapewnia prawidłowe wykrywanie lokalizacji i tłumaczenie.
Umieść middleware app.use(intlayer()) przed jakimikolwiek trasami w swojej aplikacji, aby zapewnić, że wszystkie trasy korzystają z internacjonalizacji:
Dlaczego to jest wymagane
- Wykrywanie lokalizacji: Middleware
intlayerprzetwarza przychodzące żądania, aby wykryć preferowaną lokalizację użytkownika na podstawie nagłówków, ciasteczek lub innych skonfigurowanych metod. - Kontekst tłumaczenia: Ustawia niezbędny kontekst dla funkcji
t, aby działała poprawnie, zapewniając zwracanie tłumaczeń w odpowiednim języku. - Zapobieganie błędom: Bez tego middleware użycie funkcji
tspowoduje błędy w czasie wykonywania, ponieważ nie będzie dostępna niezbędna informacja o lokalizacji.
Przykłady użycia
Podstawowy przykład
Serwowanie zlokalizowanej zawartości w różnych językach:
Żądania klientów:
- Klient z nagłówkiem
Accept-Language: frotrzymaBienvenue!. - Klient z nagłówkiem
Accept-Language: esotrzyma¡Bienvenido!. - Klient z nagłówkiem
Accept-Language: deotrzymaWelcome!(domyślna lokalizacja).
Obsługa błędów
Dostarczanie komunikatów o błędach w wielu językach:
Używanie wariantów lokalizacyjnych
Określ tłumaczenia dla wariantów specyficznych dla lokalizacji:
Zaawansowane tematy
Mechanizm zapasowy (Fallback)
Jeśli preferowana lokalizacja nie jest dostępna, funkcja t automatycznie użyje lokalizacji domyślnej zdefiniowanej w konfiguracji:
Na przykład:
- Jeśli
defaultLocaletoLocales.CHINESE, a klient zażądaLocales.DUTCH, zwrócone tłumaczenie będzie domyślnie wartościąLocales.CHINESE. - Jeśli
defaultLocalenie jest zdefiniowane, funkcjatautomatycznie użyje wartościLocales.ENGLISH.
Wymuszanie trybu ścisłego
Skonfiguruj funkcję t, aby wymusić ścisłe przestrzeganie zadeklarowanych lokalizacji:
Otwórz tabelę w oknie modalnym, aby wyraźnie zobaczyć całą zawartość
| Tryb | Zachowanie |
|---|---|
strict | Wszystkie zadeklarowane lokalizacje muszą mieć dostępne tłumaczenia. Brakujące lokalizacje spowodują błędy. |
inclusive | Zadeklarowane lokalizacje muszą mieć tłumaczenia. Brakujące lokalizacje wywołują ostrzeżenia, ale są akceptowane. |
loose | Akceptowana jest dowolna istniejąca lokalizacja, nawet jeśli nie została zadeklarowana. |
Przykład konfiguracji:
Integracja z TypeScript
Funkcja t jest bezpieczna typowo, gdy używana jest z TypeScript. Zdefiniuj typowo bezpieczny obiekt tłumaczeń:
Typowe błędy i rozwiązywanie problemów
Otwórz tabelę w oknie modalnym, aby wyraźnie zobaczyć całą zawartość
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
Funkcja t nie działa | Middleware nie został załadowany | Upewnij się, że app.use(intlayer()) jest dodane przed trasami. |
| Błąd brakujących tłumaczeń | Włączony tryb ścisły bez wszystkich lokalizacji | Dostarcz wszystkie wymagane tłumaczenia. |
Wskazówki dotyczące efektywnego użycia
- Centralizuj tłumaczenia: Używaj scentralizowanego modułu lub plików JSON do zarządzania tłumaczeniami, aby poprawić łatwość utrzymania.
- Weryfikuj tłumaczenia: Upewnij się, że każda wersja językowa ma odpowiadające tłumaczenie, aby uniknąć niepotrzebnego cofania się do domyślnego języka.
- Łącz z i18n frontendowym: Synchronizuj z międzynarodowymi ustawieniami frontendu, aby zapewnić spójne doświadczenie użytkownika w całej aplikacji.
- Testuj wydajność: Sprawdzaj czasy odpowiedzi aplikacji po dodaniu tłumaczeń, aby zapewnić minimalny wpływ na wydajność.
Podsumowanie
Funkcja t jest potężnym narzędziem do internacjonalizacji backendu. Dzięki jej efektywnemu wykorzystaniu możesz stworzyć bardziej inkluzywną i przyjazną dla użytkownika aplikację dla globalnej publiczności. Dla zaawansowanego użycia i szczegółowych opcji konfiguracji, zapoznaj się z dokumentacją.