Übersetzte Inhalte & i18n-Routing
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