Browse Source

Update how-to/custom-docs-ui-assets.md + prompt

This adds a new rule to the prompt, to translate text inside title attributes of `abbr` elements. (which it did not do in a case in this document)
pull/14015/head
Nils Lindemann 2 weeks ago
parent
commit
745d7f2b73
  1. 48
      docs/de/docs/how-to/custom-docs-ui-assets.md
  2. 9
      docs/de/llm-prompt.md

48
docs/de/docs/how-to/custom-docs-ui-assets.md

@ -1,18 +1,18 @@
# Statische Assets der Dokumentationsoberfläche (selbst hosten) # Statische Assets der Dokumentationsoberfläche (Selbst-Hosting) { #custom-docs-ui-static-assets-self-hosting }
Die API-Dokumentation verwendet **Swagger UI** und **ReDoc**, und jede dieser Dokumentationen benötigt einige JavaScript- und CSS-Dateien. Die API-Dokumentation verwendet **Swagger UI** und **ReDoc**, und jede dieser Dokumentationen benötigt einige JavaScript- und CSS-Dateien.
Standardmäßig werden diese Dateien von einem <abbr title="Content Delivery Network – Inhalte-Auslieferungs-Netzwerk: Ein Dienst, der normalerweise aus mehreren Servern besteht und statische Dateien wie JavaScript und CSS bereitstellt. Er wird normalerweise verwendet, um diese Dateien von einem Server bereitzustellen, der näher am Client liegt, wodurch die Leistung verbessert wird.">CDN</abbr> bereitgestellt. Standardmäßig werden diese Dateien von einem <abbr title="Content Delivery Network: Content Delivery Network: Ein Dienst, der normalerweise aus mehreren Servern besteht und statische Dateien wie JavaScript und CSS bereitstellt. Er wird häufig verwendet, um diese Dateien vom Server bereitzustellen, der näher am Client liegt, wodurch die Leistung verbessert wird.">CDN</abbr> bereitgestellt.
Es ist jedoch möglich, das anzupassen, ein bestimmtes CDN festzulegen oder die Dateien selbst bereitzustellen. Es ist jedoch möglich, das anzupassen, ein bestimmtes CDN festzulegen oder die Dateien selbst bereitzustellen.
## Benutzerdefiniertes CDN für JavaScript und CSS ## Benutzerdefiniertes CDN für JavaScript und CSS { #custom-cdn-for-javascript-and-css }
Nehmen wir an, Sie möchten ein anderes <abbr title="Content Delivery Network">CDN</abbr> verwenden, zum Beispiel möchten Sie `https://unpkg.com/` verwenden. Nehmen wir an, Sie möchten ein anderes <abbr title="Content Delivery Network">CDN</abbr> verwenden, zum Beispiel möchten Sie `https://unpkg.com/` verwenden.
Das kann nützlich sein, wenn Sie beispielsweise in einem Land leben, in dem bestimmte URLs eingeschränkt sind. Das kann nützlich sein, wenn Sie beispielsweise in einem Land leben, in dem bestimmte URLs eingeschränkt sind.
### Die automatischen Dokumentationen deaktivieren ### Die automatischen Dokumentationen deaktivieren { #disable-the-automatic-docs }
Der erste Schritt besteht darin, die automatischen Dokumentationen zu deaktivieren, da diese standardmäßig das Standard-CDN verwenden. Der erste Schritt besteht darin, die automatischen Dokumentationen zu deaktivieren, da diese standardmäßig das Standard-CDN verwenden.
@ -20,7 +20,7 @@ Um diese zu deaktivieren, setzen Sie deren URLs beim Erstellen Ihrer `FastAPI`-A
{* ../../docs_src/custom_docs_ui/tutorial001.py hl[8] *} {* ../../docs_src/custom_docs_ui/tutorial001.py hl[8] *}
### Die benutzerdefinierten Dokumentationen hinzufügen ### Die benutzerdefinierten Dokumentationen hinzufügen { #include-the-custom-docs }
Jetzt können Sie die *Pfadoperationen* für die benutzerdefinierten Dokumentationen erstellen. Jetzt können Sie die *Pfadoperationen* für die benutzerdefinierten Dokumentationen erstellen.
@ -32,7 +32,7 @@ Sie können die internen Funktionen von FastAPI wiederverwenden, um die HTML-Sei
* `swagger_js_url`: die URL, unter welcher der HTML-Code für Ihre Swagger-UI-Dokumentation die **JavaScript**-Datei abrufen kann. Dies ist die benutzerdefinierte CDN-URL. * `swagger_js_url`: die URL, unter welcher der HTML-Code für Ihre Swagger-UI-Dokumentation die **JavaScript**-Datei abrufen kann. Dies ist die benutzerdefinierte CDN-URL.
* `swagger_css_url`: die URL, unter welcher der HTML-Code für Ihre Swagger-UI-Dokumentation die **CSS**-Datei abrufen kann. Dies ist die benutzerdefinierte CDN-URL. * `swagger_css_url`: die URL, unter welcher der HTML-Code für Ihre Swagger-UI-Dokumentation die **CSS**-Datei abrufen kann. Dies ist die benutzerdefinierte CDN-URL.
Und genau so für ReDoc ... Und ähnlich für ReDoc...
{* ../../docs_src/custom_docs_ui/tutorial001.py hl[2:6,11:19,22:24,27:33] *} {* ../../docs_src/custom_docs_ui/tutorial001.py hl[2:6,11:19,22:24,27:33] *}
@ -46,23 +46,23 @@ Swagger UI erledigt das hinter den Kulissen für Sie, benötigt aber diesen „U
/// ///
### Eine *Pfadoperation* erstellen, um es zu testen ### Eine *Pfadoperation* erstellen, um es zu testen { #create-a-path-operation-to-test-it }
Um nun testen zu können, ob alles funktioniert, erstellen Sie eine *Pfadoperation*: Um nun testen zu können, ob alles funktioniert, erstellen Sie eine *Pfadoperation*:
{* ../../docs_src/custom_docs_ui/tutorial001.py hl[36:38] *} {* ../../docs_src/custom_docs_ui/tutorial001.py hl[36:38] *}
### Es ausprobieren ### Es testen { #test-it }
Jetzt sollten Sie in der Lage sein, zu Ihrer Dokumentation auf <a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a> zu gehen und die Seite neu zuladen, die Assets werden nun vom neuen CDN geladen. Jetzt sollten Sie in der Lage sein, zu Ihrer Dokumentation auf <a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a> zu gehen und die Seite neu zu laden. Die Assets werden nun vom neuen CDN geladen.
## JavaScript und CSS für die Dokumentation selbst hosten ## JavaScript und CSS für die Dokumentation selbst hosten { #self-hosting-javascript-and-css-for-docs }
Das Selbst Hosten von JavaScript und CSS kann nützlich sein, wenn Sie beispielsweise möchten, dass Ihre Anwendung auch offline, ohne bestehenden Internetzugang oder in einem lokalen Netzwerk weiter funktioniert. Das Selbst-Hosting von JavaScript und CSS kann nützlich sein, wenn Sie beispielsweise möchten, dass Ihre Anwendung auch offline, ohne bestehenden Internetzugang oder in einem lokalen Netzwerk weiter funktioniert.
Hier erfahren Sie, wie Sie diese Dateien selbst in derselben FastAPI-App bereitstellen und die Dokumentation für deren Verwendung konfigurieren. Hier erfahren Sie, wie Sie diese Dateien selbst in derselben FastAPI-App bereitstellen und die Dokumentation für deren Verwendung konfigurieren.
### Projektdateistruktur ### Projektdateistruktur { #project-file-structure }
Nehmen wir an, die Dateistruktur Ihres Projekts sieht folgendermaßen aus: Nehmen wir an, die Dateistruktur Ihres Projekts sieht folgendermaßen aus:
@ -85,7 +85,7 @@ Ihre neue Dateistruktur könnte so aussehen:
└── static/ └── static/
``` ```
### Die Dateien herunterladen ### Die Dateien herunterladen { #download-the-files }
Laden Sie die für die Dokumentation benötigten statischen Dateien herunter und legen Sie diese im Verzeichnis `static/` ab. Laden Sie die für die Dokumentation benötigten statischen Dateien herunter und legen Sie diese im Verzeichnis `static/` ab.
@ -113,20 +113,20 @@ Danach könnte Ihre Dateistruktur wie folgt aussehen:
└── swagger-ui.css └── swagger-ui.css
``` ```
### Die statischen Dateien bereitstellen ### Die statischen Dateien bereitstellen { #serve-the-static-files }
* Importieren Sie `StaticFiles`. * Importieren Sie `StaticFiles`.
* „Mounten“ Sie eine `StaticFiles()`-Instanz in einem bestimmten Pfad. * „Mounten“ Sie eine `StaticFiles()`-Instanz in einem bestimmten Pfad.
{* ../../docs_src/custom_docs_ui/tutorial002.py hl[7,11] *} {* ../../docs_src/custom_docs_ui/tutorial002.py hl[7,11] *}
### Die statischen Dateien testen ### Die statischen Dateien testen { #test-the-static-files }
Starten Sie Ihre Anwendung und gehen Sie auf <a href="http://127.0.0.1:8000/static/redoc.standalone.js" class="external-link" target="_blank">http://127.0.0.1:8000/static/redoc.standalone.js</a>. Starten Sie Ihre Anwendung und gehen Sie auf <a href="http://127.0.0.1:8000/static/redoc.standalone.js" class="external-link" target="_blank">http://127.0.0.1:8000/static/redoc.standalone.js</a>.
Sie sollten eine sehr lange JavaScript-Datei für **ReDoc** sehen. Sie sollten eine sehr lange JavaScript-Datei für **ReDoc** sehen.
Sie könnte beginnen mit etwas wie: Sie könnte mit etwas wie diesem beginnen:
```JavaScript ```JavaScript
/*! For license information please see redoc.standalone.js.LICENSE.txt */ /*! For license information please see redoc.standalone.js.LICENSE.txt */
@ -138,19 +138,19 @@ Das zeigt, dass Sie statische Dateien aus Ihrer Anwendung bereitstellen können
Jetzt können wir die Anwendung so konfigurieren, dass sie diese statischen Dateien für die Dokumentation verwendet. Jetzt können wir die Anwendung so konfigurieren, dass sie diese statischen Dateien für die Dokumentation verwendet.
### Die automatischen Dokumentationen deaktivieren, für statische Dateien ### Die automatischen Dokumentationen für statische Dateien deaktivieren { #disable-the-automatic-docs-for-static-files }
Wie bei der Verwendung eines benutzerdefinierten CDN besteht der erste Schritt darin, die automatischen Dokumentationen zu deaktivieren, da diese standardmäßig das CDN verwenden. Wie bei der Verwendung eines benutzerdefinierten CDN besteht der erste Schritt darin, die automatischen Dokumentationen zu deaktivieren, da diese standardmäßig das CDN verwenden.
Um diese zu deaktivieren, setzen Sie deren URLs beim Erstellen Ihrer `FastAPI`-App auf `None`: Um sie zu deaktivieren, setzen Sie deren URLs beim Erstellen Ihrer `FastAPI`-App auf `None`:
{* ../../docs_src/custom_docs_ui/tutorial002.py hl[9] *} {* ../../docs_src/custom_docs_ui/tutorial002.py hl[9] *}
### Die benutzerdefinierten Dokumentationen, mit statischen Dateien, hinzufügen ### Die benutzerdefinierten Dokumentationen für statische Dateien hinzufügen { #include-the-custom-docs-for-static-files }
Und genau wie bei einem benutzerdefinierten CDN können Sie jetzt die *Pfadoperationen* für die benutzerdefinierten Dokumentationen erstellen. Und genau wie bei einem benutzerdefinierten CDN können Sie jetzt die *Pfadoperationen* für die benutzerdefinierten Dokumentationen erstellen.
Auch hier können Sie die internen Funktionen von FastAPI wiederverwenden, um die HTML-Seiten für die Dokumentationen zu erstellen, und diesen die erforderlichen Argumente übergeben: Auch hier können Sie die internen Funktionen von FastAPI wiederverwenden, um die HTML-Seiten für die Dokumentationen zu erstellen und ihnen die erforderlichen Argumente zu übergeben:
* `openapi_url`: die URL, unter der die HTML-Seite für die Dokumentation das OpenAPI-Schema für Ihre API abrufen kann. Sie können hier das Attribut `app.openapi_url` verwenden. * `openapi_url`: die URL, unter der die HTML-Seite für die Dokumentation das OpenAPI-Schema für Ihre API abrufen kann. Sie können hier das Attribut `app.openapi_url` verwenden.
* `title`: der Titel Ihrer API. * `title`: der Titel Ihrer API.
@ -158,7 +158,7 @@ Auch hier können Sie die internen Funktionen von FastAPI wiederverwenden, um di
* `swagger_js_url`: die URL, unter welcher der HTML-Code für Ihre Swagger-UI-Dokumentation die **JavaScript**-Datei abrufen kann. **Das ist die, welche jetzt von Ihrer eigenen Anwendung bereitgestellt wird**. * `swagger_js_url`: die URL, unter welcher der HTML-Code für Ihre Swagger-UI-Dokumentation die **JavaScript**-Datei abrufen kann. **Das ist die, welche jetzt von Ihrer eigenen Anwendung bereitgestellt wird**.
* `swagger_css_url`: die URL, unter welcher der HTML-Code für Ihre Swagger-UI-Dokumentation die **CSS**-Datei abrufen kann. **Das ist die, welche jetzt von Ihrer eigenen Anwendung bereitgestellt wird**. * `swagger_css_url`: die URL, unter welcher der HTML-Code für Ihre Swagger-UI-Dokumentation die **CSS**-Datei abrufen kann. **Das ist die, welche jetzt von Ihrer eigenen Anwendung bereitgestellt wird**.
Und genau so für ReDoc ... Und ähnlich für ReDoc...
{* ../../docs_src/custom_docs_ui/tutorial002.py hl[2:6,14:22,25:27,30:36] *} {* ../../docs_src/custom_docs_ui/tutorial002.py hl[2:6,14:22,25:27,30:36] *}
@ -172,14 +172,14 @@ Swagger UI erledigt das hinter den Kulissen für Sie, benötigt aber diesen „U
/// ///
### Eine *Pfadoperation* erstellen, um statische Dateien zu testen ### Eine *Pfadoperation* erstellen, um statische Dateien zu testen { #create-a-path-operation-to-test-static-files }
Um nun testen zu können, ob alles funktioniert, erstellen Sie eine *Pfadoperation*: Um nun testen zu können, ob alles funktioniert, erstellen Sie eine *Pfadoperation*:
{* ../../docs_src/custom_docs_ui/tutorial002.py hl[39:41] *} {* ../../docs_src/custom_docs_ui/tutorial002.py hl[39:41] *}
### Benutzeroberfläche, mit statischen Dateien, testen ### Benutzeroberfläche der statischen Dateien testen { #test-static-files-ui }
Jetzt sollten Sie in der Lage sein, Ihr WLAN zu trennen, gehen Sie zu Ihrer Dokumentation unter <a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a> und laden Sie die Seite neu. Jetzt sollten Sie in der Lage sein, Ihr WLAN zu trennen, gehen Sie zu Ihrer Dokumentation unter <a href="http://127.0.0.1:8000/docs" class="external-link" target="_blank">http://127.0.0.1:8000/docs</a> und laden Sie die Seite neu.
Und selbst ohne Internet könnten Sie die Dokumentation für Ihre API sehen und damit interagieren. Und selbst ohne Internet können Sie die Dokumentation für Ihre API sehen und mit ihr interagieren.

9
docs/de/llm-prompt.md

@ -8,6 +8,8 @@ Translate quotation marks ("") in the English text with typographic quotation ma
If a word in an existing translation has an explanation in brackets after it, of the form "(deutsch: foo)" or "(englisch: bar)", then keep that explanation, even if it is not in the english text. It was manually added by the reviewer of the translation, to explain the meaning of a word to the reader of the translation. For example, if the English text is: "This is an origin" and the translation is "Das ist ein Origin (deutsch: Ursprung)" then the " (deutsch: Ursprung)" explains the meaning of the word "Origin" to the reader and you should therefore keep this part. This rule only applies when the part in brackets starts with "deutsch:" or with "englisch:" For example if the English text is "Hello World!" and the translation is "Hallo Welt (schon wieder)", then remove the " (schon wieder)" and translate with "Hallo Welt" instead of "Hallo Welt (schon wieder)", because the part in brackets does not start with "deutsch:" and not with "englisch:". If a word in an existing translation has an explanation in brackets after it, of the form "(deutsch: foo)" or "(englisch: bar)", then keep that explanation, even if it is not in the english text. It was manually added by the reviewer of the translation, to explain the meaning of a word to the reader of the translation. For example, if the English text is: "This is an origin" and the translation is "Das ist ein Origin (deutsch: Ursprung)" then the " (deutsch: Ursprung)" explains the meaning of the word "Origin" to the reader and you should therefore keep this part. This rule only applies when the part in brackets starts with "deutsch:" or with "englisch:" For example if the English text is "Hello World!" and the translation is "Hallo Welt (schon wieder)", then remove the " (schon wieder)" and translate with "Hallo Welt" instead of "Hallo Welt (schon wieder)", because the part in brackets does not start with "deutsch:" and not with "englisch:".
If a word or text snippet in the English text is wrapped in an `abbr` HTML-element, translate the text inside its `title` attribute. For example, translate `Hello <abbr title="World">Universe</abbr>` with `Hallo <abbr title="Welt">Universum</abbr>`, translate `The files are served from a <abbr title="Content Delivery Network: A service that provides static files">CDN</abbr>` with `Die Dateien werden von einem <abbr title="Content Delivery Network: Ein Dienst, der statische Dateien bereitstellt">CDN</abbr> bereitgestellt`.
If possible, translate headings using the infinite form. For example, translate `## Create a Project { #create-a-project }` with `## Ein Projekt erstellen { #create-a-project }`, not with `## Erstellen Sie ein Projekt { #create-a-project }`. Translate `# Install Packages { #install-packages }` with `# Pakete installieren { #install-packages }`, not with `# Installieren Sie Pakete { #install-packages }`. Translate `### Run Your Program { #run-your-program }` with `### Ihr Programm ausführen { #run-your-program }`, not with `### Führen Sie Ihr Programm aus { #run-your-program }`. If possible, translate headings using the infinite form. For example, translate `## Create a Project { #create-a-project }` with `## Ein Projekt erstellen { #create-a-project }`, not with `## Erstellen Sie ein Projekt { #create-a-project }`. Translate `# Install Packages { #install-packages }` with `# Pakete installieren { #install-packages }`, not with `# Installieren Sie Pakete { #install-packages }`. Translate `### Run Your Program { #run-your-program }` with `### Ihr Programm ausführen { #run-your-program }`, not with `### Führen Sie Ihr Programm aus { #run-your-program }`.
Preserve indentation. Do not translate link targets. Keep emoticons. Encode in utf-8. Use Linux linebreaks (LF) Preserve indentation. Do not translate link targets. Keep emoticons. Encode in utf-8. Use Linux linebreaks (LF)
@ -22,7 +24,7 @@ Ich versuche nicht, alles einzudeutschen. Das bezieht sich besonders auf Begriff
--- ---
Below is a list of English terms and their German translations. Use these translations, do not use your own. Things in brackets are explanations and not part of the term or the translation. If a line starts with "NOT", that means: do NOT use this translation. Below is a list of English terms and their German translations (separated by `: `). Use these translations, do not use your own. words inside brackets are explanations and not part of the term or the translation. If a list item starts with "NOT", that means: do NOT use this translation.
* /// check: /// check | Testen * /// check: /// check | Testen
* /// danger: /// danger | Gefahr * /// danger: /// danger | Gefahr
@ -46,7 +48,7 @@ Below is a list of English terms and their German translations. Use these transl
* the cloud provider: der Cloudanbieter * the cloud provider: der Cloudanbieter
* the CLI: Das CLI * the CLI: Das CLI
* the command line interface: Das Kommandozeileninterface * the command line interface: Das Kommandozeileninterface
* the docs: die Dokumentation (singular case) * the docs: die Dokumentation (use singular case)
* the default value: der Defaultwert * the default value: der Defaultwert
* the engine: die Engine * the engine: die Engine
* the env var: die Umgebungsvariable * the env var: die Umgebungsvariable
@ -56,8 +58,7 @@ Below is a list of English terms and their German translations. Use these transl
* the form model: das Formularmodell * the form model: das Formularmodell
* the form body: der Formularbody * the form body: der Formularbody
* the header: der Header * the header: der Header
* the headers (plural): die Header * the headers (plural case): die Header
* the interactive API docs: die interaktive API-Dokumentation (singular case)
* the lifespan event: das Lifespan-Event * the lifespan event: das Lifespan-Event
* the locking: das Locking * the locking: das Locking
* the mobile application: die Mobile-Anwendung * the mobile application: die Mobile-Anwendung

Loading…
Cancel
Save