Lokal-Helfer

Funktionen zum Erstellen und Zusammenführen von Lokal-Konfigurationen.

import {
DEFAULT_LOCALE,
mergeLocale,
createLocale,
resolveLocale,
weekdayToNumber,
} from "react-date-range-picker-headless";

DEFAULT_LOCALE

Das standardmäßige englische Lokal-Objekt. Alle Felder sind mit englischen Zeichenketten gefüllt.

TypLocale
DEFAULT_LOCALE.weekdays; // ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]
DEFAULT_LOCALE.months; // ["January", "February", ..., "December"]
DEFAULT_LOCALE.confirm; // "Confirm"
DEFAULT_LOCALE.placeholder; // "Select date"

mergeLocale

Führt ein partielles Lokal in das Standard-Lokal zusammen.

SignaturmergeLocale(partial?: Partial<Locale>): Locale

Gibt DEFAULT_LOCALE zurück, wenn kein partielles Lokal bereitgestellt wird. Wenn rangeSeparator überschrieben wird, aber formatRange nicht, wird formatRange automatisch neu generiert, um das neue Trennzeichen zu verwenden.

mergeLocale(); // DEFAULT_LOCALE
mergeLocale({
confirm: "OK",
cancel: "Back",
rangeSeparator: " - ",
});
// { ...DEFAULT_LOCALE, confirm: "OK", cancel: "Back", rangeSeparator: " - ", formatRange: (s, e) => `${s} - ${e}` }

createLocale

Erstellt ein Lokal aus einem BCP 47 Lokal-Schlüssel unter Verwendung von Intl.DateTimeFormat.

SignaturcreateLocale(localeKey: string, overrides?: Partial<Locale>): Locale
ParameterTypBeschreibung
localeKeystringBCP 47 Lokal-Identifikator (z.B. "ko", "ja", "zh-CN", "pt-BR").
overridesPartial<Locale>Zusätzliche Überschreibungen, die nach der Intl-Generierung angewendet werden.

Generiert Wochentagsnamen, Monatsnamen, AM/PM-Bezeichnungen und Formatierungsfunktionen aus Intl.DateTimeFormat. Nicht-Intl-Felder (confirm, cancel, placeholder, usw.) fallen auf DEFAULT_LOCALE zurück, sofern sie nicht überschrieben werden.

const koLocale = createLocale("ko", {
confirm: "확인",
cancel: "취소",
clear: "초기화",
placeholder: "날짜 선택",
});
// koLocale.weekdays -> ["일", "월", "화", "수", "목", "금", "토"]
// koLocale.months -> ["1월", "2월", ...]
// koLocale.formatDate(new Date(2026, 2, 1)) -> "2026. 03. 01."

resolveLocale

Führt ein partielles Lokal zusammen und rotiert die Wochentagskopfzeilen, um mit weekStartsOn übereinzustimmen.

SignaturresolveLocale(partial?: Partial<Locale>, weekStartsOnNum?: number): Locale
ParameterTypStandardBeschreibung
partialPartial<Locale>Lokal-Überschreibungen.
weekStartsOnNumnumber0Erster Tag der Woche (0 = Sonntag).

Wenn weekStartsOnNum nicht 0 ist, wird das weekdays-Array rotiert, sodass die Kopfzeile am korrekten Tag beginnt.

resolveLocale(undefined, 1).weekdays;
// ["Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"]

weekdayToNumber

Konvertiert eine WeekDay-Zeichenkette in ihren numerischen Wert.

SignaturweekdayToNumber(day: WeekDay): number
weekdayToNumber("sunday"); // 0
weekdayToNumber("monday"); // 1
weekdayToNumber("saturday"); // 6