From de38fa822a0a5f3c20367f877b6366b040a9ba70 Mon Sep 17 00:00:00 2001 From: BennyDB <74614235+BennyDeBock@users.noreply.github.com> Date: Sun, 23 Jul 2023 23:57:31 +0200 Subject: [PATCH] Translate a multitude of Issues to dutch (#864) issue included are: #861 #836 #818 #812 Some issues have been fully translated as well: closes #791 closes #788 closes #811 --------- Co-authored-by: Joannis Orlandos --- docs/advanced/middleware.nl.md | 10 +++++++++- docs/advanced/queues.nl.md | 3 +++ docs/advanced/testing.nl.md | 9 +++++---- docs/deploy/heroku.nl.md | 24 +++++++++++------------ docs/fluent/relations.nl.md | 27 +++++++++++++++++++++++--- docs/getting-started/hello-world.nl.md | 5 ++++- docs/leaf/getting-started.nl.md | 3 +++ docs/leaf/overview.nl.md | 2 +- 8 files changed, 61 insertions(+), 22 deletions(-) diff --git a/docs/advanced/middleware.nl.md b/docs/advanced/middleware.nl.md index ee4f9d5f1..3c037efea 100644 --- a/docs/advanced/middleware.nl.md +++ b/docs/advanced/middleware.nl.md @@ -28,7 +28,7 @@ app.middleware.use(MiddlewareA()) app.middleware.use(MiddlewareB()) app.group(MiddlewareC()) { - $0.get("hello") { req in + $0.get("hello") { req in "Hello, middleware." } } @@ -124,6 +124,14 @@ app.middleware.use(file) Zodra `FileMiddleware` is geregistreerd, kan een bestand als `Public/images/logo.png` worden gekoppeld vanuit een Leaf template als ``. +Als je server is opgenomen in een Xcode Project, zoals een iOS app, gebruik dan dit in de plaats: + +```swift +let file = try FileMiddleware(bundle: .main, publicDirectory: "Public") +``` + +Zorg er ook voor dat je Folder References gebruikt in plaats van Groups in Xcode om de mappenstructuur in resources te behouden na het bouwen van de applicatie. + ## CORS Middleware Cross-origin resource sharing (CORS) is een mechanisme waarmee beperkte bronnen op een webpagina kunnen worden opgevraagd vanuit een ander domein buiten het domein van waaruit de eerste bron werd geserveerd. REST API's die in Vapor zijn gebouwd, hebben een CORS-beleid nodig om verzoeken veilig te kunnen terugsturen naar moderne webbrowsers. diff --git a/docs/advanced/queues.nl.md b/docs/advanced/queues.nl.md index 96a8e7661..0a5d43450 100644 --- a/docs/advanced/queues.nl.md +++ b/docs/advanced/queues.nl.md @@ -309,6 +309,9 @@ Als u geen wachtrij opgeeft, wordt de taak uitgevoerd op de `standaard` wachtrij Met het pakket Queues kunt u ook taken plannen die op bepaalde tijdstippen moeten worden uitgevoerd. +!!! warning "Waarschuwing" + Geplande taken werken alleen als ze zijn ingesteld voordat de applicatie opstart, zoals in `configure.swift`. Ze werken niet in route handlers. + ### De planner starten De scheduler vereist dat een afzonderlijk workerproces draait, gelijkaardig aan de queue worker. U kunt de worker starten door dit commando uit te voeren: diff --git a/docs/advanced/testing.nl.md b/docs/advanced/testing.nl.md index 3e7dd8d46..07e6bc673 100644 --- a/docs/advanced/testing.nl.md +++ b/docs/advanced/testing.nl.md @@ -34,7 +34,7 @@ final class MyTests: XCTestCase { } ``` -Elke functie die begint met `test` zal automatisch worden uitgevoerd wanneer uw app wordt getest. +Elke functie die begint met `test` zal automatisch worden uitgevoerd wanneer uw app wordt getest. ### Tests Uitvoeren @@ -42,7 +42,8 @@ Gebruik `cmd+u` met het `-Package` schema geselecteerd om tests in Xcode uit te ## Testbare Applicatie -Initialiseer een instantie van `Application` met behulp van de `.testing` omgeving. Je moet `app.shutdown()` aanroepen voordat deze applicatie de-initialiseert. +Initialiseer een instantie van `Application` met behulp van de `.testing` omgeving. Je moet `app.shutdown()` aanroepen voordat deze applicatie de-initialiseert. +De shutdown is nodig om de resources die de app heeft geclaimd vrij te geven. In het bijzonder is het belangrijk om de threads vrij te geven die de applicatie aanvraagt bij het opstarten. Als je `shutdown()` niet aanroept op de app na elke unit test, kan je testsuite crashen met een precondition failure bij het toewijzen van threads voor een nieuwe instantie van `Application`. ```swift let app = Application(.testing) @@ -63,7 +64,7 @@ try app.test(.GET, "hello") { res in } ``` -De eerste twee parameters zijn de HTTP methode en URL om op te vragen. De afsluiter achteraan accepteert de HTTP respons die je kunt verifiëren met `XCTAssert` methoden. +De eerste twee parameters zijn de HTTP methode en URL om op te vragen. De afsluiter achteraan accepteert de HTTP respons die je kunt verifiëren met `XCTAssert` methoden. Voor meer complexe verzoeken, kunt u een `beforeRequest` closure toevoegen om headers te wijzigen of inhoud te coderen. Vapor's [Content API](../basics/content.md) is beschikbaar op zowel het test request als het antwoord. @@ -89,7 +90,7 @@ app.testable(method: .inMemory).test(...) app.testable(method: .running).test(...) ``` -De `inMemory` optie wordt standaard gebruikt. +De `inMemory` optie wordt standaard gebruikt. De `running` optie ondersteunt het doorgeven van een specifieke poort om te gebruiken. Standaard wordt `8080` gebruikt. diff --git a/docs/deploy/heroku.nl.md b/docs/deploy/heroku.nl.md index b145c484f..151f11bad 100644 --- a/docs/deploy/heroku.nl.md +++ b/docs/deploy/heroku.nl.md @@ -13,7 +13,7 @@ Zorg ervoor dat je de heroku cli tool hebt geïnstalleerd. ### HomeBrew ```bash -brew install heroku/brew/heroku +brew tap heroku/brew && brew install heroku ``` ### Andere Installatiemogelijkheden @@ -52,7 +52,7 @@ git init #### Master/Main -Standaard deponeert Heroku de **master/main** branch. Zorg ervoor dat alle wijzigingen in deze branch zijn gecontroleerd voordat u gaat pushen. +Je kunt het beste één branch behouden voor deployments naar Heroku, zoals de **main** of **master** branch. Zorg ervoor dat alle wijzigingen in deze branch zijn gecontroleerd voordat je gaat pushen. Controleer uw huidige branch met @@ -63,7 +63,7 @@ git branch De asterisk geeft de huidige branch aan. ```bash -* master +* main commander other-branches ``` @@ -71,10 +71,10 @@ De asterisk geeft de huidige branch aan. !!! note "Opmerking" Als je geen uitvoer ziet en je hebt net `git init` uitgevoerd. Je moet eerst je code committen, daarna krijg je uitvoer te zien van het `git branch` commando. -Als u momenteel _niet_ op **master/main** bent, schakel daar dan over door in te voeren: +Als u momenteel _niet_ op de juiste branch bent, schakel daar dan naar over door in te voeren in de terminal (voor branch **main**): ```bash -git checkout master +git checkout main ``` #### Veranderingen Vastleggen @@ -110,10 +110,10 @@ heroku buildpacks:set vapor/vapor ### Swift versie bestand -Het buildpack dat we hebben toegevoegd zoekt naar een **.swift-version** bestand om te weten welke versie van swift gebruikt moet worden. (vervang 5.2.1 door de versie die uw project nodig heeft). +Het buildpack dat we hebben toegevoegd zoekt naar een **.swift-version** bestand om te weten welke versie van swift gebruikt moet worden. (vervang 5.8.1 door de versie die uw project nodig heeft). ```bash -echo "5.2.1" > .swift-version +echo "5.8.1" > .swift-version ``` Dit creëert **.swift-version** met `5.2.1` als inhoud. @@ -150,12 +150,12 @@ git commit -m "adding heroku build files" Je bent klaar om uit te rollen, voer dit uit vanaf de terminal. Het kan een tijdje duren om te bouwen, dit is normaal. ```none -git push heroku master +git push heroku main ``` ### Scale Up -Als je eenmaal succesvol hebt gebouwd, moet je ten minste één server toevoegen, één web is gratis en je kunt het krijgen met het volgende: +Als je eenmaal succesvol hebt gebouwd, moet je ten minste één server toevoegen. Prijzen starten vanaf $5/maand voor het Eco plan (zie [prijzen](https://www.heroku.com/pricing#containers)). Zorg ervoor dat jouw betaalgegevens geconfigureerd zijn op Heroku. Dan, voor een enkele web worker: ```bash heroku ps:scale web=1 @@ -163,7 +163,7 @@ heroku ps:scale web=1 ### Continued Deployment -Elke keer dat je wil updaten, zet je gewoon de laatste veranderingen in master en push je naar heroku en het zal opnieuw deployen +Elke keer dat je wil updaten, zet je gewoon de laatste veranderingen in main en push je naar heroku en het zal opnieuw deployen ## Postgres @@ -171,9 +171,9 @@ Elke keer dat je wil updaten, zet je gewoon de laatste veranderingen in master e Bezoek uw applicatie op dashboard.heroku.com en ga naar de **Add-ons** sectie. -Voer hier `postgress` in en u zult een optie zien voor `Heroku Postgres`. Selecteer deze. +Voer hier `postgres` in en u zult een optie zien voor `Heroku Postgres`. Selecteer deze. -Kies het hobby dev free plan, en provision. Heroku zal de rest doen. +Kies het Eco plan voor $5/maand (zie [prijzen](https://www.heroku.com/pricing#data-services)), en provision. Heroku zal de rest doen. Zodra je klaar bent, zie je de database verschijnen onder de **Resources** tab. diff --git a/docs/fluent/relations.nl.md b/docs/fluent/relations.nl.md index 2e19735d1..56978d6e1 100644 --- a/docs/fluent/relations.nl.md +++ b/docs/fluent/relations.nl.md @@ -135,6 +135,8 @@ De `@Siblings` eigenschap creëert een veel-op-veel relatie tussen twee modellen Laten we eens kijken naar een voorbeeld van een veel-op-veel relatie tussen een `Planet` en een `Tag`. ```swift +enum PlanetTagStatus: String, Codable { case accepted, pending } + // Voorbeeld van een pivot model. final class PlanetTag: Model { static let schema = "planet+tag" @@ -148,17 +150,25 @@ final class PlanetTag: Model { @Parent(key: "tag_id") var tag: Tag + @OptionalField(key: "comments") + var comments: String? + + @OptionalEnum(key: "status") + var status: PlanetTagStatus? + init() { } - init(id: UUID? = nil, planet: Planet, tag: Tag) throws { + init(id: UUID? = nil, planet: Planet, tag: Tag, comments: String?, status: PlanetTagStatus?) throws { self.id = id self.$planet.id = try planet.requireID() self.$tag.id = try tag.requireID() + self.comments = comments + self.status = status } } ``` -Pivots zijn normale modellen die twee `@Parent` relaties bevatten. Één voor elk van de modellen die gerelateerd moeten worden. Extra eigenschappen kunnen worden opgeslagen op de pivot indien gewenst. +Elk model dat tenminste twee `@Parent` relaties bevat, één voor elk model dat gerelateerd moet worden, kan gebruikt worden als pivot. Het model kan aanvullende eigenschappen bevatten, zoals zijn ID, en kan zelfs andere `@Parent` relaties bevatten. Het toevoegen van een [unieke](schema.md#unique) constraint aan het pivot model kan helpen om overbodige entries te voorkomen. Zie [schema](schema.md) voor meer informatie. @@ -197,13 +207,24 @@ final class Tag: Model { De `@Siblings` eigenschap heeft methoden voor het toevoegen en verwijderen van modellen uit de relatie. -Gebruik de `attach` methode om een model aan de relatie toe te voegen. Hierdoor wordt het pivot model automatisch aangemaakt en opgeslagen. +Gebruik de `attach()` methode om een enkel model of een array van modellen toe te voegen aan de relatie. Pivot modellen worden indien nodig automatisch aangemaakt en opgeslagen. Er kan een callback closure worden gespecificeerd om aanvullende eigenschappen van elke gecreëerde pivot in te vullen: ```swift let earth: Planet = ... let inhabited: Tag = ... // Voegt het model toe aan de relatie. try await earth.$tags.attach(inhabited, on: database) +// Vul de pivot attributen in bij het maken van de relatie. +try await earth.$tags.attach(inhabited, on: database) { pivot in + pivot.comments = "This is a life-bearing planet." + pivot.status = .accepted +} +// Voeg meerdere modellen met attributen toe aan de relatie. +let volcanic: Tag = ..., oceanic: Tag = ... +try await earth.$tags.attach([volcanic, oceanic], on: database) { pivot in + pivot.comments = "This planet has a tag named \(pivot.$tag.name)." + pivot.status = .pending +} ``` Bij het koppelen van een enkel model, kunt u de `method` parameter gebruiken om te kiezen of de relatie wel of niet gecontroleerd moet worden voor het opslaan. diff --git a/docs/getting-started/hello-world.nl.md b/docs/getting-started/hello-world.nl.md index 6c15785c7..36b87ee67 100644 --- a/docs/getting-started/hello-world.nl.md +++ b/docs/getting-started/hello-world.nl.md @@ -18,6 +18,9 @@ vapor new hello -n !!! tip De `-n` vlag geeft je een kaal sjabloon door automatisch nee te antwoorden op alle vragen. +!!! tip + Je kan ook de laatste template van Github halen zonder de Vapor Toolbox te installeren door de [template repository](https://github.com/vapor/template-bare) te clonen. + !!! tip Vapor en het sjabloon gebruiken nu standaard `async`/`await`. Als je niet kunt updaten naar macOS 12 en/of `EventLoopFuture` wilt blijven gebruiken, gebruik dan de vlag `--branch macos10-15`. @@ -25,7 +28,7 @@ Eens het commando voltooid is, navigeer naar de nieuw aangemaakt map: ```sh cd hello -``` +``` ## Bouwen en uitvoeren diff --git a/docs/leaf/getting-started.nl.md b/docs/leaf/getting-started.nl.md index 3c76ecaf9..0022f4524 100644 --- a/docs/leaf/getting-started.nl.md +++ b/docs/leaf/getting-started.nl.md @@ -74,6 +74,9 @@ Nu Leaf is geconfigureerd, laten we je eerste template renderen. Maak in de map Hello, #(name)! ``` +!!! tip + Als je VSCode als code editor gebruikt, raden we aan de Leaf extensie te installeren om syntax highlighting mogelijk te maken: [Leaf HTML](https://marketplace.visualstudio.com/items?itemName=Francisco.html-leaf). + Registreer dan een route (meestal gedaan in `routes.swift` of een controller) om de view te renderen. ```swift diff --git a/docs/leaf/overview.nl.md b/docs/leaf/overview.nl.md index 1b6a84b38..ad6abb511 100644 --- a/docs/leaf/overview.nl.md +++ b/docs/leaf/overview.nl.md @@ -17,7 +17,7 @@ Leaf tags bestaan uit vier elementen:: - Token `#`: Dit geeft de leaf parser het signaal om te beginnen zoeken naar een tag. - Naam `count`: die de tag identificeert. - Parameter Lijst `(users)`: Kan nul of meer argumenten aanvaarden. -- Body: Een optionele body kan aan sommige tags worden toegevoegd met behulp van een puntkomma en een afsluitende tag +- Body: Een optionele body kan aan sommige tags worden toegevoegd met behulp van een dubbelpunt en een afsluitende tag Er kunnen veel verschillende toepassingen zijn voor deze vier elementen, afhankelijk van de implementatie van de tag. Laten we eens kijken naar een paar voorbeelden van hoe de ingebouwde tags van Leaf gebruikt kunnen worden: