i18n zu einer Website oder Dokumentationsseite hinzufügen
Diese Seite ist für eine Dokumentationswebsite (Markdown oder MDX) oder eine Marketing- oder statische Website (eine Astro-Website oder reines HTML) in einer Sprache. Das Tool übersetzt Ihre Seiteninhalte mit den Modellen Ihres LLM-Anbieters und schreibt eine lokalisierte Kopie pro Sprache. Ihr Site-Framework liefert diese Kopien aus und stellt die Sprachauswahl bereit.
Für eine App, deren UI-Strings in t()-Aufrufen liegen, verwenden Sie stattdessen i18n zu einer JS/TS-App hinzufügen oder i18n zu einer Python-App hinzufügen.
Was haben Sie?
| Ihre Website | Init-Vorlage | Hier starten |
|---|---|---|
| Astro Starlight oder reines Astro | ui-starlight / hybride UI-Strings | Astro |
| Docusaurus | ui-docusaurus | Docusaurus |
| VitePress | ui-vitepress | VitePress |
| Nextra 4 (Next.js App Router) | ui-nextra | Nextra |
| Fumadocs 4 (Next.js App Router) | ui-fumadocs | Fumadocs |
| Reine HTML-Seiten | ui-plain-html oder docs-plain-html | Reine HTML-Apps |
| Kein Site-Framework, nur eine README-Datei und Markdown-Dateien | docs-markdown oder eine beliebige Vorlage plus --with-readme | i18n zu Ihren README- und Markdown-Dokumenten hinzufügen |
Agent-Prompts
- Astro Starlight: nur Hinweise. Astro
t()-Dateien: JS/TS-Prompt (i18next überspringen). - Docusaurus: nur Hinweise (
<Translate>ist die eigene API von Docusaurus). - VitePress: Theme-Katalog-Prompt.
- Nextra: Wörterbuch-Prompt und hybrider
t()-Prompt. - Fumadocs: UI-Katalog-Prompt.
- README- und Markdown-Dateien: README-Prompt.
Schritte
Die gleiche Struktur funktioniert für jedes Framework; die Details finden Sie im oben verlinkten Framework-Leitfaden.
- Installieren Sie die CLI und legen Sie den API-Schlüssel fest: Installation, Anbieter und API-Schlüssel.
- Gerüst erstellen:
ai-i18n-tools init -t <template> -P <provider>. - Legen Sie
sourceLocale,targetLocalesunddocs[].contentPathsfest (die Seiten und Ordner, die in Ihrer Ausgangssprache geschrieben sind).sourceLocalekann jede Sprache sein. Der Framework-Leitfaden zeigt das richtigedocsOutput.style. - Aktivieren Sie die eigene i18n-Funktion Ihres Frameworks, damit es die lokalisierten Seiten bereitstellt und verlinkt. Jeder Leitfaden enthält einen Abschnitt „i18n auf einer bestehenden Site aktivieren“: VitePress, Docusaurus, Nextra, Fumadocs, Astro.
- Führen Sie
ai-i18n-tools sync(odertranslate-docs) aus und erstellen Sie dann die Site. - Überprüfen Sie eine lokalisierte Route im Browser. Das eigene Locale-Dropdown des Frameworks ist der Umschalter. Fügen Sie für eine einfache Markdown-Datei wie eine README-Datei eine Linkzeile mit languageListBlock hinzu.
Was wird übersetzt
Seiteninhalte durchlaufen immer die Dokumente-Pipeline. Framework-Chrome (Navigation, Seitenleiste, Theme-Labels) wird im selben Durchlauf behandelt, sofern das Framework dies unterstützt, und nicht über die separate JSON-Pipeline.
| Framework | Shell- und Theme-Strings | Wie |
|---|---|---|
| Docusaurus | write-translations-Katalog ({ message, description }) | docs[].docusaurusCatalogDir plus translate-docs |
| VitePress | Theme-, Navigations- und Seitenleisten-Katalog | docsOutput.vitepressThemeCatalog plus translate-docs |
| Nextra | _meta.ts-Seitenleisten-Labels | Automatisch mit style: "nextra" |
| Nextra | Theme-Wörterbuch .ts | docs[].nextraDictionaryPath |
| Fumadocs | meta.json-Seitenleisten-Labels | Automatisch mit style: "fumadocs" |
| Fumadocs | Katalog für UI-Überschreibungen | docsOutput.fumadocsUiCatalog |
| Astro Starlight | Integrierte UI-Strings in vielen Sprachen | Nur Seiten |
Bilder und Screenshots werden nicht von translate-docs übersetzt. Für sprachspezifische Dateien siehe Bilder und Screenshots.
Reines HTML
Zwei Optionen, je nachdem, wie sich die Seite verhalten soll:
- Eine Seite, die die Sprache im Browser umschaltet: den Text mit
data-i18n*-Attributen markieren und die UI-Strings-Laufzeit (ui-plain-html) verwenden. Siehe Reine HTML-Apps. - Eine übersetzte HTML-Datei pro Sprache: die Dokumente-Pipeline (
docs-plain-html) verwenden. Siehe HTML-Seiten.
Eine Datei gehört zu einem Pfad.
Nicht Ihr Fall?
- App-UI-Strings: i18n zu einer JS/TS-App hinzufügen oder i18n zu einer Python-App hinzufügen.
- Ein Repository-README neben der Website oder Markdown-Dateien ohne Site-Framework: i18n zu Ihrem README und Ihren Markdown-Dokumenten hinzufügen.
init … --with-readmefügt diesen Block neben einer Site-Vorlage hinzu. - Eigenständiges verschachteltes Locale-JSON: JSON.
- Übersetzung von Site- und App-Strings: Pipelines kombinieren.
Referenz für die gemeinsamen Optionen und frameworkspezifische Unterschiede: Integrationen.