Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Versionshistorie
- "Veröffentlichung der Varianten-Funktion"v9.0.012.6.2026
- "`variant` akzeptiert jetzt einen String oder ein Objekt — die früheren `meta` / dynamischen Datensätze werden als Objekt-Varianten deklariert"v9.1.026.6.2026
Der Inhalt dieser Seite wurde mit einer KI übersetzt.
Den englischen Originaltext ansehenIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Varianten
Eine Variante ist eine Gruppe von Inhaltsdateien, die denselben Wörterbuch-key teilen, aber jeweils einen anderen variant-Wert tragen. Intlayer liefert die passende Datei basierend auf dem an useIntlayer übergebenen Selektor.
Der variant-Wert kann zwei Formen annehmen:
- Ein String — eine einzelne benannte Alternative (A/B-Tests, saisonale Banner, Feature-Flags).
- Ein Objekt — ein strukturierter Diskriminator, der über eine Reihe von Feldern adressiert wird (CMS-Datensätze, benutzerspezifische Inhalte, beliebige Inhalte mit einer opaken ID als Schlüssel). Das gesamte Objekt ist die Identität: Der Selektor muss ein gleiches Objekt liefern, um den Eintrag aufzulösen.
Die Objektform ersetzt das früheremeta-Feld. Überall, wo Sie zuvormeta: { id, … }geschrieben haben, schreiben Sievariant: { id, … }und wählen es mit{ variant: { id, … } }aus.
Benannte (String-)Varianten
Jede Datei stellt eine benannte Alternative dar. Das Weglassen von variant (oder das Setzen auf "default") markiert sie als Fallback.
Kopieren Sie den Code in die Zwischenablage
import { t, type Dictionary } from "intlayer";
const dictionary = {
key: "hero-banner",
variant: "default",
content: {
headline: t({
en: "Build faster with Intlayer",
fr: "Développez plus vite avec Intlayer",
}),
cta: t({ en: "Get started", fr: "Commencer" }),
},
} satisfies Dictionary;
export default dictionary;Kopieren Sie den Code in die Zwischenablage
import { t, type Dictionary } from "intlayer";
const dictionary = {
key: "hero-banner",
variant: "black_friday",
content: {
headline: t({
en: "50 % off — today only",
fr: "−50 % — aujourd'hui seulement",
}),
cta: t({ en: "Shop now", fr: "Acheter maintenant" }),
},
} satisfies Dictionary;
export default dictionary;Benannte Varianten verwenden
Standardvariante
Kopieren Sie den Code in die Zwischenablage
import { useIntlayer } from "react-intlayer";
export const Hero = () => {
const { headline, cta } = useIntlayer("hero-banner");
// → Standardvariante
return (
<section>
<h1>{headline}</h1>
<a>{cta}</a>
</section>
);
};Benannte Variante
Kopieren Sie den Code in die Zwischenablage
const { headline, cta } = useIntlayer("hero-banner", { variant: "black_friday",});Benannte Variante mit explizitem Locale
Kopieren Sie den Code in die Zwischenablage
const content = useIntlayer("hero-banner", { variant: "black_friday", locale: "fr",});Objekt-Varianten (strukturiert)
Eine Objekt-Variante adressiert Inhalte über eine beliebige Menge von Schlüssel-Wert-Paaren, die im variant-Feld deklariert sind — wodurch sich CMS-Datensätze, benutzerspezifische Inhalte oder beliebige Inhalte mit einer opaken ID als Schlüssel modellieren lassen. Das gesamte Objekt ist die Identität: Der Selektor muss ein gleiches Objekt liefern, damit der Eintrag aufgelöst wird.
Kopieren Sie den Code in die Zwischenablage
import { t, type Dictionary } from "intlayer";
const dictionary = {
key: "product",
variant: { id: "prod_abc", userId: "user_123" },
content: {
name: t({ en: "Widget Pro", fr: "Widget Pro" }),
description: t({ en: "The best widget.", fr: "Le meilleur widget." }),
},
} satisfies Dictionary;
export default dictionary;Kopieren Sie den Code in die Zwischenablage
import { t, type Dictionary } from "intlayer";
const dictionary = {
key: "product",
variant: { id: "prod_abcd", userId: "user_123" },
content: {
name: t({ en: "Widget Lite", fr: "Widget Lite" }),
description: t({ en: "A lighter option.", fr: "Une option plus légère." }),
},
} satisfies Dictionary;
export default dictionary;Objekt-Varianten verwenden
Übergeben Sie das passende Objekt an variant. Jedes im Wörterbuch deklarierte Feld muss angegeben und gleich sein; andernfalls ist das Ergebnis null. Die Reihenfolge der Felder spielt keine Rolle.
Kopieren Sie den Code in die Zwischenablage
import { useIntlayer } from "react-intlayer";
export const Product = ({
productId,
userId,
}: {
productId: string;
userId: string;
}) => {
const content = useIntlayer("product", {
variant: { id: productId, userId },
});
if (!content) return null;
return <p>{content.description}</p>;
};Mit explizitem Locale
Kopieren Sie den Code in die Zwischenablage
const content = useIntlayer("product", { variant: { id: "prod_abc", userId: "user_123" }, locale: "fr",});Fehlendes Feld — keine Übereinstimmung
Kopieren Sie den Code in die Zwischenablage
// Gibt null zurück: `userId` fehlt, daher passt das Objekt nicht zur deklarierten Varianteconst content = useIntlayer("product", { variant: { id: "prod_abc" } });Lademodus
Objekt-Varianten werden oft verzögert geladen. Setzen Sie importMode im Wörterbuch, um dies zu steuern:
Kopieren Sie den Code in die Zwischenablage
const dictionary = {
key: "product",
importMode: "fetch", // or "dynamic"
variant: { id: "prod_abc", userId: "user_123" },
content: { … },
} satisfies Dictionary;
export default dictionary;Siehe Bundle-Optimierung für Details zu den Modi static, dynamic und fetch.
Typische Anwendungsfälle
- A/B-Texttests, gesteuert durch einen Experiment-Schlüssel
- Saisonale oder Werbebanner
- Feature-Flag-gesteuerte Nachrichten
- Locale-spezifische Marketingkampagnen
- Produktspezifische Marketingtexte, die in einem CMS verwaltet werden
- Benutzer- oder kontospezifische Inhalte
- Beliebige Inhalte, die durch eine opake Laufzeit-ID adressiert werden