Zum Inhalt springen

API-Referenz

Zuerst die Exporte des Pakets, dann das, was createDialect zurückgibt, dann seine Optionen. Ausführliche Erklärungen stehen auf den anderen Seiten, hier findest du die Nachschlagetabelle.

Exporte des Pakets #

ExportSignaturBeschreibung
createDialect svelte-dialect(options: DialectOptions) => DialectBaut aus den Optionen unten einen Dialekt und gibt die Funktionen zurück, die unter „Von createDialect zurückgegeben“ stehen. Das ist der Einstieg für Apps ohne SvelteKit.
createDialect svelte-dialect/kit(options: DialectOptions) => DialectDieselbe Funktion für SvelteKit-Apps. Sie setzt außerdem base aus paths.base und gleicht die Locale nach clientseitiger Navigation neu ab. Alles, was svelte-dialect exportiert, wird hier erneut exportiert.
Rich svelte-dialect<Rich parts={RichPart[]} {...snippets} />Rendert die Ausgabe von formatParts. MF2-Markup wie {#link}…{/link} geht an das Snippet gleichen Namens; Markup ohne Snippet rendert trotzdem seinen Inhalt.
localizedEntries svelte-dialect/entries(paths: string[], { locales, defaultLocale }) => ('*' | `/${string}`)[]Vervielfacht Prerender-Einträge über die Locales, ohne base: SvelteKit stellt paths.base selbst voran. Diese eigenständige Variante lässt sich in vite.config.ts importieren, das den Dialekt nicht laden kann. createDialect liefert einen Zwilling, der nur die Pfade nimmt und seine eigenen Locales verwendet; bei ausgeschaltetem routing gibt er die Pfade unverändert zurück.

Von createDialect zurückgegeben #

ExportSignaturBeschreibung
t(key, params?) => stringFormatiert namespace:dot.path für die aktuelle Locale (MF2). Für Schlüssel, die über MessageParams typisiert sind, werden die Parameter zur Pflicht.
loadTranslations(ns: string | string[], opts?) => Promise<{ t }>Cacht Namespaces für die aktuelle Locale über den loader und löst dann auf. reload lädt neu und ersetzt den Cache.
getLocale() => stringGibt die aktuelle Locale zurück.
setLocale(locale, opts?) => voidWechselt die Locale, aktualisiert <html lang>/dir und das Cookie; mit Routing geht es zum neuen Präfix, sofern nicht reload: false gesetzt ist.
configure({ defaultLocale?, locales? }) => voidErsetzt nach der Initialisierung die Menge der Locales und/oder die Standard-Locale. Ungültige Eingaben lösen eine Warnung aus und ändern nichts.
localesstring[]Die wählbaren Locales, aus dem Message-Glob übernommen, falls nicht angegeben. Eine Live-Ansicht: configure überschreibt sie an Ort und Stelle.
handleHandleDer handle-Hook für SvelteKits hooks.server.ts: handelt die Locale aus, isoliert den Request, füllt de/ltr und setzt Vary.
rerouteRerouteDer reroute-Hook für SvelteKits hooks.ts: entfernt das Locale-Präfix, damit die Routen greifen. Nur sinnvoll mit routing: true.
localizeHref(path, locale?) => stringDie Adresse eines Pfads in einer Locale, standardmäßig der aktuellen. Gibt den Pfad unverändert zurück, wenn Routing aus ist.
formatParts(key, params?) => RichPart[]Die Nachricht als renderfertige Teile; MF2-Markup kommt als open/close/standalone an. Übergib sie an die Rich-Komponente.
formatNumber(value, options?) => stringIntl.NumberFormat für die aktive Locale, memoisiert.
formatDate(value, options?) => stringIntl.DateTimeFormat für die aktive Locale, memoisiert.
getTextDirection(locale?) => 'ltr' | 'rtl'Schreibrichtung einer Locale, aus Intl. Standardmäßig die aktuelle Locale.
localizedEntries(paths: string[]) => ('*' | `/${string}`)[]Vervielfacht Prerender-Einträge über die Locales, ohne base: SvelteKit stellt paths.base selbst voran. Diese eigenständige Variante lässt sich in vite.config.ts importieren, das den Dialekt nicht laden kann. createDialect liefert einen Zwilling, der nur die Pfade nimmt und seine eigenen Locales verwendet; bei ausgeschaltetem routing gibt er die Pfade unverändert zurück.

Optionen von createDialect #

OptionStandardBeschreibung
messages{}Ein import.meta.glob-Ergebnis. Eager-Einträge werden eingebettet, nicht-eager Einträge werden zu Chunks pro Namespace. Kann entfallen, wenn alles über den loader kommt.
defaultLocale—Die Locale, die unter dem Pfad ohne Präfix ausgeliefert wird und als letzter Fallback dient.
localesfrom messagesWählbare Locales. Standardmäßig die in messages gefundenen — setze sie explizit, wenn alles dynamisch geladen wird.
loader—Holt einen Namespace bei Bedarf — ein Datenbankaufruf, ein fetch, eine Remote Function.
routingfalseLegt die Locale als Pfadpräfix in die URL.
base''Der Basispfad der App, wenn sie aus einem Unterverzeichnis ausgeliefert wird. svelte-dialect/kit übernimmt ihn aus paths.base; setze ihn nur außerhalb von SvelteKit selbst.
currentUrl—Ein reaktiver Zugriff auf die URL der aktuellen Seite, über den die Locale nach clientseitiger Navigation nachgezogen wird. svelte-dialect/kit setzt page.url ein; außerhalb von SvelteKit nicht setzen.
detectOnBarePathfalseLeitet einen Dokumentaufruf ohne Präfix auf die eigene Locale des Besuchers um.
strategy['url', 'cookie', 'lang', 'header', 'navigator', 'default']Suchreihenfolge für die Locale, der erste Treffer gewinnt.
bidiIsolationfalseHüllt eingesetzte Werte in Unicode-Bidi-Isolate ein, für RTL-Locales.
functions{}Zusätzliche MF2-Funktionen zum eingebauten Satz. Ein gleicher Name ersetzt die eingebaute Funktion.
onErrorconsole.warnErhält jeden Nachrichtenfehler anstelle der Konsole.