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 ansehenVersionshistorie
- Füge validatePrefix hinzu und ergänze Schritt 14: 404-Seiten mit lokalisierten Routen behandeln.v7.4.011.12.2025
- Füge Schritt 13 hinzu: Zugriff auf die aktuelle Locale in Serveraktionen (Optional)v7.3.95.12.2025
- Hinzugefügt für Tanstack Startv5.8.19.9.2025
Der 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
Übersetzen Sie Ihre Tanstack Start mit Intlayer | Internationalisierung (i18n)
Inhaltsverzeichnis
Diese Anleitung zeigt, wie Sie Intlayer für nahtlose Internationalisierung in Tanstack Start-Projekten mit lokalisierungsbewusstem Routing, TypeScript-Unterstützung und modernen Entwicklungsmethoden integrieren.
Was ist Intlayer?
Intlayer ist eine innovative, Open-Source-Internationalisierungsbibliothek (i18n), die entwickelt wurde, um die mehrsprachige Unterstützung in modernen Webanwendungen zu vereinfachen.
Mit Intlayer können Sie:
- Übersetzungen einfach verwalten mithilfe deklarativer Wörterbücher auf Komponentenebene.
- Metadaten, Routen und Inhalte dynamisch lokalisieren.
- TypeScript-Unterstützung sicherstellen mit automatisch generierten Typen, die die Autovervollständigung und Fehlererkennung verbessern.
- Von erweiterten Funktionen profitieren, wie dynamische Lokalerkennung und -umschaltung.
- Lokalisierungsbewusstes Routing aktivieren mit dem dateibasierten Routing-System von Tanstack Start.
Schritt-für-Schritt-Anleitung zur Einrichtung von Intlayer in einer Tanstack Start-Anwendung
Siehe Anwendungsvorlage auf GitHub.
Schritt 1: Projekt erstellen
Beginnen Sie mit der Erstellung eines neuen TanStack Start-Projekts, indem Sie der Anleitung Neues Projekt starten auf der TanStack Start-Website folgen.
Schritt 2: Intlayer-Pakete installieren
Installieren Sie die erforderlichen Pakete mit Ihrem bevorzugten Paketmanager:
npm install intlayer react-intlayernpm install vite-intlayer --save-devintlayer
intlayer
Das Kernpaket, das Internationalisierungswerkzeuge für Konfigurationsmanagement, Übersetzung, Inhaltsdeklaration, Transpilation und CLI-Befehle bereitstellt.
react-intlayer
Das Paket, das Intlayer in React-Anwendungen integriert. Es stellt Kontextanbieter 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 3: Konfiguration Ihres Projekts
Erstellen Sie eine Konfigurationsdatei, um die Sprachen Ihrer Anwendung zu konfigurieren:
Kopieren Sie den Code in die Zwischenablage
import type { IntlayerConfig } from "intlayer";import { Locales } from "intlayer";const config: IntlayerConfig = { internationalization: { defaultLocale: Locales.ENGLISH, locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH], },};export default config;Über diese Konfigurationsdatei können Sie lokalisierte URLs, Middleware-Weiterleitungen, Cookie-Namen, den Speicherort und die Erweiterung Ihrer Inhaltsdeklarationen einrichten, Intlayer-Logs in der Konsole deaktivieren und mehr. Für eine vollständige Liste der verfügbaren Parameter verweisen wir auf die Konfigurationsdokumentation.
Schritt 4: 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 { tanstackStart } from "@tanstack/react-start/plugin/vite";import viteReact from "@vitejs/plugin-react";import { nitro } from "nitro/vite";import { defineConfig } from "vite";import { intlayer } from "vite-intlayer";import viteTsConfigPaths from "vite-tsconfig-paths";const config = defineConfig({ plugins: [ nitro(), viteTsConfigPaths({ projects: ["./tsconfig.json"], }), tanstackStart(), viteReact(), intlayer(), // To add ],});export default config;Das intlayer() Vite-Plugin wird verwendet, um Intlayer mit Vite zu integrieren. Es sorgt für den Aufbau der Content-Deklarationsdateien und überwacht diese im Entwicklungsmodus. Es definiert Intlayer-Umgebungsvariablen innerhalb der Vite-Anwendung. Zusätzlich stellt es Aliase bereit, um die Leistung zu optimieren.
Schritt 5: Erstellen Sie Layout-Komponenten
Richten Sie Ihr Root-Layout und sprachspezifische Layouts ein:
Root-Layout
Kopieren Sie den Code in die Zwischenablage
import { createFileRoute, Outlet } from "@tanstack/react-router";import { IntlayerProvider, useLocale } from "react-intlayer";import { useI18nHTMLAttributes } from "@/hooks/useI18nHTMLAttributes";export const Route = createFileRoute("/{-$locale}")({ component: LayoutComponent,});function LayoutComponent() { const { defaultLocale } = useLocale(); const { locale } = Route.useParams(); return ( <IntlayerProvider locale={locale ?? defaultLocale}> <Outlet /> </IntlayerProvider> );}Schritt 6: Deklarieren Sie Ihre Inhalte
Erstellen und verwalten Sie Ihre Inhaltsdeklarationen, um Übersetzungen zu speichern:
Kopieren Sie den Code in die Zwischenablage
import type { Dictionary } from "intlayer";import { t } from "intlayer";const appContent = { content: { links: { about: t({ de: "Über", en: "About", es: "Acerca de", fr: "À propos", }), home: t({ de: "Startseite", en: "Home", es: "Inicio", fr: "Accueil", }), }, meta: { description: t({ de: "Dies ist ein Beispiel für die Verwendung von Intlayer mit TanStack Router", en: "This is an example of using Intlayer with TanStack Router", es: "Este es un ejemplo de uso de Intlayer con TanStack Router", fr: "Ceci est un exemple d'utilisation d'Intlayer avec TanStack Router", }), }, title: t({ de: "Willkommen bei Intlayer + TanStack Router", en: "Welcome to Intlayer + TanStack Router", es: "Bienvenido a Intlayer + TanStack Router", fr: "Bienvenue à Intlayer + TanStack Router", }), }, key: "app",} satisfies Dictionary;export default appContent;Ihre Inhaltsdeklarationen können überall in Ihrer Anwendung definiert werden, sobald sie in das contentDir-Verzeichnis (standardmäßig ./app) aufgenommen werden. Und sie müssen der Dateierweiterung der Inhaltsdeklaration entsprechen (standardmäßig .content.{json,ts,tsx,js,jsx,mjs,mjx,cjs,cjx}).
Für weitere Details siehe die Dokumentation zur Inhaltsdeklaration.
Schritt 7: Erstellen Sie lokalisierungsbewusste Komponenten und Hooks
Erstellen Sie eine LocalizedLink-Komponente für lokalisierungsbewusste Navigation:
Kopieren Sie den Code in die Zwischenablage
import type { FC } from "react";import { Link, type LinkComponentProps } from "@tanstack/react-router";import { useLocale } from "react-intlayer";import { getPrefix } from "intlayer";export const LOCALE_ROUTE = "{-$locale}" as const;// Hauptfunktionexport type RemoveLocaleParam<T> = T extends string ? RemoveLocaleFromString<T> : T;export type To = RemoveLocaleParam<LinkComponentProps["to"]>;type CollapseDoubleSlashes<S extends string> = S extends `${infer H}//${infer T}` ? CollapseDoubleSlashes<`${H}/${T}`> : S;type LocalizedLinkProps = { to?: To;} & Omit<LinkComponentProps, "to">;// Hilfsfunktionentype RemoveAll< S extends string, Sub extends string,> = S extends `${infer H}${Sub}${infer T}` ? RemoveAll<`${H}${T}`, Sub> : S;type RemoveLocaleFromString<S extends string> = CollapseDoubleSlashes< RemoveAll<S, typeof LOCALE_ROUTE>>;export const LocalizedLink: FC<LocalizedLinkProps> = (props) => { const { locale } = useLocale(); const { localePrefix } = getPrefix(locale); return ( <Link {...props} params={{ locale: localePrefix, ...(typeof props?.params === "object" ? props?.params : {}), }} to={`/${LOCALE_ROUTE}${props.to}` as LinkComponentProps["to"]} /> );};Diese Komponente verfolgt zwei Ziele:
- Entfernen des unnötigen {-$locale}-Präfixes aus der URL.
- Einfügen des Locale-Parameters in die URL, um sicherzustellen, dass der Benutzer direkt zur lokalisierten Route weitergeleitet wird.
Anschließend können wir einen useLocalizedNavigate-Hook für die programmatische Navigation erstellen:
Kopieren Sie den Code in die Zwischenablage
import { useNavigate } from "@tanstack/react-router";import { getPrefix } from "intlayer";import { useLocale } from "react-intlayer";import { LOCALE_ROUTE } from "@/components/localized-link";import type { FileRouteTypes } from "@/routeTree.gen";type StripLocalePrefix<T extends string> = T extends | `/${typeof LOCALE_ROUTE}` | `/${typeof LOCALE_ROUTE}/` ? "/" : T extends `/${typeof LOCALE_ROUTE}/${infer Rest}` ? `/${Rest}` : never;type LocalizedTo = StripLocalePrefix<FileRouteTypes["to"]>;type LocalizedNavigate = { (to: LocalizedTo): ReturnType<ReturnType<typeof useNavigate>>; ( opts: { to: LocalizedTo } & Record<string, unknown> ): ReturnType<ReturnType<typeof useNavigate>>;};export const useLocalizedNavigate = () => { const navigate = useNavigate(); const { locale } = useLocale(); const localizedNavigate: LocalizedNavigate = (args: any) => { const { localePrefix } = getPrefix(locale); if (typeof args === "string") { return navigate({ to: `/${LOCALE_ROUTE}${args}`, params: { locale: localePrefix }, }); } const { to, ...rest } = args; const localizedTo = `/${LOCALE_ROUTE}${to}` as any; return navigate({ to: localizedTo, params: { locale: localePrefix, ...rest } as any, }); }; return localizedNavigate;};Schritt 8: Intlayer in Ihren Seiten verwenden
Greifen Sie in Ihrer gesamten Anwendung auf Ihre Inhaltswörterbücher zu:
Lokalisierte Startseite
Kopieren Sie den Code in die Zwischenablage
import { createFileRoute } from "@tanstack/react-router";import { getIntlayer } from "intlayer";import { useIntlayer } from "react-intlayer";import LocaleSwitcher from "@/components/locale-switcher";import { LocalizedLink } from "@/components/localized-link";import { useLocalizedNavigate } from "@/hooks/useLocalizedNavigate";export const Route = createFileRoute("/{-$locale}/")({ component: RouteComponent, head: ({ params }) => { const { locale } = params; const metaContent = getIntlayer("app", locale); return { meta: [ { title: metaContent.title }, { content: metaContent.meta.description, name: "description" }, ], }; },});function RouteComponent() { const content = useIntlayer("app"); const navigate = useLocalizedNavigate(); return ( <div> <div> {content.title} <LocaleSwitcher /> <div> <LocalizedLink to="/">{content.links.home}</LocalizedLink> <LocalizedLink to="/about">{content.links.about}</LocalizedLink> </div> <div> <button onClick={() => navigate({ to: "/" })}> {content.links.home} </button> <button onClick={() => navigate({ to: "/about" })}> {content.links.about} </button> </div> </div> </div> );}Um mehr über den useIntlayer Hook zu erfahren, siehe die Dokumentation.
Schritt 9: Erstellen Sie eine Sprachumschalter-Komponente
Erstellen Sie eine Komponente, die es Benutzern ermöglicht, die Sprache zu wechseln:
Kopieren Sie den Code in die Zwischenablage
import type { FC } from "react";import { useLocation } from "@tanstack/react-router";import { getHTMLTextDir, getLocaleName, getPathWithoutLocale, getPrefix, Locales,} from "intlayer";import { useLocale } from "react-intlayer";import { LocalizedLink, To } from "./localized-link";export const LocaleSwitcher: FC = () => { const { pathname } = useLocation(); const { availableLocales, locale, setLocale } = useLocale(); const pathWithoutLocale = getPathWithoutLocale(pathname); return ( <ol> {availableLocales.map((localeEl) => ( <li key={localeEl}> <LocalizedLink aria-current={localeEl === locale ? "page" : undefined} onClick={() => setLocale(localeEl)} params={{ locale: getPrefix(localeEl).localePrefix }} > <span> {/* Gebietsschema - z.B. FR */} {localeEl} </span> <span> {/* Sprache in ihrem eigenen Gebietsschema - z.B. Français */} {getLocaleName(localeEl, locale)} </span> <span dir={getHTMLTextDir(localeEl)} lang={localeEl}> {/* Sprache im aktuellen Gebietsschema - z.B. Francés mit aktuellem Gebietsschema auf Locales.SPANISH gesetzt */} {getLocaleName(localeEl)} </span> <span dir="ltr" lang={Locales.ENGLISH}> {/* Sprache auf Englisch - z.B. French */} {getLocaleName(localeEl, Locales.ENGLISH)} </span> </LocalizedLink> </li> ))} </ol> );};Um mehr über den useLocale Hook zu erfahren, siehe die Dokumentation.
Schritt 10: HTML-Attribute-Verwaltung hinzufügen (Optional)
Erstelle einen Hook, um die HTML-Attribute lang und dir zu verwalten:
Kopieren Sie den Code in die Zwischenablage
// src/hooks/useI18nHTMLAttributes.tsximport { getHTMLTextDir } from "intlayer";import { useEffect } from "react";import { useLocale } from "react-intlayer";export const useI18nHTMLAttributes = () => { const { locale } = useLocale(); useEffect(() => { document.documentElement.lang = locale; document.documentElement.dir = getHTMLTextDir(locale); }, [locale]);};Dann verwende ihn in deiner Root-Komponente:
Kopieren Sie den Code in die Zwischenablage
import { createFileRoute, Outlet } from "@tanstack/react-router";import { IntlayerProvider, useLocale } from "react-intlayer";import { useI18nHTMLAttributes } from "@/hooks/useI18nHTMLAttributes"; // importiere den Hookexport const Route = createFileRoute("/{-$locale}")({ component: LayoutComponent,});function LayoutComponent() { useI18nHTMLAttributes(); // diese Zeile hinzufügen const { defaultLocale } = useLocale(); const { locale } = Route.useParams(); return ( <IntlayerProvider locale={locale ?? defaultLocale}> <Outlet /> </IntlayerProvider> );}Schritt 11: Middleware hinzufügen (Optional)
Sie können auch das intlayerProxy verwenden, um serverseitiges Routing zu Ihrer Anwendung hinzuzufügen. 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 am besten geeignete Locale basierend auf den Spracheinstellungen des Browsers des Benutzers. Wenn keine Locale erkannt wird, erfolgt eine Weiterleitung zur Standard-Locale.
Beachten Sie, dass Sie, um das intlayerProxy in der Produktion zu verwenden, das vite-intlayer-Paket von devDependencies zu dependencies wechseln müssen.
Kopieren Sie den Code in die Zwischenablage
import { reactRouter } from "@react-router/dev/vite";import tailwindcss from "@tailwindcss/vite";import { defineConfig } from "vite";import { intlayer, intlayerProxy } from "vite-intlayer";import tsconfigPaths from "vite-tsconfig-paths";export default defineConfig({ plugins: [ intlayerProxy(), // Der Proxy sollte vor dem Server platziert werden, wenn Sie Nitro verwenden tailwindcss(), reactRouter(), tsconfigPaths(), intlayer(), ],});Schritt 12: Metadaten internationalisieren (optional)
Sie können auch den getIntlayer Hook verwenden, um in Ihrer gesamten Anwendung auf Ihre Inhaltswörterbücher zuzugreifen:
Kopieren Sie den Code in die Zwischenablage
import { createFileRoute } from "@tanstack/react-router";import { getIntlayer } from "intlayer";export const Route = createFileRoute("/{-$locale}/")({ component: RouteComponent, head: ({ params }) => { const { locale } = params; const metaContent = getIntlayer("page-metadata", locale); return { meta: [ { title: metaContent.title }, { content: metaContent.description, name: "description" }, ], }; },});Schritt 13: Abrufen der Locale in Ihren Serveraktionen (Optional)
Möglicherweise möchten Sie von Ihren Serveraktionen oder API-Endpunkten aus auf die aktuelle Locale zugreifen. Sie können dies mit dem Helfer getLocale aus intlayer tun.
Hier ist ein Beispiel mit den Serverfunktionen von TanStack Start:
Kopieren Sie den Code in die Zwischenablage
import { createServerFn } from "@tanstack/react-start";import { getRequestHeader, getRequestHeaders,} from "@tanstack/react-start/server";import { getCookie, getIntlayer, getLocale } from "intlayer";export const getLocaleServer = createServerFn().handler(async () => { const locale = await getLocale({ // Holen Sie sich das Cookie aus der Anfrage (Standard: 'INTLAYER_LOCALE') getCookie: (name) => { const cookieString = getRequestHeader("cookie"); return getCookie(name, cookieString); }, // Holen Sie sich den Header aus der Anfrage (Standard: 'x-intlayer-locale') getHeader: (name) => getRequestHeader(name), // Fallback mit Accept-Language-Aushandlung getAllHeaders: async () => { const headers = getRequestHeaders(); const result: Record<string, string> = {}; // Konvertieren Sie die TypedHeaders in ein einfaches Record<string, string> for (const [key, value] of headers.entries()) { result[key] = value; } return result; }, }); // Rufen Sie Inhalte mit getIntlayer() ab const content = getIntlayer("app", locale); return { locale, content };});Schritt 14: Nicht gefundene Seiten verwalten (optional)
Wenn ein Benutzer eine nicht existierende Seite besucht, können Sie eine benutzerdefinierte Seite "Nicht gefunden" anzeigen, und das Locale-Präfix kann beeinflussen, wie die Seite "Nicht gefunden" ausgelöst wird.
Verstehen der 404-Behandlung von TanStack Router mit Locale-Präfixen
In TanStack Router erfordert die Behandlung von 404-Seiten mit lokalisierten Routen einen mehrschichtigen Ansatz:
- Dedizierte 404-Route: Eine spezifische Route zur Anzeige der 404-Benutzeroberfläche
- Validierung auf Routenebene: Validiert Locale-Präfixe und leitet ungültige zu 404 weiter
- Catch-all-Route: Erfasst alle nicht übereinstimmenden Pfade innerhalb des Locale-Segments
Kopieren Sie den Code in die Zwischenablage
import { createFileRoute } from "@tanstack/react-router";// Dies erstellt eine dedizierte /[locale]/404 Route// Sie wird sowohl als direkte Route verwendet als auch als Komponente in anderen Dateien importiertexport const Route = createFileRoute("/{-$locale}/404")({ component: NotFoundComponent,});// Separately exportiert, damit es in notFoundComponent und catch-all Routen wiederverwendet werden kannexport function NotFoundComponent() { return ( <div> <h1>404</h1> </div> );}Kopieren Sie den Code in die Zwischenablage
import { createFileRoute, Outlet, redirect } from "@tanstack/react-router";import { validatePrefix } from "intlayer";import { IntlayerProvider, useLocale } from "react-intlayer";import { LocaleSwitcher } from "@/components/locale-switcher";import { NotFoundComponent } from "./404";export const Route = createFileRoute("/{-$locale}")({ // beforeLoad läuft, bevor die Route gerendert wird (sowohl auf Server als auch Client) // Es ist der ideale Ort, um das Locale-Präfix zu validieren beforeLoad: ({ params }) => { // Locale aus Routenparametern abrufen (nicht aus Server-Headern, da beforeLoad sowohl auf Client als auch Server läuft) const localeParam = params.locale; // validatePrefix prüft, ob die Locale gemäß Ihrer intlayer-Konfiguration gültig ist // Gibt zurück: { isValid: boolean, localePrefix: string } // - isValid: true, wenn das Präfix mit einer konfigurierten Locale übereinstimmt (oder leer ist, wenn das Präfix optional ist) // - localePrefix: das validierte Präfix oder das Standard-Locale-Präfix für Umleitungen const { isValid, localePrefix } = validatePrefix(localeParam); if (isValid) { // Locale ist gültig, Route normal rendern lassen return; } // Ungültiges Locale-Präfix (z. B. /xyz/about, wobei "xyz" keine gültige Locale ist) // Zur 404-Seite mit einem gültigen Locale-Präfix umleiten // Dies stellt sicher, dass die 404-Seite weiterhin korrekt lokalisiert ist throw redirect({ to: "/{-$locale}/404", params: { locale: localePrefix }, }); }, component: RouteComponent, // notFoundComponent wird aufgerufen, wenn eine untergeordnete Route nicht existiert // z. B. löst /en/nicht-vorhandene-seite dies innerhalb des /en-Layouts aus notFoundComponent: NotFoundLayout,});function RouteComponent() { const { defaultLocale } = useLocale(); const { locale } = Route.useParams(); return ( // Den gesamten Locale-Segment mit IntlayerProvider umschließen // Fällt auf defaultLocale zurück, wenn der locale-Parameter undefined ist (optionaler Präfix-Modus) <IntlayerProvider locale={locale ?? defaultLocale}> <Outlet /> </IntlayerProvider> );}// NotFoundLayout umschließt die 404-Komponente mit IntlayerProvider// Dies stellt sicher, dass Übersetzungen auf der 404-Seite weiterhin funktionierenfunction NotFoundLayout() { const { defaultLocale } = useLocale(); const { locale } = Route.useParams(); return ( <IntlayerProvider locale={locale ?? defaultLocale}> <NotFoundComponent /> {/* LocaleSwitcher einbinden, damit Benutzer die Sprache auch auf 404 ändern können */} <LocaleSwitcher /> </IntlayerProvider> );}Kopieren Sie den Code in die Zwischenablage
import { createFileRoute } from "@tanstack/react-router";import { NotFoundComponent } from "./404";// Die $ (splat/catch-all) Route passt auf jeden Pfad, der nicht mit anderen Routen übereinstimmt// z. B. /en/irgendein/tief/verschachtelter/ungültiger/pfad// Dies stellt sicher, dass ALLE nicht übereinstimmenden Pfade innerhalb einer Locale die 404-Seite anzeigen// Ohne dies könnten nicht übereinstimmende tiefe Pfade eine leere Seite oder einen Fehler anzeigenexport const Route = createFileRoute("/{-$locale}/$")({ component: NotFoundComponent,});Schritt 15: TypeScript konfigurieren (optional)
Intlayer verwendet Module Augmentation, um die Vorteile von TypeScript zu nutzen und Ihren Code 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 Konfigurationen include: [ // ... Ihre bestehenden Includes ".intlayer/**/*.ts", // Einschließen der automatisch generierten Typen ],}Git-Konfiguration
Es wird empfohlen, die von Intlayer generierten Dateien zu ignorieren. So vermeiden Sie, diese versehentlich in Ihr Git-Repository zu committen.
Um dies zu tun, können Sie die folgenden Anweisungen zu Ihrer .gitignore-Datei hinzufügen:
Kopieren Sie den Code in die Zwischenablage
# Ignoriere die von Intlayer generierten Dateien.intlayerVS 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 Verwendung 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.
Dokumentationsverweise
- Intlayer Dokumentation
- Tanstack Start Dokumentation
- useIntlayer Hook
- useLocale Hook
- Inhaltsdeklaration
- Konfiguration
Dieser umfassende Leitfaden bietet alles, was Sie benötigen, um Intlayer mit Tanstack Start für eine vollständig internationalisierte Anwendung mit lokalisierungsbewusstem Routing und TypeScript-Unterstützung zu integrieren.