React-Integration: useDictionary Hook Dokumentation
Dieser Abschnitt bietet eine detaillierte Anleitung zur Verwendung des useDictionary Hooks in React-Anwendungen, um eine effiziente Handhabung von lokalisierten Inhalten ohne visuellen Editor zu ermöglichen.
Importieren von useDictionary in React
Der useDictionary Hook kann in React-Anwendungen integriert werden, indem er je nach Kontext importiert wird:
Client-Komponente:
typescriptimport { useDictionary } from "next-intlayer"; // Wird in clientseitigen React-Komponenten verwendet
Server-Komponente:
typescriptimport { useDictionary } from "next-intlayer/server"; // Wird in serverseitigen React-Komponenten verwendet
Parameter
Der Hook akzeptiert zwei Parameter:
- dictionary: Ein deklariertes Wörterbuchobjekt, das lokalisierte Inhalte für spezifische Schlüssel enthält.
- locale (optional): Die gewünschte Sprache. Standardmäßig wird die aktuelle Sprache des Kontexts verwendet, falls nicht angegeben.
Wörterbuch
Alle Wörterbuchobjekte sollten in strukturierten Inhaltsdateien deklariert werden, um Typsicherheit zu gewährleisten und Laufzeitfehler zu vermeiden. Die Einrichtungsanweisungen finden Sie hier. Hier ist ein Beispiel für die Inhaltsdeklaration:
import { t, type Dictionary } from "intlayer";const exampleContent = { key: "component-example", content: { title: t({ en: "Client Component Example", fr: "Exemple de composant client", es: "Ejemplo de componente cliente", }), content: t({ en: "This is the content of a client component example", fr: "Ceci est le contenu d'un exemple de composant client", es: "Este es el contenido de un ejemplo de componente cliente", }), },} satisfies Dictionary;export default exampleContent;
Beispielverwendung in einer React-Client-Komponente
Nachfolgend ein Beispiel, wie der useDictionary Hook in einer React-Komponente verwendet wird:
"use client";import type { FC } from "react";import { useDictionary } from "next-intlayer";import clientComponentExampleContent from "./component.content";const ClientComponentExample: FC = () => { const { title, content } = useDictionary(clientComponentExampleContent); return ( <div> <h1>{title}</h1> <p>{content}</p> </div> );};
Beispielverwendung in einer React-Server-Komponente
Wenn Sie den useDictionary Hook außerhalb des IntlayerServerProvider verwenden, muss die Sprache explizit als Parameter angegeben werden, wenn die Komponente gerendert wird:
import type { FC } from "react";import { useDictionary } from "next-intlayer/server";import clientComponentExampleContent from "./component.content";const ServerComponentExample: FC = () => { const { content } = useDictionary(clientComponentExampleContent); return ( <div> <h1>{content.title}</h1> <p>{content.content}</p> </div> );};
Hinweise zu Attributen
Im Gegensatz zu Integrationen mit visuellen Editoren gelten Attribute wie buttonTitle.value hier nicht. Stattdessen greifen Sie direkt auf die lokalisierten Zeichenfolgen zu, wie in Ihrem Inhalt deklariert.
<button title={content.title}>{content.content}</button>
Zusätzliche Tipps
- Typsicherheit: Verwenden Sie immer Dictionary, um Ihre Wörterbücher zu definieren, um Typsicherheit zu gewährleisten.
- Lokalisierungsaktualisierungen: Stellen Sie bei der Aktualisierung von Inhalten sicher, dass alle Sprachen konsistent sind, um fehlende Übersetzungen zu vermeiden.
Diese Dokumentation konzentriert sich auf die Integration des useDictionary Hooks und bietet einen optimierten Ansatz zur Verwaltung lokalisierter Inhalte ohne die Verwendung von visuellen Editor-Funktionen.
Wenn 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 Dokumentation