docmd bietet Mehrsprachenunterstützung (i18n), indem Inhalte in dedizierten Locale-Unterverzeichnissen organisiert werden. Sie können lokalisierte Inhalte verwalten, nahtlos auf Standardsprachen zurückgreifen und lokalisierte Navigations-Sidebars bereitstellen.
Verzeichnisstruktur
Jede Locale lebt in einem eigenen Unterverzeichnis innerhalb des Quellverzeichnisses (src). Ordnernamen entsprechen der in Ihrer Konfiguration definierten Locale-id:
docs/
├── en/ ← Standard-Locale-Inhalte
│ ├── index.md
│ ├── navigation.json
│ └── getting-started/
│ └── installation.md
├── hi/ ← zweite Locale (Hindi)
│ ├── index.md ← übersetzte Startseite
│ ├── navigation.json ← übersetzte Navigationsbeschriftungen
│ └── getting-started/
│ └── installation.md ← übersetzte Installationsanleitung
└── zh/ ← dritte Locale (Chinesisch)
└── index.md ← übersetzte Startseite
Wenn i18n aktiviert ist, liegen alle Markdown-Quellinhalte innerhalb von Locale-Verzeichnissen. Auf der Stamm-Ebene befinden sich keine Inhaltsdateien.
Unterverzeichnisnamen entsprechen direkt den id-Werten in Ihrer Konfiguration. Wenn Ihre Konfiguration { "id": "fr-ca" } definiert, lautet das entsprechende Inhaltsverzeichnis docs/fr-ca/.
Dateiweise Fallback-Auflösung
docmd erfordert nicht, jedes Dokument im Voraus zu übersetzen. Die Engine behandelt das Standard-Locale-Verzeichnis als kanonischen Inhaltsbaum. Wenn eine angeforderte Seite in einer sekundären Locale fehlt:
- Wenn
docs/hi/getting-started/installation.mdexistiert → wird die Hindi-Übersetzung ausgeliefert. - Wenn
docs/hi/getting-started/installation.mdfehlt → wird aufdocs/en/getting-started/installation.mdzurückgegriffen.
Beim Fallback auf die Standard-Locale zeigt docmd Lesern ein informatives Callout-Banner an. Passen Sie diese Nachricht über Ihre UI-Strings-Konfiguration an.
Locale-exklusive Seiten
Sekundäre Locales können einzigartige Dokumente hosten, die im Standard-Locale-Verzeichnis nicht existieren. Diese Seiten werden ausschließlich innerhalb ihrer jeweiligen Sprachrouten gerendert.
Lokalisieren der Sidebar-Navigation
Jedes Locale-Verzeichnis kann ein unabhängiges navigation.json-Manifest enthalten. docmd verwendet ein Kaskadierungs-Prioritätsauflösungssystem für Sidebars. Lesen Sie die Navigationskonfiguration für vollständige Hierarchiedetails.
[
{
"title": "शुरू करें",
"children": [
{ "title": "इंस्टालेशन", "path": "/getting-started/installation" },
{ "title": "स्थानीयकरण", "path": "/configuration/localisation" }
]
}
]
Stellen Sie eine navigation.json-Datei innerhalb eines Locale-Verzeichnisses nur dann bereit, wenn Sie Menübeschriftungen übersetzen. Wenn sie weggelassen wird, wird der Navigationsbaum der Standard-Locale automatisch angewendet.
Kombination von Versionierung mit Lokalisierung
Bei der Kombination von Versionierung und mehrsprachigem Routing organisieren Sie Verzeichnisse hierarchisch mit in Versionsordnern verschachtelten Locales:
docs/ ← aktuelle Version
en/ ← Standard-Locale
hi/ ← übersetzte Locale
docs-v1/ ← alte Version
en/ ← Standard-Locale
hi/ ← übersetzte Locale
Die Ausgabe-URL-Hierarchie priorisiert Locale-Präfixe, gefolgt von Versionsrouten:
/ ← Standard-Locale, aktuelle Version
/hi/ ← übersetzte Locale, aktuelle Version
/v1/ ← Standard-Locale, alte Version
/hi/v1/ ← übersetzte Locale, alte Version