You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docmd-main/v08/de/configuration/localisation/index.md
+37-38Lines changed: 37 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,15 +7,14 @@ Fügen Sie Ihrer Dokumentationsseite Mehrsprachigkeitsunterstützung hinzu. docm
7
7
8
8
## Sprachen zur Konfiguration hinzufügen
9
9
10
-
```js
11
-
// docmd.config.js
12
-
exportdefault {
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": "中文" }
19
18
]
20
19
}
21
20
}
@@ -24,25 +23,25 @@ export default {
24
23
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.
25
24
26
25
| 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`. |
33
32
34
33
Jedes Sprachobjekt akzeptiert:
35
34
36
35
| 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)). |
42
41
43
42
## URL-Struktur
44
43
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`.
46
45
47
46
```
48
47
/ ← Standardsprache, aktuelle Version
@@ -67,15 +66,16 @@ Dies verhindert 404-Fehler, wenn Sie geplante Sprachen auflisten, bevor deren In
67
66
68
67
Steuern Sie die Position des Sprachumschalters mit der Option `position`:
69
68
70
-
```js
71
-
i18n: {
72
-
position:'options-menu', // Standard
73
-
// ...
69
+
```json
70
+
{
71
+
"i18n": {
72
+
"position": "options-menu"
73
+
}
74
74
}
75
75
```
76
76
77
77
| Position | Verhalten |
78
-
|:---------|:----------|
78
+
|:---|:---|
79
79
|`options-menu`| Kompaktes Erdkugel-Icon neben Theme-Umschalter und Suche. Standard. |
80
80
|`sidebar-top`| Vollständiges Dropdown mit Label oben in der Seitenleiste. |
81
81
|`sidebar-bottom`| Vollständiges Dropdown mit Label unten in der Seitenleiste. |
@@ -84,15 +84,14 @@ i18n: {
84
84
85
85
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.
86
86
87
-
```js
88
-
// docmd.config.js
89
-
exportdefault {
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": "中文" }
96
95
]
97
96
}
98
97
}
@@ -108,7 +107,7 @@ Mit `stringMode: true`:
108
107
109
108
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).
110
109
111
-
::: callout warning "String Mode übersetzt keine Markdown-Inhalte"
110
+
::: callout warning "String Mode übersetzt keine Markdown-Inhalte" icon:info
112
111
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.
113
112
114
113
-**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
119
118
120
119
## Nächste Schritte
121
120
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
124
123
-[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
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."
4
4
---
5
5
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
7
7
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.
9
9
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.
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})."
28
36
}
29
37
}
30
-
}
38
+
]
31
39
}
32
-
});
40
+
}
33
41
```
34
42
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
-
exportdefault {
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
+
<linkrel="alternate"hreflang="en"href="/">
60
+
<linkrel="alternate"hreflang="x-default"href="/">
61
+
<linkrel="alternate"hreflang="hi"href="/hi/">
62
+
<linkrel="alternate"hreflang="zh"href="/zh/">
64
63
```
65
64
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).
0 commit comments