Zadaj pytanie i otrzymaj streszczenie dokumentu, odwołując się do tej strony i wybranego dostawcy AI
Ta dokumentacja jest nieaktualna, wersja bazowa została zaktualizowana w 16 listopada 2025.
Przejdź do angielskiej wersji dokumentuHistoria 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 getMultilingualUrls w intlayer
Opis
Funkcja getMultilingualUrls generuje mapowanie wielojęzycznych adresów URL poprzez dodanie prefiksu dla każdej obsługiwanej lokalizacji. Może obsługiwać zarówno bezwzględne jak i względne adresy URL, stosując odpowiedni prefiks lokalizacji na podstawie podanej konfiguracji lub wartości domyślnych.
Kluczowe cechy:
- Wymagany jest tylko 1 parametr:
url - Opcjonalny obiekt
optionszlocales,defaultLocaleimode - Wykorzystuje konfigurację internacjonalizacji Twojego projektu jako wartości domyślne
- Obsługuje wiele trybów routingu:
prefix-no-default,prefix-all,no-prefixisearch-params - Zwraca obiekt mapowania ze wszystkimi lokalizacjami jako kluczami i odpowiadającymi im adresami URL jako wartościami
Opis
Funkcja getMultilingualUrls generuje mapowanie wielojęzycznych URL-i, poprzedzając podany URL każdym obsługiwanym językiem (locale). Może obsługiwać zarówno URL-e bezwzględne, jak i względne, stosując odpowiedni prefiks językowy na podstawie dostarczonej konfiguracji lub wartości domyślnych.
Parametry
Wymagane parametry
url: string- Description: Oryginalny ciąg URL do prefiksu z lokalizacjami.
- Type:
string - Required: Tak
Parametry opcjonalne
options?: object- Description: Obiekt konfiguracyjny dla zachowania lokalizacji URL.
- Type:
object Required: No (opcjonalnie)
options.locales?: Locales[]- Description: Tablica obsługiwanych locale'i. Jeśli nie zostanie podana, używa skonfigurowanych locale'i z konfiguracji projektu.
- Type:
Locales[] - Default:
Project Configuration
options.defaultLocale?: Locales- Description: Domyślny locale dla aplikacji. Jeśli nie zostanie podany, używa skonfigurowanego domyślnego locale'a z konfiguracji projektu.
- Type:
Locales - Default:
Project Configuration
options.mode?: 'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params'- Description: Tryb routingu URL dla obsługi locale'i. Jeśli nie zostanie podany, używa skonfigurowanego trybu z konfiguracji projektu.
- Type:
'prefix-no-default' | 'prefix-all' | 'no-prefix' | 'search-params' - Default:
Project Configuration - Modes:
prefix-no-default: Brak prefiksu dla domyślnego locale'a, prefiks dla wszystkich innychprefix-all: Prefiks dla wszystkich locale'i włącznie z domyślnymno-prefix: Brak prefiksu locale'a w URLsearch-params: Użyj parametrów zapytania dla locale'a (np.?locale=fr)
Zwracana wartość
- Typ:
IConfigLocales<string> - Opis: Obiekt mapujący każdy język na odpowiadający mu wielojęzyczny URL.
Przykład użycia
Podstawowe użycie (Uses Project Configuration)
Skopiuj kod do schowka
import { getMultilingualUrls, Locales } from "intlayer";
// Używa konfiguracji projektu dla locales, defaultLocale i mode
getMultilingualUrls("/dashboard");
// Output (assuming project config has en, fr with mode 'prefix-no-default'):
// {
// en: "/dashboard",
// fr: "/fr/dashboard"
// }
URL-e względne
Skopiuj kod do schowka
import { getMultilingualUrls, Locales } from "intlayer";
getMultilingualUrls(
"/dashboard",
[Locales.ENGLISH, Locales.FRENCH],
Locales.ENGLISH,
false
);
// Wynik: {
// en: "/dashboard",
// fr: "/fr/dashboard"
// }
URL-e bezwzględne
Skopiuj kod do schowka
Różne tryby routingu
Skopiuj kod do schowka
Przypadki brzegowe
Brak segmentu językowego:
- Funkcja usuwa wszelkie istniejące segmenty lokalizacji z URL przed wygenerowaniem mapowań wielojęzycznych.
Domyślna lokalizacja:
- Gdy
prefixDefaultjestfalse, funkcja nie dodaje prefiksu do URL dla domyślnej lokalizacji.
- Gdy
Nieobsługiwane lokalizacje:
- Tylko lokalizacje podane w tablicy
localessą brane pod uwagę przy generowaniu URL-i.
- Tylko lokalizacje podane w tablicy
Użycie w aplikacjach
W aplikacji wielojęzycznej konfiguracja ustawień internacjonalizacji z locales i defaultLocale jest kluczowa dla zapewnienia wyświetlania właściwego języka. Poniżej znajduje się przykład, jak getMultilingualUrls może być użyte w konfiguracji aplikacji:
Skopiuj kod do schowka
import { Locales, type IntlayerConfig } from "intlayer";
// Konfiguracja obsługiwanych lokalizacji i domyślnej lokalizacji
export default {
internationalization: {
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
defaultLocale: Locales.ENGLISH,
},
} satisfies IntlayerConfig;
export default config;
Powyższa konfiguracja zapewnia, że aplikacja rozpoznaje ENGLISH, FRENCH oraz SPANISH jako obsługiwane języki i używa ENGLISH jako języka zapasowego.
Dzięki tej konfiguracji funkcja getMultilingualUrls może dynamicznie generować mapowania wielojęzycznych URL-i na podstawie obsługiwanych lokalizacji aplikacji:
Skopiuj kod do schowka
Integrując getMultilingualUrls, deweloperzy mogą utrzymać spójną strukturę URL-i w wielu językach, co poprawia zarówno doświadczenie użytkownika, jak i SEO.