Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i18n(de): update German translation #2705

Merged
merged 15 commits into from
Dec 16, 2024
26 changes: 14 additions & 12 deletions docs/src/content/docs/de/guides/i18n.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -188,16 +188,17 @@ Du kannst Übersetzungen für zusätzliche Sprachen, die du unterstützt, über

<Steps>

1. Konfiguriere die `i18n` Datensammlung in `src/content/config.ts`, wenn sie nicht bereits konfiguriert ist:
1. Konfiguriere die `i18n` Datensammlung in `src/content.config.ts`, wenn sie nicht bereits konfiguriert ist:

```diff lang="js" ins=/, (i18nSchema)/
// src/content/config.ts
```diff lang="js" ins=/, (i18nLoader|i18nSchema)/
// src/content.config.ts
import { defineCollection } from 'astro:content';
import { docsLoader, i18nLoader } from '@astrojs/starlight/loaders';
trueberryless marked this conversation as resolved.
Show resolved Hide resolved
import { docsSchema, i18nSchema } from '@astrojs/starlight/schema';

export const collections = {
docs: defineCollection({ schema: docsSchema() }),
+ i18n: defineCollection({ type: 'data', schema: i18nSchema() }),
docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
+ i18n: defineCollection({ loader: i18nLoader(), schema: i18nSchema() }),
};
```

Expand Down Expand Up @@ -257,14 +258,15 @@ Füge benutzerdefinierte Schlüssel zu den Übersetzungswörterbüchern deiner W
Im folgenden Beispiel wird ein neuer, optionaler Schlüssel `custom.label` zu den Standardschlüsseln hinzugefügt:

```diff lang="js"
// src/content/config.ts
// src/content.config.ts
import { defineCollection, z } from 'astro:content';
import { docsLoader, i18nLoader } from '@astrojs/starlight/loaders';
import { docsSchema, i18nSchema } from '@astrojs/starlight/schema';

export const collections = {
docs: defineCollection({ schema: docsSchema() }),
docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
i18n: defineCollection({
type: 'data',
loader: i18nLoader(),
schema: i18nSchema({
+ extend: z.object({
+ 'custom.label': z.string().optional(),
Expand All @@ -274,22 +276,22 @@ export const collections = {
};
```

Mehr über Inhaltssammlungsschemata erfährst du in [„Ein Sammelschema definieren“](https://docs.astro.build/de/guides/content-collections/#defining-a-collection-schema) in den Astro-Dokumenten.
Mehr über Inhaltssammlungsschemata erfährst du in [„Ein Sammelschema definieren“](https://docs.astro.build/de/guides/content-collections/#defining-the-collection-schema) in den Astro-Dokumenten.

## UI-Übersetzungen verwenden

Du kannst auf Starlights [eingebaute UI-Strings](/de/guides/i18n/#starlights-ui-übersetzen) sowie auf [benutzerdefinierte](/de/guides/i18n/#übersetzungsschema-erweitern) und [plugin-provided](/de/reference/plugins/#injecttranslations) UI-Strings über eine einheitliche API zugreifen, die von [i18next](https://www.i18next.com/) unterstützt wird.
Dazu gehört die Unterstützung von Funktionen wie [Interpolation](https://www.i18next.com/translation-function/interpolation) und [Pluralisierung](https://www.i18next.com/translation-function/plurals).

In Astro-Komponenten ist diese API als Teil des [globalen `Astro`-Objekts](https://docs.astro.build/de/reference/api-reference/#astrolocals) als `Astro.locals.t` verfügbar:
In Astro-Komponenten ist diese API als Teil des [globalen `Astro`-Objekts](https://docs.astro.build/de/reference/api-reference/#locals) als `Astro.locals.t` verfügbar:

```astro title="example.astro"
<p dir={Astro.locals.t.dir()}>
{Astro.locals.t('404.text')}
</p>
```

Du kannst die API auch bei [Endpunkten](https://docs.astro.build/de/guides/endpoints/) verwenden, wo das Objekt `locals` als Teil des [Endpunkt-Kontextes](https://docs.astro.build/de/reference/api-reference/#contextlocals) verfügbar ist:
Du kannst die API auch bei [Endpunkten](https://docs.astro.build/de/guides/endpoints/) verwenden, wo das Objekt `locals` als Teil des [Endpunkt-Kontextes](https://docs.astro.build/de/reference/api-reference/#locals) verfügbar ist:

```ts title="src/pages/404.ts"
export const GET = (context) => {
Expand Down Expand Up @@ -390,7 +392,7 @@ Weitere Informationen findest du in der [`dir()`-Referenz in der i18next-Dokumen

## Zugriff auf das aktuelle Gebietsschema

Du kannst [`Astro.currentLocale`](https://docs.astro.build/de/reference/api-reference/#astrocurrentlocale) verwenden, um das aktuelle Gebietsschema in `.astro` Komponenten zu lesen.
Du kannst [`Astro.currentLocale`](https://docs.astro.build/de/reference/api-reference/#currentlocale) verwenden, um das aktuelle Gebietsschema in `.astro` Komponenten zu lesen.

Das folgende Beispiel liest das aktuelle Gebietsschema aus und verwendet es mit Hilfe der [`getRelativeLocaleUrl()`](https://docs.astro.build/de/reference/modules/astro-i18n/#getrelativelocaleurl)-Methode, um einen Link zu einer Informationsseite in der aktuellen Sprache zu erzeugen:

Expand Down
10 changes: 5 additions & 5 deletions docs/src/content/docs/de/guides/overriding-components.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: In Starlight kannst du eingebauten Komponenten ersetzen, um eigene

import { Steps } from '@astrojs/starlight/components';

Starlight's Standard-UI und Konfigurationsoptionen sind so gestaltet, dass sie flexibel sind und für eine Reihe von Inhalten funktionieren. Ein Großteil des Standardaussehens von Starlight kann mit [CSS](/de/guides/css-and-tailwind/) und [Konfigurationsoptionen](/de/guides/customization/) angepasst werden.
Starlights Standard-UI und Konfigurationsoptionen sind so gestaltet, dass sie flexibel sind und für eine Reihe von Inhalten funktionieren. Ein Großteil des Standardaussehens von Starlight kann mit [CSS](/de/guides/css-and-tailwind/) und [Konfigurationsoptionen](/de/guides/customization/) angepasst werden.

Wenn du mehr brauchst als das, was von Haus aus möglich ist, unterstützt Starlight die Erstellung eigener Komponenten, um die Standardkomponenten zu erweitern oder zu ersetzen.

Expand All @@ -25,7 +25,7 @@ Die Standardkomponenten von Starlight zu überschreiben kann nützlich sein, wen
Du kannst eine vollständige Liste der Komponenten in der [Komponenten-Ersetzung Referenz](/de/reference/overrides/) finden.

:::tip
Du bist dir nicht sicher, welche Komponente du überschreiben musst? Benutze die [interaktive Starlight Overrides Map](https://starlight-overrides-map.netlify.app/), um die Namen von Starlight's UI-Komponenten zu erfahren.
Du bist dir nicht sicher, welche Komponente du überschreiben musst? Benutze die [interaktive Starlight Overrides Map](https://starlight-overrides-map.netlify.app/), um die Namen von Starlights UI-Komponenten zu erfahren.
:::

In diesem Beispiel wird die Starlight-Komponente [`SocialIcons`](/de/reference/overrides/#socialicons) in der Navigationsleiste der Seite außer Kraft gesetzt.
Expand Down Expand Up @@ -84,7 +84,7 @@ import Default from '@astrojs/starlight/components/SocialIcons.astro';
Beim Rendern einer integrierten Komponente innerhalb einer benutzerdefinierten Komponente:

- Verbreite `Astro.props` darin. Dadurch wird sichergestellt, dass es alle Daten erhält, die es zum Rendern benötigt.
- Füge einen [`<slot />`](https://docs.astro.build/de/core-concepts/astro-components/#slots) innerhalb der Standardkomponente hinzu. Dadurch wird sichergestellt, dass Astro weiß, wo die Komponente gerendert werden muss, wenn der Komponente untergeordnete Elemente übergeben werden.
- Füge einen [`<slot />`](https://docs.astro.build/de/basics/astro-components/#slots) innerhalb der Standardkomponente hinzu. Dadurch wird sichergestellt, dass Astro weiß, wo die Komponente gerendert werden muss, wenn der Komponente untergeordnete Elemente übergeben werden.

Wenn du die Komponenten [`PageFrame`](/de/reference/overrides/#pageframe) oder [`TwoColumnContent`](/de/reference/overrides/#twocolumncontent) wiederverwendst, die [benannte Slots](https://docs.astro.build/de/basics/astro-components/#benannte-slots) enthalten, musst du auch diese Slots [übertragen](https://docs.astro.build/de/basics/astro-components/#slots-weitergeben).

Expand Down Expand Up @@ -141,7 +141,7 @@ Im folgenden Beispiel zeigt eine Komponente, die Starlights [`Footer`](/de/refer
import type { Props } from '@astrojs/starlight/props';
import Default from '@astrojs/starlight/components/Footer.astro';

const isHomepage = Astro.props.slug === '';
const isHomepage = Astro.props.id === '';
---

{
Expand All @@ -155,4 +155,4 @@ const isHomepage = Astro.props.slug === '';
}
```

Weitere Informationen zum bedingten Rendering findest du im [Astro-Leitfaden zur Vorlagensyntax](https://docs.astro.build/de/core-concepts/astro-syntax/#dynamisches-html).
Weitere Informationen zum bedingten Rendering findest du im [Astro-Leitfaden zur Vorlagensyntax](https://docs.astro.build/de/basics/astro-syntax/#dynamisches-html).
7 changes: 3 additions & 4 deletions docs/src/content/docs/de/guides/project-structure.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ description: Lerne, wie du Dateien in deinem Starlight-Projekt organisierst.

Diese Anleitung zeigt dir, wie ein Starlight-Projekt organisiert ist und was die verschiedenen Dateien in deinem Projekt tun.

Starlight-Projekte folgen im Allgemeinen der gleichen Datei- und Verzeichnisstruktur wie andere Astro-Projekte. Siehe [Astros Dokumentation zur Projektstruktur](https://docs.astro.build/de/core-concepts/project-structure/) für weitere Details.
Starlight-Projekte folgen im Allgemeinen der gleichen Datei- und Verzeichnisstruktur wie andere Astro-Projekte. Siehe [Astros Dokumentation zur Projektstruktur](https://docs.astro.build/de/basics/project-structure/) für weitere Details.

## Dateien und Verzeichnisse

- `astro.config.mjs` - Die Astro-Konfigurationsdatei; enthält die Starlight-Integration und -Konfiguration.
- `src/content/config.ts` - Konfigurationsdatei für Inhaltssammlungen; fügt Starlights Frontmatter-Schema zu deinem Projekt hinzu.
- `src/content.config.ts` - Konfigurationsdatei für Inhaltssammlungen; fügt Starlights Frontmatter-Schema zu deinem Projekt hinzu.
- `src/content/docs/` - Inhaltsdateien. Starlight verwandelt jede `.md`, `.mdx` oder `.mdoc` Datei in diesem Verzeichnis in eine Seite auf deiner Website.
- `src/content/i18n/` (optional) - Übersetzungsdaten zur Unterstützung der [Internationalisierung](/de/guides/i18n/).
- `src/` - Anderer Quellcode und Dateien (Komponenten, Stile, Bilder, etc.) für dein Projekt.
Expand Down Expand Up @@ -39,8 +39,7 @@ import { FileTree } from '@astrojs/starlight/components';
- 01-getting-started.md
- 02-advanced.md
- index.mdx
- config.ts
- env.d.ts
- content.config.ts
- astro.config.mjs
- package.json
- tsconfig.json
Expand Down
11 changes: 6 additions & 5 deletions docs/src/content/docs/de/guides/site-search.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -124,18 +124,19 @@ Füge mithilfe des in Starlight integrierten [Internationalisierungssystems](/de

<Steps>

1. Erweitere die Definition der Starlight-Inhaltssammlung `i18n` um das DocSearch-Schema in `src/content/config.ts`:
1. Erweitere die Definition der Starlight-Inhaltssammlung `i18n` um das DocSearch-Schema in `src/content.config.ts`:

```js ins={4} ins=/{ extend: .+ }/
// src/content/config.ts
```js ins={5} ins=/{ extend: .+ }/
// src/content.config.ts
import { defineCollection } from 'astro:content';
import { docsLoader, i18nLoader } from '@astrojs/starlight/loaders';
import { docsSchema, i18nSchema } from '@astrojs/starlight/schema';
import { docSearchI18nSchema } from '@astrojs/starlight-docsearch/schema';

export const collections = {
docs: defineCollection({ schema: docsSchema() }),
docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
i18n: defineCollection({
type: 'data',
loader: i18nLoader(),
schema: i18nSchema({ extend: docSearchI18nSchema() }),
}),
};
Expand Down
6 changes: 6 additions & 0 deletions docs/src/content/docs/de/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ description: Erstelle schöne, leistungsstarke Dokumentations-Webseiten mit Star
template: splash
editUrl: false
lastUpdated: false
banner:
content: |
Aktualisieren auf Astro 5?
<a href="https://github.com/withastro/starlight/releases/tag/%40astrojs/starlight%400.30.0">
Erfahre, wie es geht
</a>
hero:
title: Bringe deine Dokumentation mit Starlight zum Leuchten
tagline: Alles, was du brauchst, um eine erstklassige Dokumentations-Website zu erstellen. Schnell, barrierefrei und einfach zu bedienen.
Expand Down
16 changes: 10 additions & 6 deletions docs/src/content/docs/de/manual-setup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -62,20 +62,24 @@ Alle verfügbaren Optionen findest du in der [Starlight-Konfigurationsreferenz](

### Konfigurieren von Inhaltssammlungen

Starlight baut auf Astros [Inhaltssammlungen](https://docs.astro.build/de/guides/content-collections/) auf, die in der Datei `src/content/config.ts` konfiguriert werden.
Starlight baut auf Astros [Inhaltssammlungen](https://docs.astro.build/de/guides/content-collections/) auf, die in der Datei `src/content.config.ts` konfiguriert werden.

Erstelle oder aktualisiere die Inhaltskonfigurationsdatei und füge eine `docs`-Sammlung hinzu, die Starlight's `docsSchema` verwendet:
Erstelle oder aktualisiere die Inhaltskonfigurationsdatei und füge eine `docs`-Sammlung hinzu, die Starlights `docsLoader` und `docsSchema` verwendet:

```js ins={3,6}
// src/content/config.ts
```js ins={3-4,7}
// src/content.config.ts
import { defineCollection } from 'astro:content';
import { docsLoader } from '@astrojs/starlight/loaders';
import { docsSchema } from '@astrojs/starlight/schema';

export const collections = {
docs: defineCollection({ schema: docsSchema() }),
docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
};
```

Starlight unterstützt auch die Option [`legacy.collections`](https://docs.astro.build/de/reference/legacy-flags/), bei dem Sammlungen mit der Legacy-Implementierung von Inhaltssammlungen behandelt werden.
Dies ist nützlich, wenn du ein bestehendes Astro-Projekt hast und zum jetzigen Zeitpunkt keine Änderungen an den Sammlungen vornehmen kannst, um einen Loader zu verwenden.

### Inhalte hinzufügen

Starlight ist jetzt konfiguriert und du kannst Inhalte hinzuzufügen.
Expand Down Expand Up @@ -125,6 +129,6 @@ Für die Zukunft planen wir, diesen Anwendungsfall besser zu unterstützen, um d

### Starlight mit SSR verwenden

Um SSR zu aktivieren, folge der Anleitung [„Serverseitiges Rendern (SSR)“](https://docs.astro.build/de/guides/server-side-rendering/) in der Astro-Dokumentation, um einen Server-Adapter zu deinem Starlight-Projekt hinzuzufügen.
Um SSR zu aktivieren, folge der Anleitung [„Serverseitiges Rendern (SSR)“](https://docs.astro.build/de/guides/on-demand-rendering/) in der Astro-Dokumentation, um einen Server-Adapter zu deinem Starlight-Projekt hinzuzufügen.

Die von Starlight erzeugten Dokumentationsseiten werden standardmäßig vorgerendert, unabhängig vom Ausgabemodus deines Projekts. Wenn du nicht möchtest, dass deine Starlight-Seiten vorgerendert werden, setze die [Konfigurationsoption `prerender`](/de/reference/configuration/#prerender) auf `false`.
6 changes: 3 additions & 3 deletions docs/src/content/docs/de/reference/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -452,7 +452,7 @@ Wenn du benutzerdefinierte Themes verwendest und dies auf `true` setzt, musst du
**Typ:** `boolean`
**Standard:** `true`

Lege fest, ob Starlight's Standard-Site-Search-Anbieter [Pagefind](https://pagefind.app/) aktiviert ist.
Lege fest, ob Starlights Standard-Site-Search-Anbieter [Pagefind](https://pagefind.app/) aktiviert ist.

Setze diese Option auf `false`, um die Indizierung deiner Website mit Pagefind zu deaktivieren.
Dadurch wird auch die Standard-Suchoberfläche ausgeblendet, falls sie verwendet wird.
Expand All @@ -464,7 +464,7 @@ Pagefind kann nicht aktiviert werden, wenn die Option [`prerender`](#prerender)
**Typ:** `boolean`
**Standard:** `true`

Lege fest, ob Starlight-Seiten vorgerendert zu statischem HTML oder bei Bedarf von einem [SSR-Adapter](https://docs.astro.build/de/guides/server-side-rendering/) gerendert werden sollen.
Lege fest, ob Starlight-Seiten vorgerendert zu statischem HTML oder bei Bedarf von einem [SSR-Adapter](https://docs.astro.build/de/guides/on-demand-rendering/) gerendert werden sollen.

Starlight-Seiten werden standardmäßig vorgerendert.
Wenn du einen SSR-Adapter verwendest und Starlight-Seiten bei Bedarf rendern möchtest, setze `prerender: false`.
Expand Down Expand Up @@ -570,7 +570,7 @@ Zum Beispiel heißt diese Seite „Konfigurationsreferenz“ und diese Website h
**Typ:** `Boolean`
**Standard:** `false`

Deaktiviert die Einspeisung von Starlights Standard [404 Seite](https://docs.astro.build/en/core-concepts/astro-pages/#custom-404-error-page). Um eine eigene `src/pages/404.astro`-Route in deinem Projekt zu verwenden, setze diese Option auf `true`.
Deaktiviert die Einspeisung von Starlights Standard [404 Seite](https://docs.astro.build/de/basics/astro-pages/#benutzerdefinierte-404-fehlerseite). Um eine eigene `src/pages/404.astro`-Route in deinem Projekt zu verwenden, setze diese Option auf `true`.

### `components`

Expand Down
25 changes: 15 additions & 10 deletions docs/src/content/docs/de/reference/frontmatter.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Die Seitenbeschreibung wird für die Metadaten der Seite verwendet und wird von

**Typ**: `string`

Setzt den Slug der Seite außer Kraft. Siehe [„Benutzerdefinierte Slugs definieren“](https://docs.astro.build/de/guides/content-collections/#defining-custom-slugs) in der Astro-Dokumentation für weitere Details.
Setzt den Slug der Seite außer Kraft. Siehe [„Benutzerdefinierte IDs definieren“](https://docs.astro.build/de/guides/content-collections/#defining-custom-ids) in der Astro-Dokumentation für weitere Details.

### `editUrl`

Expand Down Expand Up @@ -399,19 +399,20 @@ sidebar:

## Frontmatter-Schema anpassen

Das Frontmatter-Schema für die Starlight-Inhaltssammlung `docs` wird in `src/content/config.ts` mit dem `docsSchema()`-Helper konfiguriert:
Das Frontmatter-Schema für die Starlight-Inhaltssammlung `docs` wird in `src/content.config.ts` mit dem `docsSchema()`-Helper konfiguriert:

```ts {3,6}
// src/content/config.ts
```ts {4,7}
// src/content.config.ts
import { defineCollection } from 'astro:content';
import { docsLoader, i18nLoader } from '@astrojs/starlight/loaders';
import { docsSchema } from '@astrojs/starlight/schema';

export const collections = {
docs: defineCollection({ schema: docsSchema() }),
docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
};
```

Mehr über Schemata für Inhaltssammlungen erfährst du in [„Definieren eines Sammelschemas“](https://docs.astro.build/de/guides/content-collections/#definieren-eines-sammelschemas) in den Astro-Dokumenten.
Mehr über Schemata für Inhaltssammlungen erfährst du in [„Definieren eines Sammelschemas“](https://docs.astro.build/de/guides/content-collections/#defining-the-collection-schema) in den Astro-Dokumenten.

`docsSchema()` nimmt die folgenden Optionen an:

Expand All @@ -425,13 +426,15 @@ Der Wert sollte ein [Zod-Schema](https://docs.astro.build/de/guides/content-coll

Im folgenden Beispiel geben wir einen strengeren Typ für `description` an, um es zur Pflicht zu machen und fügen ein neues optionales Feld `category` hinzu:

```ts {8-13}
// src/content/config.ts
```ts {10-15}
// src/content.config.ts
import { defineCollection, z } from 'astro:content';
import { docsLoader } from '@astrojs/starlight/loaders';
import { docsSchema } from '@astrojs/starlight/schema';

export const collections = {
docs: defineCollection({
loader: docsLoader(),
schema: docsSchema({
extend: z.object({
// Mache ein eingebautes Feld erforderlich statt optional.
Expand All @@ -446,13 +449,15 @@ export const collections = {

Um die Vorteile der [Astro `image()`-Hilfe](https://docs.astro.build/de/guides/images/#bilder-in-inhaltssammlungen) zu nutzen, verwende eine Funktion, die deine Schemaerweiterung zurückgibt:

```ts {8-13}
// src/content/config.ts
```ts {10-15}
// src/content.config.ts
import { defineCollection, z } from 'astro:content';
import { docsLoader } from '@astrojs/starlight/loaders';
import { docsSchema } from '@astrojs/starlight/schema';

export const collections = {
docs: defineCollection({
loader: docsLoader(),
schema: docsSchema({
extend: ({ image }) => {
return z.object({
Expand Down
Loading
Loading