Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Durch die Integration des Intlayer MCP-Servers in Ihren bevorzugten AI-Assistenten können Sie alle Dokumente direkt von ChatGPT, DeepSeek, Cursor, VSCode usw. abrufen.
Dokumentation des MCP-Servers ansehenDer 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
Schritt-für-Schritt-Anleitung zur Einrichtung von Intlayer in einer Vite- und React-Anwendung
Schritt 1: Abhängigkeiten installieren
Installieren Sie die notwendigen Pakete mit npm:
Kopieren Sie den Code in die Zwischenablage
npm install intlayer react-intlayernpm install vite-intlayer --save-dev
intlayer
Das Kernpaket, das Internationalisierungswerkzeuge für Konfigurationsmanagement, Übersetzung, Inhaltserklärung, Transpilierung und CLI-Befehle bereitstellt.
react-intlayer Das Paket, das Intlayer in React-Anwendungen integriert. Es stellt Kontext-Provider und Hooks für die Internationalisierung in React bereit.
vite-intlayer Enthält das Vite-Plugin zur Integration von Intlayer mit dem Vite-Bundler sowie Middleware zur Erkennung der bevorzugten Sprache des Benutzers, Verwaltung von Cookies und Handhabung von URL-Weiterleitungen.
Schritt 2: Konfiguration Ihres Projekts
Erstellen Sie eine Konfigurationsdatei, um die Sprachen Ihrer Anwendung zu konfigurieren:
Kopieren Sie den Code in die Zwischenablage
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { internationalization: { locales: [ Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH, // Ihre weiteren Sprachversionen ], defaultLocale: Locales.ENGLISH, },};export default config;
Durch diese Konfigurationsdatei können Sie lokalisierte URLs, Middleware-Weiterleitungen, Cookie-Namen, den Speicherort und die Erweiterung Ihrer Inhaltsdeklarationen einrichten, Intlayer-Protokolle in der Konsole deaktivieren und vieles mehr. Für eine vollständige Liste der verfügbaren Parameter verweisen wir auf die Konfigurationsdokumentation.
Schritt 3: Integrieren Sie Intlayer in Ihre Vite-Konfiguration
Fügen Sie das Intlayer-Plugin in Ihre Konfiguration ein.
Kopieren Sie den Code in die Zwischenablage
import { defineConfig } from "vite";import react from "@vitejs/plugin-react-swc";import { intlayerPlugin } from "vite-intlayer";// https://vitejs.dev/config/export default defineConfig({ plugins: [react(), intlayerPlugin()],});
Das intlayerPlugin() Vite-Plugin wird verwendet, um Intlayer mit Vite zu integrieren. Es stellt sicher, dass Inhaltsdeklarationsdateien erstellt und im Entwicklungsmodus überwacht werden. Es definiert Intlayer-Umgebungsvariablen innerhalb der Vite-Anwendung. Zusätzlich bietet es Aliase zur Optimierung der Leistung.
Schritt 4: Deklarieren Sie Ihre Inhalte
Erstellen und verwalten Sie Ihre Inhaltsdeklarationen, um Übersetzungen zu speichern:
Kopieren Sie den Code in die Zwischenablage
import { t, type Dictionary } from "intlayer";import type { ReactNode } from "react";const appContent = { key: "app", content: { viteLogo: t({ en: "Vite logo", fr: "Logo Vite", es: "Logo Vite", }), reactLogo: t({ en: "React logo", fr: "Logo React", es: "Logo React", }), title: "Vite + React", count: t({ en: "count is ", fr: "le compte est ", es: "el recuento es ", }), edit: t<ReactNode>({ en: ( <> Bearbeiten Sie <code>src/App.tsx</code> und speichern Sie, um HMR zu testen </> ), fr: ( <> Éditez <code>src/App.tsx</code> et enregistrez pour tester HMR </> ), es: ( <> Edita <code>src/App.tsx</code> y guarda para probar HMR </> ), }), readTheDocs: t({ en: "Klicken Sie auf die Vite- und React-Logos, um mehr zu erfahren", fr: "Cliquez sur les logos Vite et React pour en savoir plus", es: "Haga clic en los logotipos de Vite y React para obtener más información", }), },} satisfies Dictionary;export default appContent;
Ihre Inhaltsdeklarationen können überall in Ihrer Anwendung definiert werden, sobald sie in das contentDir-Verzeichnis (standardmäßig ./src) aufgenommen werden. Und die Dateiendung der Inhaltsdeklaration muss übereinstimmen (standardmäßig .content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}).
Für weitere Details siehe die Dokumentation zur Inhaltsdeklaration.
Wenn Ihre Inhaltsdatei TSX-Code enthält, sollten Sie in Ihrer Inhaltsdatei import React from "react"; importieren.
Schritt 5: Verwenden Sie Intlayer in Ihrem Code
Greifen Sie in Ihrer gesamten Anwendung auf Ihre Inhaltswörterbücher zu:
Kopieren Sie den Code in die Zwischenablage
import { useState, type FC } from "react";import reactLogo from "./assets/react.svg";import viteLogo from "/vite.svg";import "./App.css";import { IntlayerProvider, useIntlayer } from "react-intlayer";const AppContent: FC = () => { const [count, setCount] = useState(0); const content = useIntlayer("app"); return ( <> <div> <a href="https://vitejs.dev" target="_blank"> <img src={viteLogo} className="logo" alt={content.viteLogo.value} /> </a> <a href="https://react.dev" target="_blank"> <img src={reactLogo} className="logo react" alt={content.reactLogo.value} /> </a> </div> <h1>{content.title}</h1> <div className="card"> <button onClick={() => setCount((count) => count + 1)}> {content.count} {count} </button> <p>{content.edit}</p> </div> <p className="read-the-docs">{content.readTheDocs}</p> </> );};const App = () => ( <IntlayerProvider> <AppContent /> </IntlayerProvider>);export default App;
Wenn Sie Ihren Inhalt in einem string-Attribut verwenden möchten, wie z.B. alt, title, href, aria-label usw., müssen Sie den Wert der Funktion aufrufen, wie:
jsxCode kopierenKopieren Sie den Code in die Zwischenablage
<img src={content.image.src.value} alt={content.image.value} />
Wenn Sie Ihren Inhalt in einem string-Attribut verwenden möchten, wie z.B. alt, title, href, aria-label usw., müssen Sie den Wert der Funktion aufrufen, zum Beispiel:
jsxCode kopierenKopieren Sie den Code in die Zwischenablage
<img src={content.image.src.value} alt={content.image.value} />
Um mehr über den useIntlayer Hook zu erfahren, lesen Sie die Dokumentation.
(Optional) Schritt 6: Ändern Sie die Sprache Ihres Inhalts
Um die Sprache Ihres Inhalts zu ändern, können Sie die Funktion setLocale verwenden, die vom useLocale Hook bereitgestellt wird. Diese Funktion ermöglicht es Ihnen, die Locale der Anwendung festzulegen und den Inhalt entsprechend zu aktualisieren.
Kopieren Sie den Code in die Zwischenablage
import type { FC } from "react";import { Locales } from "intlayer";import { useLocale } from "react-intlayer";const LocaleSwitcher: FC = () => { const { setLocale } = useLocale(); return ( <button onClick={() => setLocale(Locales.English)}> Sprache auf Englisch ändern </button> );};
Um mehr über den useLocale Hook zu erfahren, lesen Sie die Dokumentation.
(Optional) Schritt 7: Lokalisierte Routen zu Ihrer Anwendung hinzufügen
Der Zweck dieses Schrittes ist es, für jede Sprache eindeutige Routen zu erstellen. Dies ist nützlich für SEO und SEO-freundliche URLs. Beispiel:
Kopieren Sie den Code in die Zwischenablage
- https://example.com/about- https://example.com/es/about- https://example.com/fr/about
Standardmäßig sind die Routen für die Standardsprache nicht mit einem Präfix versehen. Wenn Sie die Standardsprache mit einem Präfix versehen möchten, können Sie in Ihrer Konfiguration die Option middleware.prefixDefault auf true setzen. Weitere Informationen finden Sie in der Konfigurationsdokumentation.
Um lokalisierte Routen in Ihre Anwendung hinzuzufügen, können Sie eine LocaleRouter-Komponente erstellen, die die Routen Ihrer Anwendung umschließt und die sprachabhängige Navigation verwaltet. Hier ist ein Beispiel unter Verwendung von React Router:
Kopieren Sie den Code in die Zwischenablage
// Importieren der notwendigen Abhängigkeiten und Funktionenimport { type Locales, configuration, getPathWithoutLocale } from "intlayer"; // Dienstprogramme und Typen von 'intlayer'import type { FC, PropsWithChildren } from "react"; // React-Typen für funktionale Komponenten und Propsimport { IntlayerProvider } from "react-intlayer"; // Provider für Internationalisierungskontextimport { BrowserRouter, Routes, Route, Navigate, useLocation,} from "react-router-dom"; // Router-Komponenten zur Verwaltung der Navigation// Destrukturierung der Konfiguration von Intlayerconst { internationalization, middleware } = configuration;const { locales, defaultLocale } = internationalization;/** * Eine Komponente, die die Lokalisierung verwaltet und Kinder mit dem entsprechenden Locale-Kontext umschließt. * Sie verwaltet die URL-basierte Lokalerkennung und -validierung. */const AppLocalized: FC<PropsWithChildren<{ locale: Locales }>> = ({ children, locale,}) => { const { pathname, search } = useLocation(); // Aktuellen URL-Pfad abrufen // Bestimmen der aktuellen Locale, Standardwert verwenden, falls nicht angegeben const currentLocale = locale ?? defaultLocale; // Entfernen des Locale-Präfixes aus dem Pfad, um einen Basis-Pfad zu erstellen const pathWithoutLocale = getPathWithoutLocale( pathname // Aktueller URL-Pfad ); /** * Wenn middleware.prefixDefault true ist, sollte die Standard-Locale immer vorangestellt werden. */ if (middleware.prefixDefault) { // Locale validieren if (!locale || !locales.includes(locale)) { // Weiterleitung zur Standard-Locale mit aktualisiertem Pfad return ( <Navigate to={`/${defaultLocale}/${pathWithoutLocale}${search}`} replace // Ersetzt den aktuellen Eintrag im Verlauf durch den neuen /> ); } // Umschließt die Kinder mit dem IntlayerProvider und setzt die aktuelle Locale return ( <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider> ); } else { /** * Wenn middleware.prefixDefault false ist, wird die Standardsprache nicht mit einem Präfix versehen. * Stellen Sie sicher, dass die aktuelle Locale gültig ist und nicht die Standardsprache ist. */ if ( currentLocale.toString() !== defaultLocale.toString() && !locales .filter( (locale) => locale.toString() !== defaultLocale.toString() // Schließt die Standardsprache aus ) .includes(currentLocale) // Überprüfen, ob die aktuelle Locale in der Liste der gültigen Locales enthalten ist ) { // Weiterleitung zum Pfad ohne Locale-Präfix return <Navigate to={`${pathWithoutLocale}${search}`} replace />; } // Kinder mit dem IntlayerProvider umschließen und die aktuelle Locale setzen return ( <IntlayerProvider locale={currentLocale}>{children}</IntlayerProvider> ); }};/** * Eine Router-Komponente, die locale-spezifische Routen einrichtet. * Sie verwendet React Router, um die Navigation zu verwalten und lokalisierte Komponenten zu rendern. */export const LocaleRouter: FC<PropsWithChildren> = ({ children }) => ( <BrowserRouter> <Routes> {locales .filter( (locale) => middleware.prefixDefault || locale !== defaultLocale ) .map((locale) => ( <Route // Routenmuster, um die Locale zu erfassen (z.B. /en/, /fr/) und alle nachfolgenden Pfade zu erfassen path={`/${locale}/*`} key={locale} element={<AppLocalized locale={locale}>{children}</AppLocalized>} // Umschließt die Kinder mit der Locale-Verwaltung /> ))} { // Wenn das Präfix für die Standard-Locale deaktiviert ist, werden die Kinder direkt im Stammverzeichnis gerendert !middleware.prefixDefault && ( <Route path="*" element={ <AppLocalized locale={defaultLocale}>{children}</AppLocalized> } // Umschließt die Kinder mit der Locale-Verwaltung /> ) } </Routes> </BrowserRouter>);
Dann können Sie die Komponente LocaleRouter in Ihrer Anwendung verwenden:
Kopieren Sie den Code in die Zwischenablage
import { LocaleRouter } from "./components/LocaleRouter";import type { FC } from "react";// ... Ihre AppContent-Komponenteconst App: FC = () => ( <LocaleRouter> <AppContent /> </LocaleRouter>);
Parallel dazu können Sie auch das intLayerMiddlewarePlugin verwenden, um serverseitiges Routing in Ihre Anwendung zu integrieren. Dieses Plugin erkennt automatisch die aktuelle Locale basierend auf der URL und setzt das entsprechende Locale-Cookie. Wenn keine Locale angegeben ist, bestimmt das Plugin die passendste Locale basierend auf den Spracheinstellungen des Browsers des Benutzers. Wird keine Locale erkannt, erfolgt eine Weiterleitung zur Standard-Locale.
Kopieren Sie den Code in die Zwischenablage
import { defineConfig } from "vite";import react from "@vitejs/plugin-react-swc";import { intlayerPlugin, intLayerMiddlewarePlugin } from "vite-intlayer";// https://vitejs.dev/config/export default defineConfig({ plugins: [react(), intlayerPlugin(), intLayerMiddlewarePlugin()],});
(Optional) Schritt 8: URL ändern, wenn sich die Sprache ändert
Um die URL zu ändern, wenn sich die Sprache ändert, können Sie die onLocaleChange-Eigenschaft verwenden, die vom useLocale-Hook bereitgestellt wird. Parallel dazu können Sie die Hooks useLocation und useNavigate von react-router-dom verwenden, um den URL-Pfad zu aktualisieren.
Kopieren Sie den Code in die Zwischenablage
import { useLocation, useNavigate } from "react-router-dom";import { Locales, getHTMLTextDir, getLocaleName, getLocalizedUrl,} from "intlayer";import { useLocale } from "react-intlayer";import { type FC } from "react";const LocaleSwitcher: FC = () => { const { pathname, search } = useLocation(); // Hole den aktuellen URL-Pfad. Beispiel: /fr/about?foo=bar const navigate = useNavigate(); const { locale, availableLocales, setLocale } = useLocale({ onLocaleChange: (locale) => { // Erstelle die URL mit der aktualisierten Locale // Beispiel: /es/about?foo=bar const pathWithLocale = getLocalizedUrl(`${pathname}${search}`, locale); // Aktualisiere den URL-Pfad navigate(pathWithLocale); }, }); return ( <div> <button popoverTarget="localePopover">{getLocaleName(locale)}</button> <div id="localePopover" popover="auto"> {availableLocales.map((localeItem) => ( <a href={getLocalizedUrl(location.pathname, localeItem)} hrefLang={localeItem} aria-current={locale === localeItem ? "page" : undefined} onClick={(e) => { e.preventDefault(); setLocale(localeItem); }} key={localeItem} > <span> {/* Gebietsschema - z.B. FR */} {localeItem} </span> <span> {/* Sprache im eigenen Gebietsschema - z.B. Français */} {getLocaleName(localeItem, locale)} </span> <span dir={getHTMLTextDir(localeItem)} lang={localeItem}> {/* Sprache im aktuellen Gebietsschema - z.B. Francés, wenn das aktuelle Gebietsschema auf Locales.SPANISH gesetzt ist */} {getLocaleName(localeItem)} </span> <span dir="ltr" lang={Locales.ENGLISH}> {/* Sprache auf Englisch - z.B. French */} {getLocaleName(localeItem, Locales.ENGLISH)} </span> </a> ))} </div> </div> );};
Dokumentationsreferenzen:
Nachfolgend finden Sie den aktualisierten Schritt 9 mit zusätzlichen Erklärungen und verfeinerten Codebeispielen:
(Optional) Schritt 9: Wechseln der HTML-Sprach- und Richtungsattribute
Wenn Ihre Anwendung mehrere Sprachen unterstützt, ist es entscheidend, die lang- und dir-Attribute des <html>-Tags an die aktuelle Locale anzupassen. Dies stellt sicher:
- Barrierefreiheit: Screenreader und unterstützende Technologien verlassen sich auf das korrekte lang-Attribut, um Inhalte richtig auszusprechen und zu interpretieren.
- Textdarstellung: Das dir-Attribut (Richtung) sorgt dafür, dass der Text in der richtigen Reihenfolge dargestellt wird (z. B. von links nach rechts für Englisch, von rechts nach links für Arabisch oder Hebräisch), was für die Lesbarkeit unerlässlich ist.
- SEO: Suchmaschinen verwenden das lang-Attribut, um die Sprache Ihrer Seite zu bestimmen und so die passende lokalisierte Version in den Suchergebnissen anzuzeigen.
Indem Sie diese Attribute dynamisch aktualisieren, wenn sich die Spracheinstellung ändert, gewährleisten Sie eine konsistente und barrierefreie Erfahrung für Benutzer in allen unterstützten Sprachen.
Implementierung des Hooks
Erstellen Sie einen benutzerdefinierten Hook, um die HTML-Attribute zu verwalten. Der Hook hört auf Änderungen der Spracheinstellung und aktualisiert die Attribute entsprechend:
Kopieren Sie den Code in die Zwischenablage
import { useEffect } from "react";import { useLocale } from "react-intlayer";import { getHTMLTextDir } from "intlayer";/** * Aktualisiert die `lang`- und `dir`-Attribute des HTML-Elements `<html>` basierend auf der aktuellen Spracheinstellung. * - `lang`: Informiert Browser und Suchmaschinen über die Sprache der Seite. * - `dir`: Stellt die korrekte Leserichtung sicher (z.B. 'ltr' für Englisch, 'rtl' für Arabisch). * * Dieses dynamische Update ist entscheidend für die korrekte Textdarstellung, Barrierefreiheit und SEO. */export const useI18nHTMLAttributes = () => { const { locale } = useLocale(); useEffect(() => { // Aktualisiert das Sprachattribut auf die aktuelle Locale. document.documentElement.lang = locale; // Setzt die Schreibrichtung basierend auf der aktuellen Locale. document.documentElement.dir = getHTMLTextDir(locale); }, [locale]);};
Verwendung des Hooks in Ihrer Anwendung
Integrieren Sie den Hook in Ihre Hauptkomponente, damit die HTML-Attribute bei jeder Änderung der Locale aktualisiert werden:
Kopieren Sie den Code in die Zwischenablage
import type { FC } from "react";import { IntlayerProvider, useIntlayer } from "react-intlayer";import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";import "./App.css";const AppContent: FC = () => { // Wenden Sie den Hook an, um die lang- und dir-Attribute des <html>-Tags basierend auf der Locale zu aktualisieren. useI18nHTMLAttributes(); // ... Rest Ihrer Komponente};const App: FC = () => ( <IntlayerProvider> <AppContent /> </IntlayerProvider>);export default App;
Verwendung des Hooks in Ihrer Anwendung
Integrieren Sie den Hook in Ihre Hauptkomponente, damit die HTML-Attribute aktualisiert werden, sobald sich die Locale ändert:
Kopieren Sie den Code in die Zwischenablage
import type { FC } from "react";import { IntlayerProvider, useIntlayer } from "react-intlayer";import { useI18nHTMLAttributes } from "./hooks/useI18nHTMLAttributes";import "./App.css";const AppContent: FC = () => { // Wenden Sie den Hook an, um die lang- und dir-Attribute des <html>-Tags basierend auf der Locale zu aktualisieren. useI18nHTMLAttributes(); // ... Rest Ihrer Komponente};const App: FC = () => ( <IntlayerProvider> <AppContent /> </IntlayerProvider>);export default App;
Durch diese Änderungen wird Ihre Anwendung:
- Sicherstellen, dass das language (lang) Attribut die aktuelle Locale korrekt widerspiegelt, was wichtig für SEO und das Verhalten des Browsers ist.
- Die Schreibrichtung (dir) entsprechend der Locale anpassen, um die Lesbarkeit und Benutzerfreundlichkeit für Sprachen mit unterschiedlicher Leserichtung zu verbessern.
- Eine bessere Barrierefreiheit bieten, da unterstützende Technologien auf diese Attribute angewiesen sind, um optimal zu funktionieren.
(Optional) Schritt 10: Erstellen einer lokalisierten Link-Komponente
Durch die Anwendung dieser Änderungen wird Ihre Anwendung:
- Sicherstellen, dass das Sprach-Attribut (lang) die aktuelle Locale korrekt widerspiegelt, was wichtig für SEO und das Verhalten des Browsers ist.
- Die Schreibrichtung (dir) entsprechend der Locale anpassen, um die Lesbarkeit und Benutzerfreundlichkeit für Sprachen mit unterschiedlichen Leserichtungen zu verbessern.
- Eine zugänglichere Benutzererfahrung bieten, da unterstützende Technologien auf diese Attribute angewiesen sind, um optimal zu funktionieren.
(Optional) Schritt 10: Erstellen einer lokalisierten Link-Komponente
Um sicherzustellen, dass die Navigation Ihrer Anwendung die aktuelle Sprache berücksichtigt, können Sie eine benutzerdefinierte Link-Komponente erstellen. Diese Komponente fügt automatisch den aktuellen Sprachpräfix zu internen URLs hinzu. Zum Beispiel wird ein französischsprachiger Benutzer, der auf einen Link zur "Über uns"-Seite klickt, zu /fr/about statt zu /about weitergeleitet.
Dieses Verhalten ist aus mehreren Gründen nützlich:
- SEO und Benutzererfahrung: Lokalisierte URLs helfen Suchmaschinen, sprachspezifische Seiten korrekt zu indexieren, und bieten den Nutzern Inhalte in ihrer bevorzugten Sprache.
- Konsistenz: Durch die Verwendung eines lokalisierten Links in Ihrer gesamten Anwendung stellen Sie sicher, dass die Navigation innerhalb der aktuellen Sprache bleibt und unerwartete Sprachwechsel vermieden werden.
- Wartbarkeit: Die Zentralisierung der Lokalisierungslogik in einer einzigen Komponente vereinfacht die Verwaltung der URLs und macht Ihren Code leichter wartbar und erweiterbar, wenn Ihre Anwendung wächst.
Nachfolgend finden Sie die Implementierung einer lokalisierten Link-Komponente in TypeScript:
Kopieren Sie den Code in die Zwischenablage
import { getLocalizedUrl } from "intlayer";import { forwardRef, type DetailedHTMLProps, type AnchorHTMLAttributes,} from "react";import { useLocale } from "react-intlayer";export interface LinkProps extends DetailedHTMLProps< AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement > {}/** * Hilfsfunktion, um zu prüfen, ob eine gegebene URL extern ist. * Wenn die URL mit http:// oder https:// beginnt, wird sie als extern betrachtet. */export const checkIsExternalLink = (href?: string): boolean => /^https?:\/\//.test(href ?? "");/** * Eine benutzerdefinierte Link-Komponente, die das href-Attribut basierend auf der aktuellen Locale anpasst. * Für interne Links verwendet sie `getLocalizedUrl`, um die URL mit der Locale zu versehen (z.B. /fr/about). * Dies stellt sicher, dass die Navigation im gleichen Locale-Kontext bleibt. */export const Link = forwardRef<HTMLAnchorElement, LinkProps>( ({ href, children, ...props }, ref) => { const { locale } = useLocale(); const isExternalLink = checkIsExternalLink(href); // Wenn der Link intern ist und ein gültiges href vorhanden ist, wird die lokalisierte URL verwendet. const hrefI18n = href && !isExternalLink ? getLocalizedUrl(href, locale) : href; return ( <a href={hrefI18n} ref={ref} {...props}> {children} </a> ); });Link.displayName = "Link";
Funktionsweise
Erkennung externer Links:
Die Hilfsfunktion checkIsExternalLink bestimmt, ob eine URL extern ist. Externe Links bleiben unverändert, da sie nicht lokalisiert werden müssen.Abrufen der aktuellen Locale:
Der Hook useLocale liefert die aktuelle Locale (z. B. fr für Französisch).Lokalisierung der URL:
Für interne Links (d. h. nicht extern) wird getLocalizedUrl verwendet, um die URL automatisch mit der aktuellen Locale zu versehen. Das bedeutet, wenn Ihr Benutzer Französisch eingestellt hat, wird aus /about als href automatisch /fr/about.Rückgabe des Links:
Die Komponente gibt ein <a>-Element mit der lokalisierten URL zurück, wodurch sichergestellt wird, dass die Navigation konsistent mit der Spracheinstellung erfolgt.
Indem Sie diese Link-Komponente in Ihrer gesamten Anwendung integrieren, gewährleisten Sie eine kohärente und sprachbewusste Benutzererfahrung und profitieren gleichzeitig von verbesserter SEO und Benutzerfreundlichkeit.
TypeScript konfigurieren
Intlayer verwendet Module Augmentation, um die Vorteile von TypeScript zu nutzen und Ihren Codebasis robuster zu machen.
Stellen Sie sicher, dass Ihre TypeScript-Konfiguration die automatisch generierten Typen einschließt.
Kopieren Sie den Code in die Zwischenablage
{ // ... Ihre bestehenden TypeScript-Konfigurationen "include": [ // ... Ihre bestehenden TypeScript-Konfigurationen ".intlayer/**/*.ts", // Einschluss der automatisch generierten Typen ],}
Git-Konfiguration
Es wird empfohlen, die von Intlayer generierten Dateien zu ignorieren. Dadurch vermeiden Sie, diese versehentlich in Ihr Git-Repository zu committen.
Fügen Sie dazu folgende Anweisungen in Ihre .gitignore-Datei ein:
Kopieren Sie den Code in die Zwischenablage
# Ignoriere die von Intlayer generierten Dateien.intlayer
VS Code Erweiterung
Um Ihre Entwicklungserfahrung mit Intlayer zu verbessern, können Sie die offizielle Intlayer VS Code Erweiterung installieren.
Installation aus dem VS Code Marketplace
Diese Erweiterung bietet:
- Autovervollständigung für Übersetzungsschlüssel.
- Echtzeit-Fehlererkennung für fehlende Übersetzungen.
- Inline-Vorschauen des übersetzten Inhalts.
- Schnellaktionen, um Übersetzungen einfach zu erstellen und zu aktualisieren.
Für weitere Details zur Nutzung der Erweiterung siehe die Intlayer VS Code Extension Dokumentation.
Weiterführende Schritte
Um weiterzugehen, können Sie den visuellen Editor implementieren oder Ihre Inhalte mit dem CMS auslagern.
Dokumentationshistorie
- 5.5.10 - 2025-06-29: Historie initialisiert