Skip to content

Commit 7df50de

Browse files
committed
docs(de): v08 full parity — JSON-first config, search page, navigation updates
- Migrate all docmd.config.js examples to docmd.config.json across de/ locale - Remove export default {} patterns; add defineConfig() where appropriate - Add/update de/ search plugin docs with FAQ layout matching en/ version - Update de/navigation.json to reflect new section structure - Add de/ deployment guides: github-pages, vercel, netlify, cloudflare, firebase - Add de/ engines/: js.md, rust.md, overview.md - Add de/ guides/search/semantic-search.md - Add de/ workspace-monorepo.md, workspaces.md config - Add de/ release-notes/0-8-1 through 0-8-4 - Update en/ and zh/ navigation.json and search plugin docs - Add en/zh guides/search/semantic-search.md
1 parent 9e40c6b commit 7df50de

54 files changed

Lines changed: 2196 additions & 1014 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docmd-main/v08/de/configuration/localisation/index.md

Lines changed: 37 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,14 @@ Fügen Sie Ihrer Dokumentationsseite Mehrsprachigkeitsunterstützung hinzu. docm
77

88
## Sprachen zur Konfiguration hinzufügen
99

10-
```js
11-
// docmd.config.js
12-
export default {
13-
i18n: {
14-
default: 'en',
15-
locales: [
16-
{ id: 'en', label: 'English' },
17-
{ id: 'hi', label: 'हिन्दी' },
18-
{ id: 'zh', label: '中文' }
10+
```json
11+
{
12+
"i18n": {
13+
"default": "en",
14+
"locales": [
15+
{ "id": "en", "label": "English" },
16+
{ "id": "hi", "label": "हिन्दी" },
17+
{ "id": "zh", "label": "中文" }
1918
]
2019
}
2120
}
@@ -24,25 +23,25 @@ export default {
2423
Die Standardsprache (`default`) wird im Stammverzeichnis der Website (`/`) gerendert. Alle anderen Sprachen werden unter `/{id}/` gerendert. Sie wählen die IDs, Labels und welche Sprache die Standardsprache ist - es gibt keine fest programmierten Annahmen. Wenn Sie Hindi als Standardsprache möchten, setzen Sie `default: 'hi'`, und Hindi wird unter `/` gerendert, während Englisch unter `/en/` erscheint.
2524

2625
| Schlüssel | Typ | Beschreibung |
27-
|:----|:-----|:------------|
28-
| `default` | `string` | Sprach-ID, die unter `/` gerendert wird. Standardmäßig die erste Sprache, wenn weggelassen. |
29-
| `locales` | `array` | Liste von Sprachobjekten. Jedes muss eine `id` haben. |
30-
| `position` | `string` | Position des Sprachumschalters. `options-menu` (Standard), `sidebar-top` oder `sidebar-bottom`. |
31-
| `stringMode` | `boolean` | Wenn `true`, werden Sprachseiten aus einer einzigen Quelle mittels `data-i18n`-Attribut-Ersetzung generiert. Standard: `false`. |
32-
| `inPlace` | `boolean` | Wenn `true` (mit clientseitigem Skript), werden Strings ohne URL-Navigation getauscht. Nur für SPAs/Dashboards. Standard: `false`. |
26+
| :--- | :--- | :--- |
27+
| `default` | `String` | Sprach-ID, die unter `/` gerendert wird. Standardmäßig die erste Sprache, wenn weggelassen. |
28+
| `locales` | `Array` | Liste von Sprachobjekten. Jedes muss eine `id` haben. |
29+
| `position` | `String` | Position des Sprachumschalters. `options-menu` (Standard), `sidebar-top` oder `sidebar-bottom`. |
30+
| `stringMode` | `Boolean` | Wenn `true`, werden Sprachseiten aus einer einzigen Quelle mittels `data-i18n`-Attribut-Ersetzung generiert. Standard: `false`. |
31+
| `inPlace` | `Boolean` | Wenn `true` (mit clientseitigem Skript), werden Strings ohne URL-Navigation getauscht. Nur für SPAs/Dashboards. Standard: `false`. |
3332

3433
Jedes Sprachobjekt akzeptiert:
3534

3635
| Schlüssel | Typ | Standard | Beschreibung |
37-
|:----|:-----|:--------|:------------|
38-
| `id` | `string` | - | Ein beliebiger Identifikator Ihrer Wahl (z. B. `en`, `hi`, `fr-ca`). Wird als Ordnername und URL-Präfix verwendet. Erforderlich. |
39-
| `label` | `string` | Gleich wie `id` | Im Sprachumschalter angezeigter Name. |
40-
| `dir` | `string` | `ltr` | Textrichtung. Setzen Sie `rtl` für Arabisch, Hebräisch usw. |
41-
| `translations` | `object` | `{}` | Benutzerdefinierte Überschreibungen für UI-Strings (siehe [Benutzerdefinierte UI-Strings](./ui-strings)). |
36+
| :--- | :--- | :--- | :--- |
37+
| `id` | `String` | - | Ein beliebiger Identifikator Ihrer Wahl (z. B. `en`, `hi`, `fr-ca`). Wird als Ordnername und URL-Präfix verwendet. Erforderlich. |
38+
| `label` | `String` | Gleich wie `id` | Im Sprachumschalter angezeigter Name. |
39+
| `dir` | `String` | `ltr` | Textrichtung. Setzen Sie `rtl` für Arabisch, Hebräisch usw. |
40+
| `translations` | `Object` | `{}` | Benutzerdefinierte Überschreibungen für UI-Strings (siehe [Benutzerdefinierte UI-Strings](ui-strings.md)). |
4241

4342
## URL-Struktur
4443

45-
Die Standardsprache hat kein URL-Präfix. Andere Sprachen werden unter `/{id}/` verschachtelt. In Kombination mit [Versionierung](../versioning) lautet die URL `/{locale}/{version}/seite`.
44+
Die Standardsprache hat kein URL-Präfix. Andere Sprachen werden unter `/{id}/` verschachtelt. In Kombination mit [Versionierung](../versioning.md) lautet die URL `/{locale}/{version}/seite`.
4645

4746
```
4847
/ ← Standardsprache, aktuelle Version
@@ -67,15 +66,16 @@ Dies verhindert 404-Fehler, wenn Sie geplante Sprachen auflisten, bevor deren In
6766

6867
Steuern Sie die Position des Sprachumschalters mit der Option `position`:
6968

70-
```js
71-
i18n: {
72-
position: 'options-menu', // Standard
73-
// ...
69+
```json
70+
{
71+
"i18n": {
72+
"position": "options-menu"
73+
}
7474
}
7575
```
7676

7777
| Position | Verhalten |
78-
|:---------|:----------|
78+
| :--- | :--- |
7979
| `options-menu` | Kompaktes Erdkugel-Icon neben Theme-Umschalter und Suche. Standard. |
8080
| `sidebar-top` | Vollständiges Dropdown mit Label oben in der Seitenleiste. |
8181
| `sidebar-bottom` | Vollständiges Dropdown mit Label unten in der Seitenleiste. |
@@ -84,15 +84,14 @@ i18n: {
8484

8585
Standard-i18n verwendet separate Verzeichnisse pro Sprache (`docs/en/`, `docs/hi/`), jedes mit eigenen Markdown-Dateien. **String Mode** ist eine einfachere Alternative, die speziell für [noStyle-Seiten](../../content/no-style-pages.md) entwickelt wurde - Seiten, die reines HTML anstelle von Markdown verwenden.
8686

87-
```js
88-
// docmd.config.js
89-
export default {
90-
i18n: {
91-
default: 'en',
92-
stringMode: true,
93-
locales: [
94-
{ id: 'en', label: 'English' },
95-
{ id: 'zh', label: '中文' }
87+
```json
88+
{
89+
"i18n": {
90+
"default": "en",
91+
"stringMode": true,
92+
"locales": [
93+
{ "id": "en", "label": "English" },
94+
{ "id": "zh", "label": "中文" }
9695
]
9796
}
9897
}
@@ -108,7 +107,7 @@ Mit `stringMode: true`:
108107

109108
Weitere Details zur Syntax des `data-i18n`-Attributs und zum JSON-Dateiformat finden Sie unter [noStyle String-Ersetzung](../../content/no-style-pages.md#string-replacement-i18n-for-nostyle).
110109

111-
::: callout warning "String Mode übersetzt keine Markdown-Inhalte"
110+
::: callout warning "String Mode übersetzt keine Markdown-Inhalte" icon:info
112111
Die String-Ersetzung funktioniert durch das Finden von `data-i18n`-Attributen im gerenderten HTML. Standard-Markdown-Inhalte (`## Überschrift`, Absätze, Listen) werden in einfache HTML-Tags ohne diese Attribute umgewandelt - daher kann der Ersetzer dort nichts finden.
113112

114113
- **Dokumentationsseiten** → verwenden Sie den Verzeichnismodus (Standard). Jede Sprache hat eigene Markdown-Dateien mit vollständig übersetztem Text.
@@ -119,6 +118,6 @@ Wenn Ihre Website beides hat - zum Beispiel eine noStyle-Landingpage plus Dokume
119118

120119
## Nächste Schritte
121120

122-
- [Übersetzte Inhalte](./translated-content.md) - Verzeichnisstruktur, Schreiben von Übersetzungen, Navigation
123-
- [UI-Strings & SEO](./ui-strings.md) - Anpassen von Systemtexten, hreflang-Tags
121+
- [Übersetzte Inhalte](translated-content.md) - Verzeichnisstruktur, Schreiben von Übersetzungen, Navigation
122+
- [UI-Strings & SEO](ui-strings.md) - Anpassen von Systemtexten, hreflang-Tags
124123
- [noStyle String-Ersetzung](../../content/no-style-pages.md#string-replacement-i18n-for-nostyle) - Syntax des `data-i18n`-Attributs und JSON-Format für noStyle-Seiten
Lines changed: 54 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,69 @@
11
---
2-
title: "UI-Strings Lokalisierung"
3-
description: "Passen Sie die in der docmd-Benutzeroberfläche angezeigten Texte (Such-Platzhalter, Navigations-Labels usw.) durch Konfiguration benutzerdefinierter Übersetzungen an."
2+
title: "UI-Strings & SEO"
3+
description: "Passen Sie System-UI-Texte pro Sprache an und verstehen Sie automatische SEO-Tags für mehrsprachige Websites."
44
---
55

6-
Obwohl `docmd` über integrierte Übersetzungen für gängige Sprachen verfügt, möchten Sie möglicherweise UI-Texte für ein bestimmtes Projekt anpassen (z. B. "Search" in "In der Doku suchen" ändern).
6+
## Integrierter Sprachsupport
77

8-
## Globale Konfiguration
8+
`docmd` und seine offiziellen Plugins enthalten integrierte Übersetzungen für gängige Sprachen. Wenn Sie eine unterstützte Sprache konfigurieren, übersetzt die Engine Systemtexte wie Suchplatzhalter, Navigations-Labels und Theme-Umschalter automatisch.
99

10-
Sie können Übersetzungen für bestimmte Locales direkt in Ihrer `docmd.config.js` definieren.
10+
Für nicht unterstützte Sprachen oder benutzerdefinierte Formulierungen greift das System auf Englisch zurück. Sie können jeden String pro Sprache überschreiben.
1111

12-
```javascript
13-
import { defineConfig } from '@docmd/core';
12+
## Benutzerdefinierte UI-Strings
1413

15-
export default defineConfig({
16-
locales: {
17-
en: { title: 'English', label: 'English' },
18-
de: { title: 'German', label: 'Deutsch' }
19-
},
20-
plugins: {
21-
localisation: {
22-
translations: {
23-
de: {
24-
'search.placeholder': 'Dokumentation durchsuchen...',
25-
'nav.next': 'Nächste Seite',
26-
'nav.prev': 'Vorherige Seite',
27-
'toc.title': 'Auf dieser Seite'
14+
Verwenden Sie die Eigenschaft `translations` bei einer beliebigen Sprache, um Systemtexte zu überschreiben:
15+
16+
```json
17+
{
18+
"i18n": {
19+
"default": "en",
20+
"locales": [
21+
{ "id": "en", "label": "English" },
22+
{
23+
"id": "ar",
24+
"label": "العربية",
25+
"dir": "rtl",
26+
"translations": {
27+
"onThisPage": "في هذه الصفحة",
28+
"previous": "السابق",
29+
"next": "التالي",
30+
"search": "بحث",
31+
"toggleTheme": "تبديل المظهر",
32+
"editThisPage": "تعديل هذه الصفحة",
33+
"selectLanguage": "اختر اللغة",
34+
"selectVersion": "اختر الإصدار",
35+
"fallbackMessage": "هذه الصفحة غير متاحة بعد باللغة {active}. عرض اللغة الافتراضية ({default})."
2836
}
2937
}
30-
}
38+
]
3139
}
32-
});
40+
}
3341
```
3442

35-
## Verfügbare UI-Keys
36-
37-
Dies sind die am häufigsten verwendeten UI-Strings, die Sie überschreiben können:
38-
39-
| Key | Standardwert (EN) | Beschreibung |
40-
| :--- | :--- | :--- |
41-
| `search.placeholder` | `Search...` | Platzhalter im Sucheingabefeld. |
42-
| `search.noResults` | `No results found` | Text, wenn keine Übereinstimmungen gefunden wurden. |
43-
| `nav.next` | `Next` | Text für den "Weiter"-Button im Pagination-Bereich. |
44-
| `nav.prev` | `Previous` | Text für den "Zurück"-Button im Pagination-Bereich. |
45-
| `toc.title` | `On this page` | Überschrift über der Inhaltsverzeichnis-Seitenleiste. |
46-
| `theme.light` | `Light` | Label für den hellen Modus im Theme-Switcher. |
47-
| `theme.dark` | `Dark` | Label für den dunklen Modus im Theme-Switcher. |
48-
| `theme.system` | `System` | Label für die Synchronisierung mit dem System im Theme-Switcher. |
49-
50-
## Plugin-Beiträge
51-
52-
Wenn Sie ein [Plugin entwickeln](../../plugins/building-plugins.md), können Sie auch neue Übersetzungsschlüssel über den `translations`-Hook bereitstellen:
53-
54-
```javascript
55-
export default {
56-
name: 'mein-plugin',
57-
translations(localeId) {
58-
if (localeId === 'de') {
59-
return { 'meinplugin.status': 'Status' };
60-
}
61-
return { 'meinplugin.status': 'Status' };
62-
}
63-
};
43+
Die Zusammenführungsreihenfolge lautet: **Systemübersetzungen → Plugin-Übersetzungen → Ihre Konfigurationsübersetzungen**. Ihre Konfiguration gewinnt immer.
44+
45+
## Verfügbare Schlüssel
46+
47+
Statt eine feste Liste der verfügbaren Schlüssel bereitzustellen, können Sie die vollständige Sammlung der unterstützten Sprachen und Übersetzungsschlüssel direkt im docmd-Quellcode-Repository einsehen.
48+
49+
**[Übersetzungsquellen auf GitHub anzeigen](external:https://github.com/docmd-io/docmd/tree/main/packages/ui/translations)**
50+
51+
Der Schlüssel `fallbackMessage` unterstützt die Platzhalter `{active}` und `{default}`. Die Engine ersetzt diese zur Build-Zeit durch die entsprechenden Sprach-Labels.
52+
53+
## SEO und Hreflang
54+
55+
`docmd` generiert automatisch `<link rel="alternate" hreflang="...">`-Tags für jede Seite über alle Sprachen hinweg. Die Standardsprache erhält zudem den `x-default` hreflang-Wert.
56+
57+
```html
58+
<!-- Automatisch auf jeder Seite generiert -->
59+
<link rel="alternate" hreflang="en" href="/">
60+
<link rel="alternate" hreflang="x-default" href="/">
61+
<link rel="alternate" hreflang="hi" href="/hi/">
62+
<link rel="alternate" hreflang="zh" href="/zh/">
6463
```
6564

66-
::: callout tip "KI-Übersetzungshilfe"
67-
Wenn Sie einen KI-Assistenten bitten, Ihrer Website eine neue Sprache hinzuzufügen, stellen Sie ihm diese Liste der UI-Keys zur Verfügung. Dies stellt sicher, dass die KI nicht nur Ihren Inhalt übersetzt, sondern auch einen passenden Satz lokalisierter UI-Strings für Ihre `.config.js`-Datei liefert.
65+
Es ist keine Konfiguration erforderlich. Die Engine fügt diese Tags in jede Seite ein, wenn i18n aktiviert ist.
66+
67+
::: callout info "noStyle-Seiten"
68+
Das UI-Strings-System gilt für Standard-Themen-Layout-Seiten. Für noStyle-Seiten, die benutzerdefiniertes HTML verwenden, siehe [Clientseitige String-Ersetzung](../../content/no-style-pages.md#string-replacement-i18n-for-nostyle).
6869
:::

docmd-main/v08/de/configuration/multi-project.md

Lines changed: 0 additions & 140 deletions
This file was deleted.

0 commit comments

Comments
 (0)