Revise current German translation (#775)

* Revise controllers.de.md

* Revise environment.de.md

* Revise macos.de.md

* Translate the navigation items

---------

Co-authored-by: Tim Condon <0xTim@users.noreply.github.com>
This commit is contained in:
Mattes Mohr 2023-03-01 01:17:01 +01:00 committed by GitHub
parent 7539bc06e4
commit e7158eae8a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 55 additions and 61 deletions

View File

@ -1,10 +1,6 @@
# Controllers
# Controller
Mit Controllers kannst du deinen Code strukturieren und in deinem Projekt für Ordnung sorgen. Ein Controller kann ein oder mehrere Methoden besitzen, die dazu da sind die Anfrage entgegenzunehmen und ein enstprechendes Ergebnis zurückzuliefern.
## Beispiel
Das folgende Beispiel zeigt einen möglichen Aufbau eines Controllers:
Mit Controller kannst du deinen Code sinnvoll aufteilen und in deinem Projekt für Ordnung sorgen. Ein Controller kann beispielsweise ein oder mehrere Methoden beinhalten, die Serveranfragen entgegennehmen und ein enstprechendes Ergebnis zurückliefern. Das folgende Beispiel zeigt einen möglichen Aufbau eines solchen Controllers:
```swift
/// [TodoController.swift]
@ -13,12 +9,10 @@ import Vapor
struct TodosController: RouteCollection {
/// [1]
func index(req: Request) async throws -> String {
// ...
}
/// [2]
func create(req: Request) throws -> EventLoopFuture<String> {
// ...
}
@ -52,11 +46,9 @@ struct TodosController: RouteCollection {
}
```
Die Methoden sollten immer ein Object vom Typ _Request_ annehmen und ein Wert von Typ _ResponseEncodable_ zurückgegeben. Dabei kann die Methode sowohl asynchron (siehe im Beispiel Punkt [1]), als auch synchron (siehe im Beispiel, Punkt [2]) ausgeführt werden.
Die Methoden sollten immer ein Object vom Typ _Request_ annehmen und ein Wert von Typ _ResponseEncodable_ zurückgegeben. Dabei kann die Methode sowohl asynchron mittels _async/await_ oder _EventLoopFuture_, als auch synchron ausgeführt werden.
### Register
Zum Schluss muss der Anwendung noch der Controller in der Datei _routes.swift_ bekannt gemacht werden.
Zum Schluss muss der Controller der Anwendung bekannt gemacht werden. Hierzu wird der Controller mit Hilfe der Methode _register(:_)_ an das Object _app_ übergeben.
```swift
/// [routes.swift]

View File

@ -1,17 +1,17 @@
# Umgebung
In Vapor gibt es mehrere Umgebungen mit denen du Einstellungen individuell vordefinieren kannst. Mit dem Wechsel der Umgebung ändert sich dann das Verhalten deiner Anwendung. Du kannst aber auch Werte direkt aus dem aktuellen Prozess abrufen oder aus einer .env-Datei laden.
In Vapor gibt es mehrere Umgebungen mit denen wir Standardwerte individuell für die Umgebung vordefinieren können. Mit dem Wechsel der Umgebung ändert sich automatisch das Verhalten der Anwendung. Wir können aber auch Werte direkt aus dem aktuellen Prozess abrufen oder aus einer sogenannten Umgebungsdatei (*.env) laden.
| Umgebung | Kurzform | Beschreibung |
|-----------------------|------------|---------------------------------------------|
| production | prod | Umgebung bei Veröffentlichung. |
| development (default) | dev | Umgebung für Entwicklung. |
| development (default) | dev | Umgebung für die Entwicklung. |
| testing | test | Umgebung zum Testen. |
| Vapor nutzt standardmäßig die Umgebung _Development_. |
## Eigenschaft
Du kannst über die Eigenschaft _Environment_ auf die laufenden Umgebung zugreifen oder zwischen den Umgebungen wechseln.
Wir können über die Eigenschaft _Environment_ auf die laufenden Umgebung zugreifen oder zwischen den Umgebungen wechseln.
```swift
/// [configure.swift]
@ -43,64 +43,40 @@ let foo = Environment.get("FOO")
print(foo) // String?
```
Zusätzlich kannst du den Wert aber auch dynamisch über die Eigenschaft _process_ abrufen.
Zusätzlich können wir den Wert auch dynamisch über die Eigenschaft _process_ abrufen.
```swift
let foo = Environment.process.FOO
print(foo) // String?
```
#### - Definieren
#### - Bestimmen
In Xcode kannst du die eine Prozessvariable über das Schema _Run_ festlegen. Im Terminal benutze den Befehl _export_.
In Xcode können wir eine Prozessvariable über das Schema _Run_ festlegen.
Im Terminal gibt es hierzu den Befehl _export_:
```sh
export FOO=BAR
vapor run serve
```
### .env (dotenv)
### Umgebungsdatei
Eine .env-Datei beinhaltet Schlüssel-Wert-Paare, welche entsprechend der Umgebung geladen werden. Auf dieser Art müssen die Umgebungsvariablen nicht manuell angelegt werden. Vapor lädt die Datei aus dem Arbeitsverzeichnis.
Eine Umgebungsdatei besteht aus Schlüssel-Wert-Paare, welche entsprechend der Umgebung geladen werden. Auf dieser Weise müssen die Umgebungsvariablen nicht manuell angelegt werden. Vapor lädt die Datei beim Starten aus dem Arbeitsverzeichnis.
```sh
# Key=Value
FOO=BAR
```
When your application boots, you will be able to access the contents of this file like other process environment variables.
Nach dem Starten können wir auf die angegeben Umgebungsvariablen zugreifen. Bestehende Umgebungsvariablen werden nicht durch Variablen aus der Umgebungsdatei überschrieben.
```swift
let foo = Environment.get("FOO")
print(foo) // String?
```
Neben der allgemeinen Umgebungsdatei _.env_, versucht Vapor zusätzlich die Umgebungsdatei für die aktuelle Umgebung zu laden. Wenn sich die Anwendung zum Beispiel in der Umgebung _Entwicklung_ befindet, wird Vapor versuchen die Datei _.env.development_ zu laden. Umgebungsvariablen aus der Umgebungsdatei _.env.development_ werden von Vapor höher als die Variablen der allgemeinen Umgebungsdatei eingestuft.
!!! info
Variables specified in `.env` files will not overwrite variables that already exist in the process environment.
## Benutzerdefinierte Umgebungen
Alongside `.env`, Vapor will also attempt to load a dotenv file for the current environment. For example, when in the `development` environment, Vapor will load `.env.development`. Any values in the specific environment file will take precedence over the general `.env` file.
A typical pattern is for projects to include a `.env` file as a template with default values. Specific environment files are ignored with the following pattern in `.gitignore`:
```gitignore
.env.*
```
When the project is cloned to a new computer, the template `.env` file can be copied and have the correct values inserted.
```sh
cp .env .env.development
vim .env.development
```
!!! warning
Dotenv files with sensitive information such as passwords should not be committed to version control.
If you're having difficulty getting dotenv files to load, try enabling debug logging with `--log debug` for more information.
## Custom Environments
To define a custom environment name, extend `Environment`.
In Vapor können wir eigene Umgebungen anlegen. Hierzu müssen wir nur die Klasse _Environment_ entsprechend erweitern:
```swift
extension Environment {
@ -110,9 +86,11 @@ extension Environment {
}
```
The application's environment is usually set in `main.swift` using `Environment.detect()`.
Die laufende Umgebung wird standardmäßig in der Datei _main_ über die Methode _detect()_ erkannt und gesetzt:
```swift
// [main.swift]
import Vapor
var env = try Environment.detect()
@ -122,10 +100,12 @@ let app = Application(env)
defer { app.shutdown() }
```
The `detect` method uses the process's command line arguments and parses the `--env` flag automatically. You can override this behavior by initializing a custom `Environment` struct.
Die Methode greift auf die Argumente der Befehlzeile zu und zieht sich den entsprechenden Wert für das Argument _--env_.
Wir können das Standardverhalten überschreiben, indem wir die Methode durch eine neue Umgebungsdefinition ersetzen:
```swift
let env = Environment(name: "testing", arguments: ["vapor"])
```
The arguments array must contain at least one argument which represents the executable name. Further arguments can be supplied to simulate passing arguments via the command line. This is especially useful for testing.
Das Array für die Argumente muss mindestens den Wert _vapor_ behinalten.

View File

@ -1,14 +1,14 @@
# Installation unter macOS
Die Mindestvoraussetzung für Vapor ist Swift 5.2 oder höher.
Die Mindestvoraussetzung für Vapor unter macOS ist Swift 5.2 (oder aktueller).
## Xcode-Installation
## Xcode
Xcode ist eine Entwicklungsumgebung von Apple. Du findest die App im [AppStore](https://itunes.apple.com/us/app/xcode/id497799835?mt=12). Mit der Installation von Xcode wird auch Swift installiert.
Xcode ist Apple`s eigene Entwicklungsumgebung. Du findest die App im [AppStore](https://itunes.apple.com/us/app/xcode/id497799835?mt=12). Mit der Installation von Xcode wird auch gleich Swift mitinstalliert.
![Xcode in Mac App Store](../images/xcode-mac-app-store.png)
Sobald die App heruntergeladen ist, führe die Installation aus. Öffne nach der Installation Xcode um die Installation komplett abzuschließen. Mit dem Termin-Befehl `swift --version` kannst du nun überprüfen, ob die Installation von Swift erfolgreich verlief und welche Version installiert wurde.
Sobald du die App heruntergeladen hast, führe die Installation aus. Starte nach der Installation Xcode um die Installation komplett abzuschließen. Mit dem Termin-Befehl `swift --version` kannst du überprüfen, ob die Installation von Swift erfolgreich verlief und welche Version genau installiert wurde.
```sh
swift --version
@ -17,7 +17,7 @@ Apple Swift version 5.2 (swiftlang-1100.0.270.13 clang-1100.0.33.7)
Target: x86_64-apple-darwin19.0.0
```
## Toolbox-Installation
## Toolbox
Neben Swift kannst du auch die Vapor-Toolbox installieren. Die Toolbox ist zwar für Vapor nicht zwingend notwendig, aber beinhaltet Befehle, die dich bei der Arbeit mit Vapor unterstützen.
@ -27,6 +27,4 @@ Du kannst die Toolbox mittels [Homebrew](https://brew.sh) installieren:
brew install vapor
```
##
Nach den Installationen kannst du mit der Erstellung deiner ersten Vapor-Anwendung beginnen. Folge dazu den Anweisungen im Abschnitt [Erste Schritte → Hello, world](../getting-started/hello-world.md).

View File

@ -135,7 +135,31 @@ plugins:
fr:
Welcome: Bienvenue
de:
Welcome: Willkommen
Welcome: Begrüßung
Install: Installation
Getting Started: Einführung
Basics: Grundlagen
Hello, world: Hallo Welt
Folder Structure: Verzeichnis
Validation: Validierung
Logging: Protokollierung
Environment: Umgebung
Errors: Fehlerbehandlung
Model: Models
Overview: Übersicht
Relations: Beziehungen
Migrations: Migrationen
Query: Abfrage
Transactions: Transaktionen
Sessions: Sitzungen
Advanced: Erweitert
Testing: Testen
Files: Dateien
Commands: Befehle
Services: Dienste
Authentication: Authentifzierung
Security: Sicherheit
Deploy: Bereitstellung
Contributing: Mitwirken
Contributing Guide: Leitfaden für Beiträge
zh: