Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Versionshistorie
- "Formatter verwenden die Locale der Anfrage, dann die gespeicherte Locale, wenn keine Locale übergeben wird"v9.6.02.10.2026
- "Vue-Formatter hinzugefügt"v5.8.020.8.2025
- "Dokumentation der Formatter hinzugefügt"v5.8.018.8.2025
- "Hinzufügen von Vue-Formatierern"v5.8.020.8.2025
- "Hinzufügen der Dokumentation zu Formatierern"v5.8.018.8.2025
- "Hinzufügen der Dokumentation zum Listen-Formatter"v5.8.020.8.2025
- "Hinzufügen zusätzlicher Intl-Dienstprogramme (DisplayNames, Collator, PluralRules)"v5.8.020.8.2025
- "Hinzufügen von Locale-Dienstprogrammen (getLocaleName, getLocaleLang, getLocaleFromPath, etc.)"v5.8.020.8.2025
- "Hinzufügen von Dienstprogrammen zur Inhaltsverwaltung (getContent, getTranslation, getIntlayer, etc.)"v5.8.020.8.2025
Der Inhalt dieser Seite wurde mit einer KI übersetzt.
Den englischen Originaltext ansehenWenn Sie eine Idee haben, um diese Dokumentation zu verbessern, zögern Sie bitte nicht, durch das Einreichen eines Pull-Requests auf GitHub beizutragen.
GitHub-Link zur DokumentationMarkdown des Dokuments in die Zwischenablage kopieren
Intlayer Formatierer
Table of Contents
Überblick
Intlayer stellt eine Reihe von leichtgewichtigen Helfern bereit, die auf den nativen Intl-APIs aufbauen, sowie einen zwischengespeicherten Intl-Wrapper, um die wiederholte Erstellung schwerer Formatierer zu vermeiden. Diese Werkzeuge sind vollständig ortsabhängig und können aus dem Hauptpaket intlayer verwendet werden.
Für React, Vue und andere Frameworks verwenden Sie die Framework-spezifischen Hooks/Composables, die sich automatisch an den Locale-Kontext Ihrer App binden:
Tabelle in einem Modal öffnen, um alle Daten übersichtlich anzuzeigen
| 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 (kein Provider erforderlich) |
Welche Locale wird verwendet?
Wenn Sie eine locale-Option übergeben, hat sie immer Vorrang. Andernfalls lösen die Formatter, ihre Hooks (useNumber, useDate, useList…) und useIntl sie in dieser Reihenfolge auf:
- Die Locale des Providers (
IntlayerProvider), für Hooks und Composables. - Die Locale der aktuellen Anfrage, auf dem Server, wenn eine Intlayer-Integration sie verarbeitet (
express-intlayer,fastify-intlayer,hono-intlayer,remix-intlayer,astro-intlayer…). - Die im Browser gespeicherte Locale (Cookie,
localStorage,sessionStorage), die Ihr Sprachumschalter speichert. - Die
defaultLocaleIhrer Konfiguration.
Kopieren Sie den Code in die Zwischenablage
Außerhalb eines Providers oder einer Server-Integration formatiert der Server mit der defaultLocale, während der Browser die gespeicherte Locale verwendet, was zu einem Hydration-Fehler führen kann. Verwenden Sie für serverseitig gerenderte Seiten einen Provider oder übergeben Sie die locale explizit.
React Formatters
Import
Kopieren Sie den Code in die Zwischenablage
Verfügbare Hooks
Alle Hooks verwenden automatisch das Locale aus IntlayerProvider oder IntlayerServerProvider.
Tabelle in einem Modal öffnen, um alle Daten übersichtlich anzuzeigen
| Hook | Description | Example Output |
|---|---|---|
useNumber() | Zahlen mit Gruppierung formatieren | "123,456.789" |
useCurrency() | Währungswerte formatieren | "€1,234.50" |
usePercentage() | Prozentsätze formatieren | "25%" |
useDate() | Daten und Zeiten formatieren | "Aug 2, 2025" |
useRelativeTime() | Relative Zeit formatieren | "in 3 days" |
useUnit() | Werte mit Einheiten formatieren | "5 kilometers" |
useCompact() | Zahlen in kompakter Notation formatieren | "1.2K" |
useList() | Arrays als Listen formatieren | "apple, banana, and orange" |
useIntl() | Locale-gebundenes Intl Objekt abrufen | Vollständiger Intl API Zugriff |
Vollständiges Beispiel
Kopieren Sie den Code in die Zwischenablage
useIntl Hook
Der useIntl Hook bietet direkten Zugriff auf ein locale-gebundenes Intl Objekt. Dies ist nützlich, wenn Sie die vollständige Intl API benötigen (z. B. DisplayNames, Collator, PluralRules) mit automatischer Locale-Injektion.
Kopieren Sie den Code in die Zwischenablage
Vue Formatters
Intl.DisplayNames
Kopieren Sie den Code in die Zwischenablage
Verfügbare Composables
Alle Composables geben berechnete Refs zurück, die automatisch das Gebietsschema vom eingefügten IntlayerProvider verwenden.
Tabelle in einem Modal öffnen, um alle Daten übersichtlich anzuzeigen
| Composable | Beschreibung | Beispielausgabe |
|---|---|---|
useNumber() | Formatiere Zahlen mit Gruppierung | "123,456.789" |
useCurrency() | Formatiere Währungswerte | "€1,234.50" |
usePercentage() | Formatiere Prozentsätze | "25%" |
useDate() | Formatiere Daten und Zeiten | "Aug 2, 2025" |
useRelativeTime() | Formatiere relative Zeit | "in 3 days" |
useUnit() | Formatiere Werte mit Einheiten | "5 kilometers" |
useCompact() | Formatiere Zahlen in kompakter Notation | "1.2K" |
useList() | Formatiere Arrays als Listen | "apple, banana, and orange" |
useIntl() | Rufe gebietsschemagebendes Intl Objekt ab | Vollständiger Intl API-Zugriff |
Vollständiges Beispiel
Kopieren Sie den Code in die Zwischenablage
Intl.Collator
Für lokalisierte Zeichenfolgenvergleiche und Sortierungen:
Kopieren Sie den Code in die Zwischenablage
Vanilla JS / Node.js Formatters
Importieren Sie die Formatter in Kontexten ohne Framework direkt aus intlayer. Die Option locale ist optional: ohne sie wird die Locale der Anfrage, dann die gespeicherte Locale, dann die defaultLocale verwendet.
Intl.PluralRules
Kopieren Sie den Code in die Zwischenablage
Formatter-Funktionen
number(value, options?)
Formatiert einen numerischen Wert mit lokalisierter Gruppierung und Dezimalstellen.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }
Kopieren Sie den Code in die Zwischenablage
percentage(value, options?)
Formatiert eine Zahl als Prozentsatz-String. Werte größer als 1 werden normalisiert (z. B. 25 → 25%, 0.25 → 25%).
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }
Kopieren Sie den Code in die Zwischenablage
currency(value, options?)
Formatiert einen Wert als lokalisierte Währung. Standardmäßig USD.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }- Common:
currency,currencyDisplay("symbol" | "code" | "name")
- Common:
Kopieren Sie den Code in die Zwischenablage
date(date, optionsOrPreset?)
Formatiert einen Datums-/Zeitwert.
- date:
Date | string | number - optionsOrPreset:
Intl.DateTimeFormatOptions & { locale?: LocalesValues }oder Voreinstellung:"short" | "long" | "dateOnly" | "timeOnly" | "full"
Kopieren Sie den Code in die Zwischenablage
relativeTime(from, to?, options?)
Formatiert relative Zeit zwischen zwei Zeitpunkten.
- from:
Date | string | number - to:
Date | string | number(Standardwert:new Date()) - options:
{ locale?, unit?, numeric?, style? }
Kopieren Sie den Code in die Zwischenablage
units(value, options?)
Formatiert einen numerischen Wert mit einer Einheit.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }- Common:
unit(z. B."kilometer","byte"),unitDisplay("short" | "narrow" | "long")
- Common:
Kopieren Sie den Code in die Zwischenablage
compact(value, options?)
Formatiert eine Nummer mit kompakter Notation.
- value:
number | string - options:
Intl.NumberFormatOptions & { locale?: LocalesValues }
Kopieren Sie den Code in die Zwischenablage
list(values, options?)
Formatiert ein Array in eine lokalisierte Listzeichenkette.
- values:
(string | number)[] - options:
Intl.ListFormatOptions & { locale?: LocalesValues }- Häufig:
type("conjunction" | "disjunction" | "unit"),style("long" | "short" | "narrow")
- Häufig:
Kopieren Sie den Code in die Zwischenablage
Cached Intl
Das von intlayer exportierte Intl ist ein gecachter Wrapper um das globale Intl. Es speichert Formatter-Instanzen (NumberFormat, DateTimeFormat, usw.) im Cache, um zu vermeiden, dass diese wiederholt erstellt werden, was die Performance verbessert.
Kopieren Sie den Code in die Zwischenablage
Zusätzliche Intl-Funktionen
Intl.DisplayNames
Für lokalisierte Namen von Sprachen, Regionen, Währungen und Schriften:
Kopieren Sie den Code in die Zwischenablage
Intl.Collator
Für gebietsschemaabhängigen Stringvergleich und Sortierung:
Kopieren Sie den Code in die Zwischenablage
Intl.PluralRules
Zur Bestimmung von Pluralformen in verschiedenen Locales:
Kopieren Sie den Code in die Zwischenablage
Locale-Dienstprogramme
getLocaleName(displayLocale, targetLocale?)
Ermittelt den lokalisierten Namen eines Sprachraums in einem anderen Sprachraum:
Kopieren Sie den Code in die Zwischenablage
getLocaleLang(locale?)
Extrahiert den Sprachcode aus einem Locale-String:
Kopieren Sie den Code in die Zwischenablage
getLocaleFromPath(inputUrl)
Extrahiert das Locale-Segment aus einer URL oder einem Pfadnamen:
Kopieren Sie den Code in die Zwischenablage
getPathWithoutLocale(inputUrl, locales?)
Entfernt das Sprachregion-Segment aus einer URL oder einem Pfadnamen:
Kopieren Sie den Code in die Zwischenablage
getLocalizedUrl(url, currentLocale, locales?, defaultLocale?, prefixDefault?)
Erzeugt eine lokalisierte URL für die aktuelle Sprachregion:
Kopieren Sie den Code in die Zwischenablage
getHTMLTextDir(locale?)
Gibt die Schreibrichtung für eine Sprache zurück:
Kopieren Sie den Code in die Zwischenablage
Dienstprogramme zur Inhaltsverarbeitung
getContent(node, nodeProps, locale?)
Transformiert einen Inhaltsknoten mit allen verfügbaren Plugins (Übersetzung, Aufzählung, Einfügung usw.):
Kopieren Sie den Code in die Zwischenablage
getTranslation(languageContent, locale?, fallback?)
Extrahiert Inhalte für eine bestimmte Sprache aus einem Sprachinhaltsobjekt:
Kopieren Sie den Code in die Zwischenablage
getIntlayerAsync(dictionaryKey, locale?, plugins?)
Ruft asynchron Inhalte aus einem entfernten Wörterbuch ab:
Kopieren Sie den Code in die Zwischenablage
Hinweise
- Alle Hilfsfunktionen akzeptieren Eingaben vom Typ
string; diese werden intern in Zahlen oder Daten umgewandelt. - Die Locale wird standardmäßig auf Ihre konfigurierte
internationalization.defaultLocalegesetzt, falls keine Locale angegeben wird. - Diese Hilfsfunktionen sind dünne Wrapper; für erweiterte Formatierungen können die Standard-
Intl-Optionen direkt verwendet werden.
