Vai al contenuto

LOCALIZATION

Cosa imparerò:

  • Come localizzare un app (multilingue)

La localizzazione, o localization, è il processo di adattamento di un'applicazione per renderla accessibile e comprensibile in diverse lingue e culture. Questo implica non solo la traduzione del testo, ma anche l'adattamento di immagini, simboli, e formati di data, ora e numeri per rispettare le convenzioni culturali degli utenti finali.

Successivamente, si abilitano le lingue di localizzazione nel progetto Xcode. Questo si fa selezionando il progetto nel navigatore, andando alla scheda Info, e aggiungendo le lingue desiderate sotto la sezione Localizations.

Le stringhe testuali vengono salvate nei file .strings. Creando un file chiamato Localizable.strings e aggiungendo le traduzioni in formato chiave-valore, si può facilmente gestire la localizzazione del testo. Ad esempio, per l'inglese: "hello" = "Hello"; e per l'italiano: "hello" = "Ciao";

Nel codice Swift, le stringhe localizzate si utilizzano con la funzione NSLocalizedString, come in

let greeting = NSLocalizedString("hello", comment: "A friendly greeting")

Per localizzare storyboard e file XIB, si seleziona il file nel navigatore del progetto, si va nella sezione File Inspector e si abilitano le lingue desiderate. Questo crea file separati per ogni lingua, dove si possono tradurre i testi e adattare i layout.

Le immagini e altre risorse possono essere localizzate attraverso il navigatore di asset (Assets.xcassets).

Selezionando l'asset e abilitando la localizzazione nella sezione Attributes Inspector, si possono aggiungere varianti specifiche per ogni lingua.

Infine, è fondamentale testare la localizzazione impostando la lingua desiderata nelle opzioni dello schema di esecuzione in Xcode (Scheme > Edit Scheme > Run > Options).

In SwiftUI la localizzazione è integrata in modo molto naturale. Molte view che mostrano testo all’utente, come Text, Label, Button e altre API che accettano stringhe localizzabili, trattano automaticamente le stringhe letterali come contenuti da localizzare. Quando aggiungi uno String Catalog al progetto e fai build, Xcode rileva automaticamente molte stringhe usate in SwiftUI e le inserisce nel catalogo. Da lì si possono tradurre i testi nelle varie lingue, gestire varianti, aggiungere commenti, supportare plurali e differenze tra dispositivi o larghezze disponibili.