diff --git a/docs/de/docs/external-links.md b/docs/de/docs/external-links.md
deleted file mode 100644
index ae5a6c908..000000000
--- a/docs/de/docs/external-links.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# Externe Links und Artikel
-
-**FastAPI** hat eine großartige Community, die ständig wächst.
-
-Es gibt viele Beiträge, Artikel, Tools und Projekte zum Thema **FastAPI**.
-
-Hier ist eine unvollständige Liste einiger davon.
-
-/// tip | "Tipp"
-
-Wenn Sie einen Artikel, ein Projekt, ein Tool oder irgendetwas im Zusammenhang mit **FastAPI** haben, was hier noch nicht aufgeführt ist, erstellen Sie einen Pull Request und fügen Sie es hinzu.
-
-///
-
-/// note | "Hinweis Deutsche Übersetzung"
-
-Die folgenden Überschriften und Links werden aus einer anderen Datei gelesen und sind daher nicht ins Deutsche übersetzt.
-
-///
-
-{% for section_name, section_content in external_links.items() %}
-
-## {{ section_name }}
-
-{% for lang_name, lang_content in section_content.items() %}
-
-### {{ lang_name }}
-
-{% for item in lang_content %}
-
-* {{ item.title }} by {{ item.author }}.
-
-{% endfor %}
-{% endfor %}
-{% endfor %}
-
-## Projekte
-
-Die neuesten GitHub-Projekte zum Thema `fastapi`:
-
-
-
diff --git a/docs/de/docs/newsletter.md b/docs/de/docs/newsletter.md
deleted file mode 100644
index 31995b164..000000000
--- a/docs/de/docs/newsletter.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# FastAPI und Freunde Newsletter
-
-
-
-
diff --git a/docs/de/docs/reference/apirouter.md b/docs/de/docs/reference/apirouter.md
deleted file mode 100644
index b0728b7df..000000000
--- a/docs/de/docs/reference/apirouter.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# `APIRouter`-Klasse
-
-Hier sind die Referenzinformationen für die Klasse `APIRouter` mit all ihren Parametern, Attributen und Methoden.
-
-Sie können die `APIRouter`-Klasse direkt von `fastapi` importieren:
-
-```python
-from fastapi import APIRouter
-```
-
-::: fastapi.APIRouter
- options:
- members:
- - websocket
- - include_router
- - get
- - put
- - post
- - delete
- - options
- - head
- - patch
- - trace
- - on_event
diff --git a/docs/de/docs/reference/background.md b/docs/de/docs/reference/background.md
deleted file mode 100644
index 0fd389325..000000000
--- a/docs/de/docs/reference/background.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Hintergrundtasks – `BackgroundTasks`
-
-Sie können einen Parameter in einer *Pfadoperation-Funktion* oder einer Abhängigkeitsfunktion mit dem Typ `BackgroundTasks` deklarieren und diesen danach verwenden, um die Ausführung von Hintergrundtasks nach dem Senden der Response zu definieren.
-
-Sie können `BackgroundTasks` direkt von `fastapi` importieren:
-
-```python
-from fastapi import BackgroundTasks
-```
-
-::: fastapi.BackgroundTasks
diff --git a/docs/de/docs/reference/dependencies.md b/docs/de/docs/reference/dependencies.md
deleted file mode 100644
index 2ed5b5050..000000000
--- a/docs/de/docs/reference/dependencies.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# Abhängigkeiten – `Depends()` und `Security()`
-
-## `Depends()`
-
-Abhängigkeiten werden hauptsächlich mit der speziellen Funktion `Depends()` behandelt, die ein Callable entgegennimmt.
-
-Hier finden Sie deren Referenz und Parameter.
-
-Sie können sie direkt von `fastapi` importieren:
-
-```python
-from fastapi import Depends
-```
-
-::: fastapi.Depends
-
-## `Security()`
-
-In vielen Szenarien können Sie die Sicherheit (Autorisierung, Authentifizierung usw.) mit Abhängigkeiten handhaben, indem Sie `Depends()` verwenden.
-
-Wenn Sie jedoch auch OAuth2-Scopes deklarieren möchten, können Sie `Security()` anstelle von `Depends()` verwenden.
-
-Sie können `Security()` direkt von `fastapi` importieren:
-
-```python
-from fastapi import Security
-```
-
-::: fastapi.Security
diff --git a/docs/de/docs/reference/encoders.md b/docs/de/docs/reference/encoders.md
deleted file mode 100644
index 2489b8c60..000000000
--- a/docs/de/docs/reference/encoders.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Encoder – `jsonable_encoder`
-
-::: fastapi.encoders.jsonable_encoder
diff --git a/docs/de/docs/reference/exceptions.md b/docs/de/docs/reference/exceptions.md
deleted file mode 100644
index 230f902a9..000000000
--- a/docs/de/docs/reference/exceptions.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# Exceptions – `HTTPException` und `WebSocketException`
-
-Dies sind die Exceptions, die Sie auslösen können, um dem Client Fehler zu berichten.
-
-Wenn Sie eine Exception auslösen, wird, wie es bei normalem Python der Fall wäre, der Rest der Ausführung abgebrochen. Auf diese Weise können Sie diese Exceptions von überall im Code werfen, um einen Request abzubrechen und den Fehler dem Client anzuzeigen.
-
-Sie können Folgendes verwenden:
-
-* `HTTPException`
-* `WebSocketException`
-
-Diese Exceptions können direkt von `fastapi` importiert werden:
-
-```python
-from fastapi import HTTPException, WebSocketException
-```
-
-::: fastapi.HTTPException
-
-::: fastapi.WebSocketException
diff --git a/docs/de/docs/reference/fastapi.md b/docs/de/docs/reference/fastapi.md
deleted file mode 100644
index 4e6a56971..000000000
--- a/docs/de/docs/reference/fastapi.md
+++ /dev/null
@@ -1,31 +0,0 @@
-# `FastAPI`-Klasse
-
-Hier sind die Referenzinformationen für die Klasse `FastAPI` mit all ihren Parametern, Attributen und Methoden.
-
-Sie können die `FastAPI`-Klasse direkt von `fastapi` importieren:
-
-```python
-from fastapi import FastAPI
-```
-
-::: fastapi.FastAPI
- options:
- members:
- - openapi_version
- - webhooks
- - state
- - dependency_overrides
- - openapi
- - websocket
- - include_router
- - get
- - put
- - post
- - delete
- - options
- - head
- - patch
- - trace
- - on_event
- - middleware
- - exception_handler
diff --git a/docs/de/docs/reference/httpconnection.md b/docs/de/docs/reference/httpconnection.md
deleted file mode 100644
index 32a9696fa..000000000
--- a/docs/de/docs/reference/httpconnection.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# `HTTPConnection`-Klasse
-
-Wenn Sie Abhängigkeiten definieren möchten, die sowohl mit HTTP als auch mit WebSockets kompatibel sein sollen, können Sie einen Parameter definieren, der eine `HTTPConnection` anstelle eines `Request` oder eines `WebSocket` akzeptiert.
-
-Sie können diese von `fastapi.requests` importieren:
-
-```python
-from fastapi.requests import HTTPConnection
-```
-
-::: fastapi.requests.HTTPConnection
diff --git a/docs/de/docs/reference/index.md b/docs/de/docs/reference/index.md
deleted file mode 100644
index 6fd0ef15f..000000000
--- a/docs/de/docs/reference/index.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Referenz – Code-API
-
-Hier ist die Referenz oder Code-API, die Klassen, Funktionen, Parameter, Attribute und alle FastAPI-Teile, die Sie in Ihren Anwendungen verwenden können.
-
-Wenn Sie **FastAPI** lernen möchten, ist es viel besser, das [FastAPI-Tutorial](https://fastapi.tiangolo.com/tutorial/) zu lesen.
-
-/// note | "Hinweis Deutsche Übersetzung"
-
-Die nachfolgende API wird aus der Quelltext-Dokumentation erstellt, daher sind nur die Einleitungen auf Deutsch.
-
-///
diff --git a/docs/de/docs/reference/middleware.md b/docs/de/docs/reference/middleware.md
deleted file mode 100644
index d8d2d50fc..000000000
--- a/docs/de/docs/reference/middleware.md
+++ /dev/null
@@ -1,45 +0,0 @@
-# Middleware
-
-Es gibt mehrere Middlewares, die direkt von Starlette bereitgestellt werden.
-
-Lesen Sie mehr darüber in der [FastAPI-Dokumentation über Middleware](../advanced/middleware.md).
-
-::: fastapi.middleware.cors.CORSMiddleware
-
-Kann von `fastapi` importiert werden:
-
-```python
-from fastapi.middleware.cors import CORSMiddleware
-```
-
-::: fastapi.middleware.gzip.GZipMiddleware
-
-Kann von `fastapi` importiert werden:
-
-```python
-from fastapi.middleware.gzip import GZipMiddleware
-```
-
-::: fastapi.middleware.httpsredirect.HTTPSRedirectMiddleware
-
-Kann von `fastapi` importiert werden:
-
-```python
-from fastapi.middleware.httpsredirect import HTTPSRedirectMiddleware
-```
-
-::: fastapi.middleware.trustedhost.TrustedHostMiddleware
-
-Kann von `fastapi` importiert werden:
-
-```python
-from fastapi.middleware.trustedhost import TrustedHostMiddleware
-```
-
-::: fastapi.middleware.wsgi.WSGIMiddleware
-
-Kann von `fastapi` importiert werden:
-
-```python
-from fastapi.middleware.wsgi import WSGIMiddleware
-```
diff --git a/docs/de/docs/reference/openapi/docs.md b/docs/de/docs/reference/openapi/docs.md
deleted file mode 100644
index 3c19ba917..000000000
--- a/docs/de/docs/reference/openapi/docs.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# OpenAPI `docs`
-
-Werkzeuge zur Verwaltung der automatischen OpenAPI-UI-Dokumentation, einschließlich Swagger UI (standardmäßig unter `/docs`) und ReDoc (standardmäßig unter `/redoc`).
-
-::: fastapi.openapi.docs.get_swagger_ui_html
-
-::: fastapi.openapi.docs.get_redoc_html
-
-::: fastapi.openapi.docs.get_swagger_ui_oauth2_redirect_html
-
-::: fastapi.openapi.docs.swagger_ui_default_parameters
diff --git a/docs/de/docs/reference/openapi/index.md b/docs/de/docs/reference/openapi/index.md
deleted file mode 100644
index 0ae3d67c6..000000000
--- a/docs/de/docs/reference/openapi/index.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# OpenAPI
-
-Es gibt mehrere Werkzeuge zur Handhabung von OpenAPI.
-
-Normalerweise müssen Sie diese nicht verwenden, es sei denn, Sie haben einen bestimmten fortgeschrittenen Anwendungsfall, welcher das erfordert.
diff --git a/docs/de/docs/reference/openapi/models.md b/docs/de/docs/reference/openapi/models.md
deleted file mode 100644
index 64306b15f..000000000
--- a/docs/de/docs/reference/openapi/models.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# OpenAPI-`models`
-
-OpenAPI Pydantic-Modelle, werden zum Generieren und Validieren der generierten OpenAPI verwendet.
-
-::: fastapi.openapi.models
diff --git a/docs/de/docs/reference/parameters.md b/docs/de/docs/reference/parameters.md
deleted file mode 100644
index 2638eaf48..000000000
--- a/docs/de/docs/reference/parameters.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Request-Parameter
-
-Hier die Referenzinformationen für die Request-Parameter.
-
-Dies sind die Sonderfunktionen, die Sie mittels `Annotated` in *Pfadoperation-Funktion*-Parameter oder Abhängigkeitsfunktionen einfügen können, um Daten aus dem Request abzurufen.
-
-Dies beinhaltet:
-
-* `Query()`
-* `Path()`
-* `Body()`
-* `Cookie()`
-* `Header()`
-* `Form()`
-* `File()`
-
-Sie können diese alle direkt von `fastapi` importieren:
-
-```python
-from fastapi import Body, Cookie, File, Form, Header, Path, Query
-```
-
-::: fastapi.Query
-
-::: fastapi.Path
-
-::: fastapi.Body
-
-::: fastapi.Cookie
-
-::: fastapi.Header
-
-::: fastapi.Form
-
-::: fastapi.File
diff --git a/docs/de/docs/reference/request.md b/docs/de/docs/reference/request.md
deleted file mode 100644
index cf7eb61ad..000000000
--- a/docs/de/docs/reference/request.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# `Request`-Klasse
-
-Sie können einen Parameter in einer *Pfadoperation-Funktion* oder einer Abhängigkeit als vom Typ `Request` deklarieren und dann direkt auf das Requestobjekt zugreifen, ohne jegliche Validierung, usw.
-
-Sie können es direkt von `fastapi` importieren:
-
-```python
-from fastapi import Request
-```
-
-/// tip | "Tipp"
-
-Wenn Sie Abhängigkeiten definieren möchten, die sowohl mit HTTP als auch mit WebSockets kompatibel sein sollen, können Sie einen Parameter definieren, der eine `HTTPConnection` anstelle eines `Request` oder eines `WebSocket` akzeptiert.
-
-///
-
-::: fastapi.Request
diff --git a/docs/de/docs/reference/response.md b/docs/de/docs/reference/response.md
deleted file mode 100644
index 215918931..000000000
--- a/docs/de/docs/reference/response.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# `Response`-Klasse
-
-Sie können einen Parameter in einer *Pfadoperation-Funktion* oder einer Abhängigkeit als `Response` deklarieren und dann Daten für die Response wie Header oder Cookies festlegen.
-
-Diese können Sie auch direkt verwenden, um eine Instanz davon zu erstellen und diese von Ihren *Pfadoperationen* zurückzugeben.
-
-Sie können sie direkt von `fastapi` importieren:
-
-```python
-from fastapi import Response
-```
-
-::: fastapi.Response
diff --git a/docs/de/docs/reference/responses.md b/docs/de/docs/reference/responses.md
deleted file mode 100644
index c0e9f07e7..000000000
--- a/docs/de/docs/reference/responses.md
+++ /dev/null
@@ -1,164 +0,0 @@
-# Benutzerdefinierte Responseklassen – File, HTML, Redirect, Streaming, usw.
-
-Es gibt mehrere benutzerdefinierte Responseklassen, von denen Sie eine Instanz erstellen und diese direkt von Ihren *Pfadoperationen* zurückgeben können.
-
-Lesen Sie mehr darüber in der [FastAPI-Dokumentation zu benutzerdefinierten Responses – HTML, Stream, Datei, andere](../advanced/custom-response.md).
-
-Sie können diese direkt von `fastapi.responses` importieren:
-
-```python
-from fastapi.responses import (
- FileResponse,
- HTMLResponse,
- JSONResponse,
- ORJSONResponse,
- PlainTextResponse,
- RedirectResponse,
- Response,
- StreamingResponse,
- UJSONResponse,
-)
-```
-
-## FastAPI-Responses
-
-Es gibt einige benutzerdefinierte FastAPI-Responseklassen, welche Sie verwenden können, um die JSON-Performanz zu optimieren.
-
-::: fastapi.responses.UJSONResponse
- options:
- members:
- - charset
- - status_code
- - media_type
- - body
- - background
- - raw_headers
- - render
- - init_headers
- - headers
- - set_cookie
- - delete_cookie
-
-::: fastapi.responses.ORJSONResponse
- options:
- members:
- - charset
- - status_code
- - media_type
- - body
- - background
- - raw_headers
- - render
- - init_headers
- - headers
- - set_cookie
- - delete_cookie
-
-## Starlette-Responses
-
-::: fastapi.responses.FileResponse
- options:
- members:
- - chunk_size
- - charset
- - status_code
- - media_type
- - body
- - background
- - raw_headers
- - render
- - init_headers
- - headers
- - set_cookie
- - delete_cookie
-
-::: fastapi.responses.HTMLResponse
- options:
- members:
- - charset
- - status_code
- - media_type
- - body
- - background
- - raw_headers
- - render
- - init_headers
- - headers
- - set_cookie
- - delete_cookie
-
-::: fastapi.responses.JSONResponse
- options:
- members:
- - charset
- - status_code
- - media_type
- - body
- - background
- - raw_headers
- - render
- - init_headers
- - headers
- - set_cookie
- - delete_cookie
-
-::: fastapi.responses.PlainTextResponse
- options:
- members:
- - charset
- - status_code
- - media_type
- - body
- - background
- - raw_headers
- - render
- - init_headers
- - headers
- - set_cookie
- - delete_cookie
-
-::: fastapi.responses.RedirectResponse
- options:
- members:
- - charset
- - status_code
- - media_type
- - body
- - background
- - raw_headers
- - render
- - init_headers
- - headers
- - set_cookie
- - delete_cookie
-
-::: fastapi.responses.Response
- options:
- members:
- - charset
- - status_code
- - media_type
- - body
- - background
- - raw_headers
- - render
- - init_headers
- - headers
- - set_cookie
- - delete_cookie
-
-::: fastapi.responses.StreamingResponse
- options:
- members:
- - body_iterator
- - charset
- - status_code
- - media_type
- - body
- - background
- - raw_headers
- - render
- - init_headers
- - headers
- - set_cookie
- - delete_cookie
diff --git a/docs/de/docs/reference/security/index.md b/docs/de/docs/reference/security/index.md
deleted file mode 100644
index 4c2375f2f..000000000
--- a/docs/de/docs/reference/security/index.md
+++ /dev/null
@@ -1,73 +0,0 @@
-# Sicherheitstools
-
-Wenn Sie Abhängigkeiten mit OAuth2-Scopes deklarieren müssen, verwenden Sie `Security()`.
-
-Aber Sie müssen immer noch definieren, was das Dependable, das Callable ist, welches Sie als Parameter an `Depends()` oder `Security()` übergeben.
-
-Es gibt mehrere Tools, mit denen Sie diese Dependables erstellen können, und sie werden in OpenAPI integriert, sodass sie in der Oberfläche der automatischen Dokumentation angezeigt werden und von automatisch generierten Clients und SDKs, usw., verwendet werden können.
-
-Sie können sie von `fastapi.security` importieren:
-
-```python
-from fastapi.security import (
- APIKeyCookie,
- APIKeyHeader,
- APIKeyQuery,
- HTTPAuthorizationCredentials,
- HTTPBasic,
- HTTPBasicCredentials,
- HTTPBearer,
- HTTPDigest,
- OAuth2,
- OAuth2AuthorizationCodeBearer,
- OAuth2PasswordBearer,
- OAuth2PasswordRequestForm,
- OAuth2PasswordRequestFormStrict,
- OpenIdConnect,
- SecurityScopes,
-)
-```
-
-## API-Schlüssel-Sicherheitsschemas
-
-::: fastapi.security.APIKeyCookie
-
-::: fastapi.security.APIKeyHeader
-
-::: fastapi.security.APIKeyQuery
-
-## HTTP-Authentifizierungsschemas
-
-::: fastapi.security.HTTPBasic
-
-::: fastapi.security.HTTPBearer
-
-::: fastapi.security.HTTPDigest
-
-## HTTP-Anmeldeinformationen
-
-::: fastapi.security.HTTPAuthorizationCredentials
-
-::: fastapi.security.HTTPBasicCredentials
-
-## OAuth2-Authentifizierung
-
-::: fastapi.security.OAuth2
-
-::: fastapi.security.OAuth2AuthorizationCodeBearer
-
-::: fastapi.security.OAuth2PasswordBearer
-
-## OAuth2-Passwortformulare
-
-::: fastapi.security.OAuth2PasswordRequestForm
-
-::: fastapi.security.OAuth2PasswordRequestFormStrict
-
-## OAuth2-Sicherheitsscopes in Abhängigkeiten
-
-::: fastapi.security.SecurityScopes
-
-## OpenID Connect
-
-::: fastapi.security.OpenIdConnect
diff --git a/docs/de/docs/reference/staticfiles.md b/docs/de/docs/reference/staticfiles.md
deleted file mode 100644
index 5629854c6..000000000
--- a/docs/de/docs/reference/staticfiles.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Statische Dateien – `StaticFiles`
-
-Sie können die `StaticFiles`-Klasse verwenden, um statische Dateien wie JavaScript, CSS, Bilder, usw. bereitzustellen.
-
-Lesen Sie mehr darüber in der [FastAPI-Dokumentation zu statischen Dateien](../tutorial/static-files.md).
-
-Sie können sie direkt von `fastapi.staticfiles` importieren:
-
-```python
-from fastapi.staticfiles import StaticFiles
-```
-
-::: fastapi.staticfiles.StaticFiles
diff --git a/docs/de/docs/reference/status.md b/docs/de/docs/reference/status.md
deleted file mode 100644
index 1d9458ee9..000000000
--- a/docs/de/docs/reference/status.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# Statuscodes
-
-Sie können das Modul `status` von `fastapi` importieren:
-
-```python
-from fastapi import status
-```
-
-`status` wird direkt von Starlette bereitgestellt.
-
-Es enthält eine Gruppe benannter Konstanten (Variablen) mit ganzzahligen Statuscodes.
-
-Zum Beispiel:
-
-* 200: `status.HTTP_200_OK`
-* 403: `status.HTTP_403_FORBIDDEN`
-* usw.
-
-Es kann praktisch sein, schnell auf HTTP- (und WebSocket-)Statuscodes in Ihrer Anwendung zuzugreifen, indem Sie die automatische Vervollständigung für den Namen verwenden, ohne sich die Zahlen für die Statuscodes merken zu müssen.
-
-Lesen Sie mehr darüber in der [FastAPI-Dokumentation zu Response-Statuscodes](../tutorial/response-status-code.md).
-
-## Beispiel
-
-```python
-from fastapi import FastAPI, status
-
-app = FastAPI()
-
-
-@app.get("/items/", status_code=status.HTTP_418_IM_A_TEAPOT)
-def read_items():
- return [{"name": "Plumbus"}, {"name": "Portal Gun"}]
-```
-
-::: fastapi.status
diff --git a/docs/de/docs/reference/templating.md b/docs/de/docs/reference/templating.md
deleted file mode 100644
index c367a0179..000000000
--- a/docs/de/docs/reference/templating.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Templating – `Jinja2Templates`
-
-Sie können die `Jinja2Templates`-Klasse verwenden, um Jinja-Templates zu rendern.
-
-Lesen Sie mehr darüber in der [FastAPI-Dokumentation zu Templates](../advanced/templates.md).
-
-Sie können die Klasse direkt von `fastapi.templating` importieren:
-
-```python
-from fastapi.templating import Jinja2Templates
-```
-
-::: fastapi.templating.Jinja2Templates
diff --git a/docs/de/docs/reference/testclient.md b/docs/de/docs/reference/testclient.md
deleted file mode 100644
index 5bc089c05..000000000
--- a/docs/de/docs/reference/testclient.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Testclient – `TestClient`
-
-Sie können die `TestClient`-Klasse verwenden, um FastAPI-Anwendungen zu testen, ohne eine tatsächliche HTTP- und Socket-Verbindung zu erstellen, Sie kommunizieren einfach direkt mit dem FastAPI-Code.
-
-Lesen Sie mehr darüber in der [FastAPI-Dokumentation über Testen](../tutorial/testing.md).
-
-Sie können sie direkt von `fastapi.testclient` importieren:
-
-```python
-from fastapi.testclient import TestClient
-```
-
-::: fastapi.testclient.TestClient
diff --git a/docs/de/docs/reference/uploadfile.md b/docs/de/docs/reference/uploadfile.md
deleted file mode 100644
index 8556edf82..000000000
--- a/docs/de/docs/reference/uploadfile.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# `UploadFile`-Klasse
-
-Sie können *Pfadoperation-Funktionsparameter* als Parameter vom Typ `UploadFile` definieren, um Dateien aus dem Request zu erhalten.
-
-Sie können es direkt von `fastapi` importieren:
-
-```python
-from fastapi import UploadFile
-```
-
-::: fastapi.UploadFile
- options:
- members:
- - file
- - filename
- - size
- - headers
- - content_type
- - read
- - write
- - seek
- - close
diff --git a/docs/de/docs/reference/websockets.md b/docs/de/docs/reference/websockets.md
deleted file mode 100644
index d5597d0ee..000000000
--- a/docs/de/docs/reference/websockets.md
+++ /dev/null
@@ -1,67 +0,0 @@
-# WebSockets
-
-Bei der Definition von WebSockets deklarieren Sie normalerweise einen Parameter vom Typ `WebSocket` und können damit Daten vom Client lesen und an ihn senden. Er wird direkt von Starlette bereitgestellt, Sie können ihn aber von `fastapi` importieren:
-
-```python
-from fastapi import WebSocket
-```
-
-/// tip | "Tipp"
-
-Wenn Sie Abhängigkeiten definieren möchten, die sowohl mit HTTP als auch mit WebSockets kompatibel sein sollen, können Sie einen Parameter definieren, der eine `HTTPConnection` anstelle eines `Request` oder eines `WebSocket` akzeptiert.
-
-///
-
-::: fastapi.WebSocket
- options:
- members:
- - scope
- - app
- - url
- - base_url
- - headers
- - query_params
- - path_params
- - cookies
- - client
- - state
- - url_for
- - client_state
- - application_state
- - receive
- - send
- - accept
- - receive_text
- - receive_bytes
- - receive_json
- - iter_text
- - iter_bytes
- - iter_json
- - send_text
- - send_bytes
- - send_json
- - close
-
-Wenn ein Client die Verbindung trennt, wird eine `WebSocketDisconnect`-Exception ausgelöst, die Sie abfangen können.
-
-Sie können diese direkt von `fastapi` importieren:
-
-```python
-from fastapi import WebSocketDisconnect
-```
-
-::: fastapi.WebSocketDisconnect
-
-## WebSockets – zusätzliche Klassen
-
-Zusätzliche Klassen für die Handhabung von WebSockets.
-
-Werden direkt von Starlette bereitgestellt, Sie können sie jedoch von `fastapi` importieren:
-
-```python
-from fastapi.websockets import WebSocketDisconnect, WebSocketState
-```
-
-::: fastapi.websockets.WebSocketDisconnect
-
-::: fastapi.websockets.WebSocketState
diff --git a/docs/em/docs/external-links.md b/docs/em/docs/external-links.md
deleted file mode 100644
index 486b134d4..000000000
--- a/docs/em/docs/external-links.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# 🔢 🔗 & 📄
-
-**FastAPI** ✔️ 👑 👪 🕧 💗.
-
-📤 📚 🏤, 📄, 🧰, & 🏗, 🔗 **FastAPI**.
-
-📥 ❌ 📇 👫.
-
-/// tip
-
-🚥 👆 ✔️ 📄, 🏗, 🧰, ⚖️ 🕳 🔗 **FastAPI** 👈 🚫 📇 📥, ✍ 🚲 📨 ❎ ⚫️.
-
-///
-
-## 📄
-
-{% for section_name, section_content in external_links.items() %}
-
-## {{ section_name }}
-
-{% for lang_name, lang_content in section_content.items() %}
-
-### {{ lang_name }}
-
-{% for item in lang_content %}
-
-* {{ item.title }} by {{ item.author }}.
-
-{% endfor %}
-{% endfor %}
-{% endfor %}
-
-## 🏗
-
-⏪ 📂 🏗 ⏮️ ❔ `fastapi`:
-
-
-
diff --git a/docs/en/docs/contributing.md b/docs/en/docs/contributing.md
index 9d6b773f7..73d96e6e1 100644
--- a/docs/en/docs/contributing.md
+++ b/docs/en/docs/contributing.md
@@ -370,6 +370,22 @@ If you go to your browser you will see that now the docs show your new section (
Now you can translate it all and see how it looks as you save the file.
+/// warning
+
+Don't translate:
+
+* Files under `reference/`
+* `release-notes.md`
+* `fastapi-people.md`
+* `external-links.md`
+* `newsletter.md`
+* `management-tasks.md`
+* `management.md`
+
+Some of these files are updated very frequently and a translation would always be behind, or they include the main content from English source files, etc.
+
+///
+
#### New Language
Let's say that you want to add translations for a language that is not yet translated, not even some pages.
diff --git a/docs/es/docs/external-links.md b/docs/es/docs/external-links.md
deleted file mode 100644
index 8163349ab..000000000
--- a/docs/es/docs/external-links.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# Enlaces Externos y Artículos
-
-**FastAPI** tiene una gran comunidad en constante crecimiento.
-
-Hay muchas publicaciones, artículos, herramientas y proyectos relacionados con **FastAPI**.
-
-Aquí hay una lista incompleta de algunos de ellos.
-
-/// tip | "Consejo"
-
-Si tienes un artículo, proyecto, herramienta o cualquier cosa relacionada con **FastAPI** que aún no aparece aquí, crea un Pull Request agregándolo.
-
-///
-
-{% for section_name, section_content in external_links.items() %}
-
-## {{ section_name }}
-
-{% for lang_name, lang_content in section_content.items() %}
-
-### {{ lang_name }}
-
-{% for item in lang_content %}
-
-* {{ item.title }} by {{ item.author }}.
-
-{% endfor %}
-{% endfor %}
-{% endfor %}
-
-## Projects
-
-Últimos proyectos de GitHub con el tema `fastapi`:
-
-
-
diff --git a/docs/es/docs/newsletter.md b/docs/es/docs/newsletter.md
deleted file mode 100644
index f4dcfe155..000000000
--- a/docs/es/docs/newsletter.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Boletín de Noticias de FastAPI y amigos
-
-
-
-
diff --git a/docs/fr/docs/external-links.md b/docs/fr/docs/external-links.md
deleted file mode 100644
index 91a9eae58..000000000
--- a/docs/fr/docs/external-links.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# Articles et liens externes
-
-**FastAPI** possède une grande communauté en constante extension.
-
-Il existe de nombreux articles, outils et projets liés à **FastAPI**.
-
-Voici une liste incomplète de certains d'entre eux.
-
-/// tip | "Astuce"
-
-Si vous avez un article, projet, outil, ou quoi que ce soit lié à **FastAPI** qui n'est actuellement pas listé ici, créez une Pull Request l'ajoutant.
-
-///
-
-{% for section_name, section_content in external_links.items() %}
-
-## {{ section_name }}
-
-{% for lang_name, lang_content in section_content.items() %}
-
-### {{ lang_name }}
-
-{% for item in lang_content %}
-
-* {{ item.title }} by {{ item.author }}.
-
-{% endfor %}
-{% endfor %}
-{% endfor %}
-
-## Projets
-
-Les projets Github avec le topic `fastapi` les plus récents :
-
-
-
diff --git a/docs/ja/docs/external-links.md b/docs/ja/docs/external-links.md
deleted file mode 100644
index 65cebc8d2..000000000
--- a/docs/ja/docs/external-links.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# 外部リンク・記事
-
-**FastAPI**には、絶えず成長している素晴らしいコミュニティがあります。
-
-**FastAPI**に関連する投稿、記事、ツール、およびプロジェクトは多数あります。
-
-それらの不完全なリストを以下に示します。
-
-/// tip | "豆知識"
-
-ここにまだ載っていない**FastAPI**に関連する記事、プロジェクト、ツールなどがある場合は、 プルリクエストして下さい。
-
-///
-
-{% for section_name, section_content in external_links.items() %}
-
-## {{ section_name }}
-
-{% for lang_name, lang_content in section_content.items() %}
-
-### {{ lang_name }}
-
-{% for item in lang_content %}
-
-* {{ item.title }} by {{ item.author }}.
-
-{% endfor %}
-{% endfor %}
-{% endfor %}
-
-## プロジェクト
-
-`fastapi`トピックの最新のGitHubプロジェクト:
-
-
-
diff --git a/docs/pt/docs/external-links.md b/docs/pt/docs/external-links.md
deleted file mode 100644
index 622ad5ab6..000000000
--- a/docs/pt/docs/external-links.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# Links externos e Artigos
-
-**FastAPI** tem uma grande comunidade em crescimento constante.
-
-Existem muitas postagens, artigos, ferramentas e projetos relacionados ao **FastAPI**.
-
-Aqui tem uma lista, incompleta, de algumas delas.
-
-/// tip | "Dica"
-
-Se você tem um artigo, projeto, ferramenta ou qualquer coisa relacionada ao **FastAPI** que ainda não está listada aqui, crie um _Pull Request_ adicionando ele.
-
-///
-
-{% for section_name, section_content in external_links.items() %}
-
-## {{ section_name }}
-
-{% for lang_name, lang_content in section_content.items() %}
-
-### {{ lang_name }}
-
-{% for item in lang_content %}
-
-* {{ item.title }} by {{ item.author }}.
-
-{% endfor %}
-{% endfor %}
-{% endfor %}
-
-## Projetos
-
-Últimos projetos no GitHub com o tópico `fastapi`:
-
-
-
diff --git a/docs/pt/docs/reference/apirouter.md b/docs/pt/docs/reference/apirouter.md
deleted file mode 100644
index 7568601c9..000000000
--- a/docs/pt/docs/reference/apirouter.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Classe `APIRouter`
-
-Aqui está a informação de referência para a classe `APIRouter`, com todos os seus parâmetros, atributos e métodos.
-
-Você pode importar a classe `APIRouter` diretamente do `fastapi`:
-
-```python
-from fastapi import APIRouter
-```
-
-::: fastapi.APIRouter
- options:
- members:
- - websocket
- - include_router
- - get
- - put
- - post
- - delete
- - options
- - head
- - patch
- - trace
- - on_event
diff --git a/docs/pt/docs/reference/background.md b/docs/pt/docs/reference/background.md
deleted file mode 100644
index bfc15aa76..000000000
--- a/docs/pt/docs/reference/background.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Tarefas em Segundo Plano - `BackgroundTasks`
-
-Você pode declarar um parâmetro em uma *função de operação de rota* ou em uma função de dependência com o tipo `BackgroundTasks`, e então utilizá-lo para agendar a execução de tarefas em segundo plano após o envio da resposta.
-
-Você pode importá-lo diretamente do `fastapi`:
-
-```python
-from fastapi import BackgroundTasks
-```
-
-::: fastapi.BackgroundTasks
diff --git a/docs/pt/docs/reference/exceptions.md b/docs/pt/docs/reference/exceptions.md
deleted file mode 100644
index d6b5d2613..000000000
--- a/docs/pt/docs/reference/exceptions.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# Exceções - `HTTPException` e `WebSocketException`
-
-Essas são as exceções que você pode lançar para mostrar erros ao cliente.
-
-Quando você lança uma exceção, como aconteceria com o Python normal, o restante da execução é abortado. Dessa forma, você pode lançar essas exceções de qualquer lugar do código para abortar uma solicitação e mostrar o erro ao cliente.
-
-Você pode usar:
-
-* `HTTPException`
-* `WebSocketException`
-
-Essas exceções podem ser importadas diretamente do `fastapi`:
-
-```python
-from fastapi import HTTPException, WebSocketException
-```
-
-::: fastapi.HTTPException
-
-::: fastapi.WebSocketException
diff --git a/docs/pt/docs/reference/index.md b/docs/pt/docs/reference/index.md
deleted file mode 100644
index 533a6a996..000000000
--- a/docs/pt/docs/reference/index.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Referência - API de Código
-
-Aqui está a referência ou API de código, as classes, funções, parâmetros, atributos e todas as partes do FastAPI que você pode usar em suas aplicações.
-
-Se você quer **aprender FastAPI**, é muito melhor ler o
-[FastAPI Tutorial](https://fastapi.tiangolo.com/tutorial/).
diff --git a/docs/ru/docs/external-links.md b/docs/ru/docs/external-links.md
deleted file mode 100644
index 2c0e153e2..000000000
--- a/docs/ru/docs/external-links.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# Внешние ссылки и статьи
-
-**FastAPI** имеет отличное и постоянно растущее сообщество.
-
-Существует множество сообщений, статей, инструментов и проектов, связанных с **FastAPI**.
-
-Вот неполный список некоторых из них.
-
-/// tip
-
-Если у вас есть статья, проект, инструмент или что-либо, связанное с **FastAPI**, что еще не перечислено здесь, создайте Pull Request.
-
-///
-
-{% for section_name, section_content in external_links.items() %}
-
-## {{ section_name }}
-
-{% for lang_name, lang_content in section_content.items() %}
-
-### {{ lang_name }}
-
-{% for item in lang_content %}
-
-* {{ item.title }} by {{ item.author }}.
-
-{% endfor %}
-{% endfor %}
-{% endfor %}
-
-## Проекты
-
-Последние GitHub-проекты с пометкой `fastapi`:
-
-
-
diff --git a/docs/tr/docs/external-links.md b/docs/tr/docs/external-links.md
deleted file mode 100644
index 6e8af4025..000000000
--- a/docs/tr/docs/external-links.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# Harici Bağlantılar ve Makaleler
-
-**FastAPI** sürekli büyüyen harika bir topluluğa sahiptir.
-
-**FastAPI** ile alakalı birçok yazı, makale, araç ve proje bulunmaktadır.
-
-Bunlardan bazılarının tamamlanmamış bir listesi aşağıda bulunmaktadır.
-
-/// tip | "İpucu"
-
-Eğer **FastAPI** ile alakalı henüz burada listelenmemiş bir makale, proje, araç veya başka bir şeyiniz varsa, bunu eklediğiniz bir Pull Request oluşturabilirsiniz.
-
-///
-
-{% for section_name, section_content in external_links.items() %}
-
-## {{ section_name }}
-
-{% for lang_name, lang_content in section_content.items() %}
-
-### {{ lang_name }}
-
-{% for item in lang_content %}
-
-* {{ item.title }} by {{ item.author }}.
-
-{% endfor %}
-{% endfor %}
-{% endfor %}
-
-## Projeler
-
-`fastapi` konulu en son GitHub projeleri:
-
-
-
diff --git a/docs/tr/docs/newsletter.md b/docs/tr/docs/newsletter.md
deleted file mode 100644
index 22ca1b1e2..000000000
--- a/docs/tr/docs/newsletter.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# FastAPI ve Arkadaşları Bülteni
-
-
-
-
diff --git a/scripts/docs.py b/scripts/docs.py
index 5ef548889..1dba4aa0a 100644
--- a/scripts/docs.py
+++ b/scripts/docs.py
@@ -26,6 +26,15 @@ missing_translation_snippet = """
{!../../../docs/missing-translation.md!}
"""
+non_translated_sections = [
+ "reference/",
+ "release-notes.md",
+ "external-links.md",
+ "newsletter.md",
+ "management-tasks.md",
+ "management.md",
+]
+
docs_path = Path("docs")
en_docs_path = Path("docs/en")
en_config_path: Path = en_docs_path / mkdocs_name
@@ -333,10 +342,34 @@ def verify_config() -> None:
typer.echo("Valid mkdocs.yml ✅")
+@app.command()
+def verify_non_translated() -> None:
+ """
+ Verify there are no files in the non translatable pages.
+ """
+ print("Verifying non translated pages")
+ lang_paths = get_lang_paths()
+ error_paths = []
+ for lang in lang_paths:
+ if lang.name == "en":
+ continue
+ for non_translatable in non_translated_sections:
+ non_translatable_path = lang / "docs" / non_translatable
+ if non_translatable_path.exists():
+ error_paths.append(non_translatable_path)
+ if error_paths:
+ print("Non-translated pages found, remove them:")
+ for error_path in error_paths:
+ print(error_path)
+ raise typer.Abort()
+ print("No non-translated pages found ✅")
+
+
@app.command()
def verify_docs():
verify_readme()
verify_config()
+ verify_non_translated()
@app.command()
diff --git a/scripts/mkdocs_hooks.py b/scripts/mkdocs_hooks.py
index 24ffecf46..10e8dc153 100644
--- a/scripts/mkdocs_hooks.py
+++ b/scripts/mkdocs_hooks.py
@@ -8,9 +8,13 @@ from mkdocs.structure.files import File, Files
from mkdocs.structure.nav import Link, Navigation, Section
from mkdocs.structure.pages import Page
-non_traslated_sections = [
+non_translated_sections = [
"reference/",
"release-notes.md",
+ "external-links.md",
+ "newsletter.md",
+ "management-tasks.md",
+ "management.md",
]
@@ -128,7 +132,7 @@ def on_page_markdown(
markdown: str, *, page: Page, config: MkDocsConfig, files: Files
) -> str:
if isinstance(page.file, EnFile):
- for excluded_section in non_traslated_sections:
+ for excluded_section in non_translated_sections:
if page.file.src_path.startswith(excluded_section):
return markdown
missing_translation_content = get_missing_translation_content(config.docs_dir)