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 22 sierpnia 2026.
Przejdź do angielskiej wersji dokumentuHistoria wersji
- "Usunięto getIntlayerAsync z formatterów"v6.2.014.10.2025
- "Dodano formatery vue"v5.8.020.08.2025
- "Dodano dokumentację formatterów"v5.8.018.08.2025
- "Dodano dokumentację formattera listy"v5.8.020.08.2025
- "Dodano dodatkowe narzędzia Intl (DisplayNames, Collator, PluralRules)"v5.8.020.08.2025
- "Dodano narzędzia lokalizacyjne (getLocaleName, getLocaleLang, getLocaleFromPath, itd.)"v5.8.020.08.2025
- "Dodano narzędzia do obsługi treści (getContent, getTranslation, getIntlayer, itd.)"v5.8.020.08.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
Formatery Intlayer
Spis treści
Przegląd
Intlayer dostarcza zestaw lekkich helperów opartych na natywnych API Intl, oraz opakowanie Intl z pamięcią podręczną, które zapobiega wielokrotnemu tworzeniu ciężkich formatterów. Te narzędzia są w pełni świadome lokalizacji i mogą być używane z głównego pakietu intlayer.
W przypadku React, Vue i innych frameworków, użyj hooks/composables specyficznych dla danego frameworku, które automatycznie wiążą się z kontekstem locale Twojej aplikacji:
Otwórz tabelę w oknie modalnym, aby wyraźnie zobaczyć całą zawartość
| Framework | Import |
|---|---|
| React (client) | react-intlayer/format |
| React (server) | react-intlayer/server/format |
| Next.js (client) | next-intlayer/client/format |
| Next.js (server) | next-intlayer/server/format |
| Vue | vue-intlayer/format |
| Preact | preact-intlayer/format |
| Vanilla JS / Node.js | intlayer (wymaga ręcznego przekazania lokalizacji) |
React Formatters
Import
Skopiuj kod do schowka
Dostępne Hooks
Wszystkie hooks automatycznie używają locale z IntlayerProvider lub IntlayerServerProvider.
Otwórz tabelę w oknie modalnym, aby wyraźnie zobaczyć całą zawartość
| Hook | Opis | Przykładowe wyjście |
|---|---|---|
useNumber() | Formatuj liczby z grupowaniem | "123,456.789" |
useCurrency() | Formatuj wartości waluty | "€1,234.50" |
usePercentage() | Formatuj procenty | "25%" |
useDate() | Formatuj daty i godziny | "Aug 2, 2025" |
useRelativeTime() | Formatuj czas względny | "in 3 days" |
useUnit() | Formatuj wartości z jednostkami | "5 kilometers" |
useCompact() | Formatuj liczby w notacji zwartej | "1.2K" |
useList() | Formatuj tablice jako listy | "apple, banana, and orange" |
useIntl() | Pobierz obiekt Intl powiązany z locale | Pełny dostęp do API Intl |
Pełny Przykład
Skopiuj kod do schowka
Hook useIntl
Hook useIntl zapewnia bezpośredni dostęp do obiektu Intl powiązanego z locale'em. Jest to przydatne, gdy potrzebujesz pełnego API Intl (np. DisplayNames, Collator, PluralRules) z automatycznym wstrzyknięciem locale'a.
Skopiuj kod do schowka
Vue Formatters
Intl.DisplayNames
Skopiuj kod do schowka
Dostępne Composables
Wszystkie composables zwracają computed refs, które automatycznie używają locale'a z wstrzykniętego IntlayerProvider.
Otwórz tabelę w oknie modalnym, aby wyraźnie zobaczyć całą zawartość
| Composable | Description | Example Output |
|---|---|---|
useNumber() | Formatowanie liczb z grupowaniem | "123,456.789" |
useCurrency() | Formatowanie wartości walut | "€1,234.50" |
usePercentage() | Formatowanie procentów | "25%" |
useDate() | Formatowanie dat i czasów | "Aug 2, 2025" |
useRelativeTime() | Formatowanie czasu względnego | "in 3 days" |
useUnit() | Formatowanie wartości z jednostkami | "5 kilometers" |
useCompact() | Formatowanie liczb w notacji zwartej | "1.2K" |
useList() | Formatowanie tablic jako listy | "apple, banana, and orange" |
useIntl() | Pobierz obiekt Intl powiązany z locale | Pełny dostęp do API Intl |
Kompletny Przykład
Skopiuj kod do schowka
Intl.Collator
Do porównywania i sortowania łańcuchów znaków z uwzględnieniem lokalizacji:
Skopiuj kod do schowka
Vanilla JS / Node.js Formatters
W kontekstach bez frameworka, importuj formatters bezpośrednio z intlayer. Pamiętaj, że musisz ręcznie przekazać locale.
Intl.PluralRules
Skopiuj kod do schowka
Funkcje formatujące
number(value, options?)
Formatuje wartość numeryczną z uwzględnieniem ustawień lokalnych dla grupowania i separatorów dziesiętnych.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }
Skopiuj kod do schowka
percentage(value, options?)
Formatuje liczbę jako ciąg znaków procentowych. Wartości większe niż 1 są normalizowane (np. 25 → 25%, 0.25 → 25%).
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }
Skopiuj kod do schowka
currency(value, options?)
Formatuje wartość jako zlokalizowaną walutę. Domyślnie USD.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }- Common:
currency,currencyDisplay("symbol" | "code" | "name")
- Common:
Skopiuj kod do schowka
date(date, optionsOrPreset?)
Formatuje wartość daty/czasu.
- date:
Date | string | number - optionsOrPreset:
Intl.DateTimeFormatOptions & { locale?: LocalesValues }lub preset:"short" | "long" | "dateOnly" | "timeOnly" | "full"
Skopiuj kod do schowka
relativeTime(from, to?, options?)
Formatuje czas względny między dwoma momentami.
- from:
Date | string | number - to:
Date | string | number(domyślnienew Date()) - options:
{ locale?, unit?, numeric?, style? }
Skopiuj kod do schowka
units(value, options?)
Formatuje wartość numeryczną z jednostką.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }- Common:
unit(np."kilometer","byte"),unitDisplay("short" | "narrow" | "long")
- Common:
Skopiuj kod do schowka
compact(value, options?)
Formatuje liczbę używając notacji kompaktowej.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }
Skopiuj kod do schowka
list(values, options?)
Formatuje tablicę na zlokalizowany ciąg znaków listy.
- values:
(string | number)[] - options:
Intl.ListFormatOptions & { locale?: LocalesValues }- Common:
type("conjunction" | "disjunction" | "unit"),style("long" | "short" | "narrow")
- Common:
Skopiuj kod do schowka
Cached Intl
Eksportowany Intl z intlayer jest buforowanym wrapperem wokół globalnego Intl. Memoizuje instancje formaterów (NumberFormat, DateTimeFormat, itp.) aby uniknąć wielokrotnego ich konstruowania, co poprawia wydajność.
Skopiuj kod do schowka
Dodatkowe funkcje Intl
Intl.DisplayNames
Dla zlokalizowanych nazw języków, regionów, walut i skryptów:
Skopiuj kod do schowka
Intl.Collator
Do porównywania i sortowania ciągów znaków z uwzględnieniem locale:
Skopiuj kod do schowka
Intl.PluralRules
Do określania form liczby mnogiej w różnych ustawieniach regionalnych:
Skopiuj kod do schowka
Narzędzia lokalizacyjne
getLocaleName(displayLocale, targetLocale?)
Pobiera zlokalizowaną nazwę lokalizacji w innej lokalizacji:
Skopiuj kod do schowka
getLocaleLang(locale?)
Wyodrębnia kod języka z ciągu lokalizacji:
Skopiuj kod do schowka
getLocaleFromPath(inputUrl)
Wyodrębnia segment lokalizacji z URL lub ścieżki:
Skopiuj kod do schowka
getPathWithoutLocale(inputUrl, locales?)
Usuwa segment lokalizacji z URL lub ścieżki:
Skopiuj kod do schowka
getLocalizedUrl(url, currentLocale, locales?, defaultLocale?, prefixDefault?)
Generuje zlokalizowany URL dla bieżącej lokalizacji:
Skopiuj kod do schowka
getHTMLTextDir(locale?)
Zwraca kierunek tekstu dla lokalizacji:
Skopiuj kod do schowka
Narzędzia do obsługi treści
getContent(node, nodeProps, locale?)
Transformuje węzeł treści za pomocą wszystkich dostępnych wtyczek (tłumaczenie, numeracja, wstawianie itp.):
Skopiuj kod do schowka
getTranslation(languageContent, locale?, fallback?)
Wyodrębnia treść dla określonej lokalizacji z obiektu zawierającego treści w różnych językach:
Skopiuj kod do schowka
getIntlayer(dictionaryKey, locale?, plugins?)
Pobiera i transformuje treść ze słownika na podstawie klucza:
Skopiuj kod do schowka
Uwagi
- Wszystkie helpery akceptują dane wejściowe typu
string; są one wewnętrznie konwertowane na liczby lub daty. - Domyślny locale to skonfigurowany przez Ciebie
internationalization.defaultLocale, jeśli nie zostanie podany. - Te narzędzia to cienkie nakładki; dla zaawansowanego formatowania przekaż standardowe opcje
Intl.
