Skip to content

Commit

Permalink
Add getting started italian translation (#808)
Browse files Browse the repository at this point in the history
* Add getting started italian translation

* Minor fixes

* Add italian to translation issue template
  • Loading branch information
ptoffy committed May 30, 2023
1 parent 8a3448d commit 20de698
Show file tree
Hide file tree
Showing 6 changed files with 355 additions and 3 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/translation-issue-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@ Languages:
- [ ] Chinese
- [ ] German
- [ ] Dutch
- [ ] Italian

Assigned to @vapor/translations - please submit a PR with the relevant updates and check the box once merged. Please ensure you tag your PR with the `translation-update` so it doesn't create a new issue!
Assigned to @vapor/translations - please submit a PR with the relevant updates and check the box once merged. Please ensure you tag your PR with the `translation-update` so it doesn't create a new issue!
81 changes: 81 additions & 0 deletions docs/getting-started/folder-structure.it.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# Struttura della Cartella

Dopo aver creato, compilato ed eseguito la vostra prima applicazione, è il momento di dare un'occhiata a come Vapor struttura la cartella del progetto. La struttura si basa su [SwiftPM](spm.md), quindi se avete già familiarità con SwiftPM vi sentirete a casa.

```
.
├── Public
├── Sources
│ ├── App
│ │ ├── Controllers
│ │ ├── Migrations
│ │ ├── Models
│ │ ├── configure.swift
│ │ ├── entrypoint.swift
│ │ └── routes.swift
├── Tests
│ └── AppTests
└── Package.swift
```

Le seguenti sezioni spiegano in maggior dettaglio la struttura della cartella.

## Public

Questa cartella contiene tutti i file pubblici che saranno messi a disposizione dall'applicazione se `FileMiddleware` è abilitato. In genere si tratta di immagini, fogli di stile e script del browser. Ad esempio, una richiesta a `localhost:8080/favicon.ico` controlla se `Public/favicon.ico` esiste e lo restituisce.

Perché Vapor possa servire i file pubblici, bisognerà abilitare `FileMiddleware` nel file `configure.swift`.

```swift
// Fornisce i file dalla cartella `Public/`
let fileMiddleware = FileMiddleware(
publicDirectory: app.directory.publicDirectory
)
app.middleware.use(fileMiddleware)
```

## Sources

Questa cartella contiene tutti i file sorgente Swift che verranno utilizzati dal progetto.
La cartella di primo livello, `App`, riflette il modulo del vostro pacchetto, come dichiarato nel manifesto [SwiftPM](spm.md).

### App

La cartella `App` contiene tutta la logica dell'applicazione.

#### Controllers

I controller sono un ottimo modo per raggruppare la logica dell'applicazione. La maggior parte dei controller ha diverse funzioni che accettano una richiesta e restituiscono qualche tipo di risposta.

#### Migrations

Se si utilizza Fluent, questa cartella contiene le migrazioni del database.

#### Models

La cartella dei modelli è un ottimo posto per memorizzare le strutture `Content` e i modelli di Fluent.

#### configure.swift

Questo file contiene la funzione `configure(_:)`. Questo metodo viene chiamato da `entrypoint.swift` per configurare la nuova `Application` creata. Qui vengono registrati gli endpoints, i database, i providers e altro ancora.

#### entrypoint.swift

Questo file contiene la funzione `main(_:)`. Questo metodo viene chiamato dal sistema operativo per avviare l'applicazione. In genere non è necessario modificarlo.

#### routes.swift

Questo file contiene la funzione `routes(_:)`. Questo metodo viene chiamato da `configure(_:)` per registrare gli endpoints dell'applicazione.

## Tests

Per ogni mdulo non eseguibile nella cartella `Sources` si può avere una cartella corrispondente in `Tests`. Essa conterrà i test per quel modulo scritti sulla base del modulo di testing `XCTest`. I test possono essere eseguiti utilizzando `swift test` da riga di comando o premendo ⌘+U in Xcode.

### AppTests

Questa cartella contiene gli unit tests per il codice del modulo `App`.

## Package.swift

Infine, abbiamo il manifesto del pacchetto [SPM](spm.md).
78 changes: 78 additions & 0 deletions docs/getting-started/hello-world.it.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Ciao, mondo

Questa guida vi mostrerà, passo dopo passo, come creare, compilare ed eseguire il vostro primo progetto con Vapor.

Se non avete ancora installato Swift o la Toolbox Vapor, seguite la guida di installazione prima di continuare.

- [Installazione → macOS](../install/macos.md)
- [Installazione → Linux](../install/linux.md)

## Nuovo Progetto

Il primo passo è creare un nuovo progetto Vapor sul vostro computer. Aprite il terminale e utilizzate il comando `new` della Toolbox. Questo creerà una nuova cartella nella directory corrente contenente il progetto.

```sh
vapor new hello -n
```

!!! tip
L'opzione `-n` creerà un progetto con il minimo indispensabile, rispondendo automaticamente no a tutte le domande.

!!! tip
Vapor e il template ora utilizzano `async`/`await` di default.
Se non potete aggiornare a macOS 12 e/o avete bisogno di continuare ad utilizzare gli `EventLoopFuture`s,
utilizzate l'opzione `--branch macos10-15`.

Una volta terminato il comando, entrate nella cartella appena creata:

```sh
cd hello
```

## Compilazione ed Esecuzione

### Xcode

Per prima cosa, aprite il progetto in Xcode:

```sh
open Package.swift
```

Xcode inizierà automaticamente a scaricare le dipendenze di Swift Package Manager. La prima volta che aprite un progetto ci vorrà un po' di tempo. Quando la risoluzione delle dipendenze sarà completata, Xcode popolerà gli schemi disponibili.

Nella parte superiore della finestra, alla destra dei pulsanti Play e Stop, cliccate sul nome del progetto per selezionare lo schema del progetto e selezionate un target di esecuzione appropriato, spesso "My Mac". Cliccate sul pulsante play per compilare ed eseguire il progetto.

Dovreste ora veder apparire la Console nella parte inferiore della finestra di Xcode.

```sh
[ INFO ] Server starting on http://
```

### Linux

Su Linux e altri sistemi operativi (e anche su macOS se non volete utilizzare Xcode) potete modificare il progetto nel vostro editor preferito, come Vim o VSCode. Per maggiori dettagli su come configurare altri IDE, consultate le [Guide di Swift sul Server](https://github.com/swift-server/guides/blob/main/docs/setup-and-ide-alternatives.md)

Per compilare ed eseguire il progetto, nel Terminale eseguite:

```sh
swift run
```

Questo comando compilerà ed eseguirà il progetto. La prima volta che lo eseguite ci vorrà un po' di tempo per scaricare e indicizzare le dipendenze. Una volta avviato, dovrebbe apparire il seguente codice nel terminale:

```sh
[ INFO ] Server starting on http://127.0.0.1:8080
```

## Visitare Localhost

Ora che il progetto è in esecuzione, aprite il vostro browser e visitate <a href="http://localhost:8080/hello" target="_blank">localhost:8080/hello</a> oppure <a href="http://127.0.0.1:8080" target="_blank">http://127.0.0.1:8080</a>.

Dovrebbe apparire la seguente pagina:

```html
Hello, world!
```

Congratulazioni per aver creato, compilato ed eseguito il vostro primo progetto Vapor! 🎉
95 changes: 95 additions & 0 deletions docs/getting-started/spm.it.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# Swift Package Manager

Il [Swift Package Manager](https://swift.org/package-manager/) (SPM) è utilizzato per la compilazione del codice sorgente e delle dipendenze del vostro progetto. Poiché Vapor si basa molto su SPM, è una buona idea capire i suoi funzionamenti di base.

SPM è simile a Cocoapods, Ruby gems e NPM. Si può utilizzare SPM dalla riga di comando con comandi come `swift build` e `swift test` o con IDE compatibili. Tuttavia, a differenza di alcuni altri package manager, non esiste un indice centrale dei pacchetti SPM. Esso sfrutta invece gli URL delle repository Git e le dipendenze delle versioni utilizzando i [tag Git](https://git-scm.com/book/en/v2/Git-Basics-Tagging).

## Manifesto del Pacchetto

Il primo posto in cui SPM cerca nel vostro progetto è il manifesto del pacchetto. Questo dovrebbe sempre essere situato nella directory principale del vostro progetto e chiamarsi `Package.swift`.

Diamo un'occhiata a questo esempio di manifesto del pacchetto.

```swift
// swift-tools-version:5.8
import PackageDescription

let package = Package(
name: "MyApp",
platforms: [
.macOS(.v12)
],
dependencies: [
.package(url: "https://github.com/vapor/vapor.git",
from: "4.76.0"),
],
targets: [
.executableTarget(
name: "App",
dependencies: [
.product(name: "Vapor", package: "vapor")
]
),
.testTarget(name: "AppTests", dependencies: [
.target(name: "App"),
.product(name: "XCTVapor", package: "vapor"),
])
]
)
```

Nelle sezioni seguenti vengono spiegate tutte le parti del manifesto.

### Versione degli Strumenti

La prima riga di un manifesto del pacchetto indica la versione degli strumenti Swift richiesta. Essa specifica la versione minima di Swift che il pacchetto supporta. L'API della descrizione del pacchetto può anche cambiare tra le versioni di Swift, quindi questa riga assicura che Swift sappia come analizzare il manifesto.

### Nome del Pacchetto

Il primo argomento di `Package` è il nome del pacchetto. Se il pacchetto è pubblico, bisogna utilizzare l'ultimo segmento dell'URL della repo Git come nome.

### Piattaforme

L'array `platforms` specifica quali piattaforme il pacchetto supporta. Specificando `.macOS(.v12)` il pacchetto richiederà macOS 12 o successivi. Quando Xcode caricherà il progetto, imposterà automaticamente la versione di distribuzione minima su macOS 12 in modo che si possano utilizzare tutte le API disponibili.

### Dipendenze

Le dipendenze sono altri pacchetti SPM da cui il pacchetto dipende. Tutte le applicazioni Vapor si basano sul pacchetto Vapor, ma se ne possono aggiungere senza limiti.

Nell'esempio precedente, si può notare che il pacchetto dipende da [vapor/vapor](https://github.com/vapor/vapor), versione 4.76.0 o successive. Nel momento in cui si aggiunge una dipendenza al pacchetto, bisogna segnalare quali [target](#targets) dipendono dai moduli appena inseriti.

### Target

I target sono i moduli che compongono il vostro pacchetto. I target possono essere eseguibili, librerie o test. Solitamente un progetto Vapor ha due target, tuttavia se ne possono aggiungere in modo da organizzare il codice.
Ogni target dichiara i moduli da cui dipende. Per poter importare ed usare i vari moduli nel codice bisogna dichiarare qui i loro nomi. Un target può dipendere da altri target nello stesso pacchetto o da qualsiasi modulo presente nei pacchetti aggiunto all'array delle [dipendenze principali](#dependencies).

## Struttura della Cartella

Questa è la tipica struttura di una cartella di un pacchetto SPM:

```
.
├── Sources
│ └── App
│ └── (Source code)
├── Tests
│ └── AppTests
└── Package.swift
```

Ogni `.target` o `.executableTarget` corrisponde a una cartella nella cartella `Sources`.
Ogni `.testTarget` corrisponde a una cartella nella cartella `Tests`.

## Package.resolved

La prima volta che il progetto viene compilato, SPM creerà il file `Package.resolved` che contiene l'elenco delle dipendenze e delle versioni utilizzate. Durante le compilazioni successive saranno quelle le versioni utilizzate, anche se ce ne dovessero essere di più recenti.

Per aggiornare le dipendenze basta eseguire `swift package update` e SPM aggiornerà automaticamente il file `Package.resolved` con le versioni più recenti.

# Xcode

Usando Xcode qualsiasi cambiamento a dipendenze, target, prodotti ecc. sarà automatico non appena si salva il file `Package.swift`.

Per aggiornare le dipendenze, basta andare su File &rarr; Swift Packages &rarr; Update to Latest Package Versions.

In genere è consigliabile aggiungere il file `.swiftpm` al `.gitignore`. Questo file contiene la configurazione del progetto di Xcode.
44 changes: 44 additions & 0 deletions docs/getting-started/xcode.it.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Xcode

Questa pagina contiene alcuni consigli e trucchi per l'utilizzo di Xcode. Non è necessaria se si preferisce usare un ambiente di sviluppo diverso.

## Directory di lavoro personalizzata

Di default Xcode eseguirà il progetto dalla cartella _DerivedData_. Questa cartella non è la stessa della cartella principale del progetto (dove si trova il file _Package.swift_). Questo significa che Vapor non sarà in grado di trovare file e cartelle come _.env_ o _Public_.

Si può notare che questo sta accadendo se si vede il seguente avviso quando si esegue il progetto.

```fish
[ WARNING ] No custom working directory set for this scheme, using /path/to/DerivedData/project-abcdef/Build/
```

Per risolvere questo problema bisogna impostare una directory di lavoro personalizzata nello schema Xcode del progetto.

Per prima cosa, modificare lo schema del progetto cliccando sul selettore dello schema vicino ai pulsanti play e stop.

![Xcode Scheme Area](../images/xcode-scheme-area.png)

Selezionare _Edit Scheme..._ dal menu a tendina.

![Xcode Scheme Menu](../images/xcode-scheme-menu.png)

Nell'editor dello schema, scegliere l'azione _App_ e la scheda _Options_. Selezionare _Use custom working directory_ e inserire il percorso alla cartella principale del progetto.

![Xcode Scheme Options](../images/xcode-scheme-options.png)

Si può ottenere il percorso completo alla cartella principale del progetto eseguendo `pwd` da una finestra del terminale aperta lì.

```fish
# verificare di essere nella cartella del progetto vapor
vapor --version
# ottenere il percorso di questa cartella
pwd
```

Si dovrebbe vedere un output simile al seguente.

```
framework: 4.x.x
toolbox: 18.x.x
/path/to/project
```
57 changes: 55 additions & 2 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,10 @@ plugins:
name: German
site_name: Vapor Dokumentation
build: true
it:
name: Italiano
site_name: Documentazione di Vapor
build: true
# Add navigation translations here
nav_translations:
nl:
Expand Down Expand Up @@ -132,7 +136,7 @@ plugins:
Custom Tags: Zelfgemaakte Tags
Contributing: Bijdragen
Contributing Guide: Gids Bijdragen
fr:
fr:
Welcome: Bienvenue
Install: Installer
Getting Started: Commencer
Expand Down Expand Up @@ -242,7 +246,56 @@ plugins:
Contributing: 贡献
Contributing Guide: 贡献指南
Version (4.0): 版本 (4.0)

it:
Welcome: Benvenuto
Install: Installazione
Getting Started: Inizio
Hello, world: Ciao, mondo
Folder Structure: Struttura della Cartella
SwiftPM: SwiftPM
Xcode: Xcode
Basics: Basi
Routing: Routing
Content: Contenuto
Client: Client
Validation: Validazione
Async: Asincrono
Logging: Logging
Environment: Ambiente
Errors: Errori
Fluent: Fluent
Overview: Panoramica
Model: Modello
Relations: Relazioni
Migrations: Migrazioni
Query: Query
Transactions: Transazioni
Schema: Schema
Leaf: Leaf
Custom Tags: Tag Personalizzati
Redis: Redis
Advanced: Avanzate
Middleware: Middleware
Testing: Test
Server: Server
Files: File
Commands: Comandi
Queues: Code
WebSockets: WebSockets
Sessions: Sessioni
Services: Servizi
Security: Sicurezza
APNS: APNS
Deploy: Deploy
Authentication: Autenticazione
Crypto: Crittografia
Passwords: Password
JWT: JWT
Contributing: Contribuire
Contributing Guide: Guida alla Contribuzione
Version (4.0): Versione (4.0)
Legacy Docs: Documentazione Legacy
Upgrading: Aggiornamento

nav:
- Welcome: "index.md"
Expand Down

0 comments on commit 20de698

Please sign in to comment.