Scopri tutto ciò che devi sapere sulla localizzazione iOS con cataloghi di stringhe e Xcode 26: dall’internazionalizzazione dei tuoi file al test della tua app localizzata.
Rendere la tua app iOS multilingue ti aiuta a raggiungere un pubblico più ampio in tutto il mondo, aumentare le vendite e far crescere la tua base di utenti.
In questa guida, troverai tutto ciò che ti serve per localizzare la tua app iOS. Utilizzeremo i cataloghi di stringhe, poiché è il metodo consigliato da Apple per la localizzazione.
Con il nostro strumento di localizzazione AI, Private Translation Cloud (PTC), puoi tradurre tutti i formati Apple (.strings, .stringsdict, .xcstrings) e le app (macOS, watchOS, tvOS e visionOS).
Prerequisiti
- Xcode 15 o versioni successive
Cos’è la localizzazione iOS?
La localizzazione iOS consiste nel rendere la tua app iOS disponibile a un pubblico multilingue e nell’adattarla alle sfumature culturali e tematiche.
La localizzazione in Xcode riguarda specificamente la configurazione delle risorse per ogni lingua supportata.
Il processo di localizzazione dell’app iOS prevede tre passaggi principali:
- Preparazione, o internazionalizzazione (spesso abbreviata i18n), della tua app iOS
- Traduzione dei testi rivolti all’utente
- Importazione delle traduzioni e test
L’internazionalizzazione iOS è una parte essenziale della localizzazione, perché consente alla tua app iOS di supportare contenuti multilingue.
Internazionalizzazione della tua app iOS
L’internazionalizzazione iOS consiste nell’adattare il tuo codice per garantire che le stringhe siano tradotte e formattate correttamente. Questo ti aiuta a evitare di riprogettare i layout o riscrivere il codice in seguito.
Fortunatamente, con i cataloghi di stringhe, il processo è molto più semplice di quanto non fosse prima.
Passaggio 1: rendere il testo localizzabile
Nei flussi di lavoro legacy, era necessario racchiudere le stringhe della tua app in un modo che Xcode e gli strumenti di traduzione comprendessero.
Ma con SwiftUI, non devi fare nulla: qualsiasi stringa hard-coded che inserisci in un Text, Label, Button, ecc. di SwiftUI, è automaticamente localizzabile.
Devi rendere manualmente il testo localizzabile solo quando:
- Hai testo al di fuori di SwiftUI, come messaggi di errore, testo ViewModel, stringhe di convalida del login. In questi casi, usa String(localized:).
- Ti rivolgi a dispositivi con versioni precedenti che non supportano le API di localizzazione correnti, come iOS 16 o versioni precedenti. In questo caso, racchiudi tutto il testo rivolto all’utente in NSLocalizedString().
Passaggio 2: aggiunta di commenti per il contesto
I commenti sono utili quando si traducono stringhe con metodi sia manuali che automatici. Usa comment: all’interno del tuo Text ().
Text("Select an item", comment: “The label of a drop down menu to allow users to navigate.”)
Passaggio 3: creazione di un catalogo di stringhe
Ora, aggiungiamo un catalogo di stringhe al tuo progetto iOS.
1. Fai clic con il pulsante destro del mouse sul tuo progetto e seleziona Nuovo file da modello.

2. Cerca Catalogo di stringhe e aggiungilo. Il nome predefinito sarà Localizable.xcstrings. Non è necessario modificarlo.
3. Popola il tuo catalogo di stringhe con il tuo testo. Vai su Prodotto → Compila. Xcode si occupa del resto. Puoi rivedere il testo in seguito facendo clic sul tuo file .xcstrings e poi vai su Editor → Assistente dal menu.
Passaggio 4: aggiunta di varianti per plurale o per dispositivo
Alcune stringhe necessitano di versioni diverse a seconda del contesto, come le forme plurali in lingue diverse o il testo che cambia in base al dispositivo. Queste variazioni aiutano a garantire che il tuo testo risulti naturale e appropriato tra lingue, dispositivi e contesti.
Puoi gestire entrambi nel catalogo di stringhe.
Pluralizzazione
Per i plurali, inizia localizzando una stringa che dipende da un valore numerico, come:
Text("\(count) items")
Vai al catalogo di stringhe e fai clic con il pulsante destro del mouse nella visualizzazione chiave. Scegli Varia per plurale. Xcode aggiunge automaticamente tutte le categorie plurali richieste per quella lingua. Riempi il testo per ogni forma plurale e il sistema sceglierà quella giusta in fase di runtime.
Ecco un esempio di file .xcstrings con variazioni plurali:
Esempio
{
"version": "1.0",
"sourceLanguage": "en",
"strings": {
"items_count": {
"comment": "Number of items - English only supports 'one' and 'other'",
"extractionState": "manual",
"localizations": {
"en": {
"variations": {
"plural": {
"one": {
"stringUnit": {
"state": "translated",
"value": "%lld item"
}
},
"other": {
"stringUnit": {
"state": "translated",
"value": "%lld items"
}
}
}
}
}
}
},
"messages_count": {
"comment": "Number of messages",
"extractionState": "manual",
"localizations": {
"en": {
"variations": {
"plural": {
"one": {
"stringUnit": {
"state": "translated",
"value": "You have %lld new message"
}
},
"other": {
"stringUnit": {
"state": "translated",
"value": "You have %lld new messages"
}
}
}
}
}
}
}
}
}
Variazioni del dispositivo
Per il testo specifico del dispositivo, come “Tap” su iOS rispetto a “Click” su macOS, fai clic tenendo premuto il tasto Control sulla stessa chiave e scegli Varia per dispositivo.
Aggiungi i dispositivi che desideri personalizzare e inserisci il messaggio appropriato per ciascuno. Quando l’app viene eseguita, visualizza la versione che corrisponde al dispositivo corrente.
Passaggio 5: aggiunta di lingue
Ecco un modo semplice per aggiungere (e rimuovere) lingue:
- Seleziona il tuo file di progetto e quindi visualizza la scheda Info nel pannello di destra.
- Nella sezione Localizzazioni, fai clic sul segno più (+) in basso a sinistra.
- Aggiungi le lingue in cui desideri visualizzare la tua app iOS.
Tutti i file di lingua e le traduzioni verranno aggiunti allo stesso file .xcstrings.
(Facoltativo) Passaggio 6: esporta il tuo file xcstrings
Sebbene un’API o l’integrazione Git con uno strumento di localizzazione software sia il modo più veloce per ottenere traduzioni, potresti voler inviare i file manualmente. In questo caso, prendi il file .xcstrings dalla tua cartella iOS.
Quando lo ricarichi dopo che PTC ha terminato la traduzione, PTC sostituirà l’originale.
Traduzione dei file della tua app iOS
Con l’AI di PTC, puoi tradurre ogni tipo di file che potresti utilizzare in un’app iOS: .strings, .stringsdict, .xcstrings. PTC è ottimizzato per gli sviluppatori iOS, soprattutto quando desideri una localizzazione continua con il minimo lavoro manuale.
Una volta che ti iscrivi per una prova gratuita o accedi al tuo account PTC, crea un nuovo progetto. Il wizard di configurazione ti guiderà attraverso le basi:
- Scegli come vuoi usare PTC (carica file, connetti Git o usa l’API)
- Parla a PTC del tuo progetto
- Seleziona le tue lingue di destinazione
Puoi scegliere sia il caricamento manuale dei file sia connettere il tuo repository tramite API e integrazione Git.
Caricamento manuale dei file: caricamento dei tuoi file .xcstrings
Se hai scelto il caricamento manuale dei file, carica il tuo file .xcstrings nella fase File di risorse.
Una volta caricato il file, scegli le lingue in cui vuoi tradurlo e lascia che PTC traduca.
PTC termina la traduzione in pochi minuti. Scarica uno zip con le traduzioni o controllale in PTC. La visualizzazione Traduzioni di PTC rende il testo tradotto più facile da leggere e modificare rispetto alla visualizzazione in Xcode.
Nota che PTC preserva la pluralizzazione e altri segnaposto.
Integrazione automatica: utilizzo dell’API o connessione del tuo repository Git
Integrare PTC con il tuo repository è facile ed è il modo più efficiente per mantenere la tua app iOS localizzata ad ogni rilascio.
Durante la configurazione del progetto, scegli semplicemente le opzioni API o Integrazione Git. Il processo di configurazione ti guiderà attraverso i passaggi essenziali. Tutto ciò di cui hai bisogno è il token di accesso corretto. Controlla di più su:
Il flusso di lavoro per queste integrazioni è:
- Connetti il tuo repository
- PTC traduce i rami che indichi
- PTC invia una richiesta di merge al tuo repository con le traduzioni: accettala e sei a posto!
- PTC continua a monitorare i rami e ti invia nuove richieste di merge man mano che modifichi il tuo codice.
Test e lancio della tua app iOS localizzata
Innanzitutto, vai su Xcode e fai il backup del tuo file .xcstrings esistente. Questa è una pratica davvero importante poiché il nuovo file con le traduzioni sostituirà quello esistente.
Una volta che hai le traduzioni, devi aggiungerle alla tua app iOS. Se stai utilizzando un metodo di integrazione automatica con PTC, accetta semplicemente la richiesta di merge che la piattaforma invia.
Se hai scaricato i file manualmente, assicurati prima che Xcode non sia in esecuzione e poi apri il progetto nel Finder. Clicca con il tasto destro del mouse sul progetto e sovrascrivi il file con quello nuovo. Quindi, riavvia Xcode in modo che le traduzioni possano apparire.
Test della tua app iOS
Ora che le traduzioni sono a posto, è il momento di testarle.
In Xcode, puoi facilmente testare diverse lingue modificando l’impostazione Lingua app e Regione app nel tuo Schema. Questo è particolarmente utile per le lingue da destra a sinistra (ad es. arabo).
- Vai su Prodotto → Schema → Modifica schema e passa alla scheda Opzioni
- Modifica Lingua app e Regione app
- Esegui l’app e verifica che i layout e gli elementi dell’interfaccia utente si riflettano correttamente
Dovresti vedere lo stesso layout e design della tua app, solo con il testo tradotto nella lingua selezionata.
Per testare con un simulatore, vai su Prodotto → Destinazione per scegliere un simulatore di dispositivo e quindi eseguilo:
- Vai su Impostazioni → Generali → Lingua e zona
- Seleziona una delle tue lingue tradotte (ad es. arabo, spagnolo, francese)
- Riavvia la tua app e conferma che le stringhe dell’interfaccia utente appaiano nella lingua selezionata
Best practice per la localizzazione iOS
Usa i cataloghi di stringhe
.strings è ancora una scelta popolare per la creazione di app iOS. Ma quando vuoi un’app iOS localizzata correttamente, è meglio optare per i cataloghi di stringhe.
Con .strings, ci sono passaggi aggiuntivi che devi intraprendere per internazionalizzare la tua app iOS, come la creazione di un file Localizable.strings di base e quindi l’aggiunta del file di ogni lingua nella sua cartella lproj.
Ma con i cataloghi di stringhe, il processo è molto più semplice.
Controlla la tua interfaccia utente per la lunghezza variabile del testo
Lingue diverse richiedono una lunghezza del testo diversa. Ad esempio, le parole in tedesco sono in genere più lunghe delle loro controparti inglesi, quindi il testo tedesco ha il potenziale per interrompere la tua interfaccia utente.
Assicurati di:
- Usa Auto Layout o il sistema di layout flessibile di SwiftUI
- Consenti alle etichette di crescere e adattarsi naturalmente
- Evita i vincoli di larghezza fissa
Non saltare le varianti di pluralizzazione
Le lingue non esprimono le quantità o il contesto allo stesso modo. L’inglese potrebbe aver bisogno solo del singolare e del plurale, ma molte lingue hanno bisogno di tre, quattro o anche sei categorie plurali. Ad esempio:
- Il russo distingue zero, uno, pochi, molti e altri
- L’arabo ha sei forme plurali
- Il giapponese non ha plurali numerici
Garantire pratiche di pluralizzazione corrette ti offre le migliori traduzioni possibili per coinvolgere il pubblico nella loro lingua.

Pronto per localizzare la tua app iOS?
Localizzare la tua app iOS con PTC richiede minuti, non settimane. Aggiungi nuove lingue, offri un’esperienza utente coerente e fai crescere il tuo pubblico in tutti i mercati.


Localizza app iOS con l’AI
Ottieni traduzioni contestualizzate in pochi minuti
Carica file o automatizza tramite API o integrazione Git
1
Inizia una prova gratuita
Traduci 2500 parole gratis.
2
Aggiungi i dettagli rapidi del progetto
Fornisci un contesto sulla tua app e sui tuoi utenti.
3
Ottieni traduzioni
Scarica un file ZIP o esegui il merge nel tuo repository.