Un catalogo di stringhe Xcode è un unico file che contiene tutte le lingue della tua app. Per aggiungere tedesco, giapponese e portoghese, compili quel file e poi Xcode si occupa del resto.
Questa guida è dedicata a Localizable.xcstrings e all’aspetto che lo distingue da un normale lavoro di traduzione: i plurali. Per gli altri formati per app, scopri come tradurre i file delle lingue della tua app.
Che cos’è un catalogo di stringhe
I cataloghi di stringhe sono stati introdotti con Xcode 15. Nella sessione WWDC23 di Apple vengono descritti come un modo per gestire tutte le stringhe in un unico posto. Dopo ogni build, Xcode individua le stringhe localizzabili e le aggiunge al catalogo. Per aggiungere una lingua, basta fare clic sul pulsante più.
Dietro le quinte, è un file JSON che per impostazione predefinita si chiama Localizable.xcstrings. Ogni chiave contiene le traduzioni in tutte le lingue e il commento per i traduttori.
Quale opzione scegliere?
| Ideale per | Limiti | |
|---|---|---|
| AI Glot | Tradurre più lingue in un unico lavoro, gestire i plurali per lingua e mantenere un glossario coerente | Non serve per dieci stringhe |
| Esporta localizzazioni di Xcode | Un catalogo di localizzazione per lingua da inviare a un traduttore, poi Importa localizzazioni | Prepara i file, ma non li traduce: ti serve comunque un traduttore o uno strumento |
| Una piattaforma di gestione delle traduzioni (Crowdin, Lokalise, Phrase) | Un team con revisori e una connessione al repository | Prima devi configurare un progetto e collegare il repository |
| DeepL | File XLIFF, inclusi nel suo elenco | .xcstrings non è incluso nell’elenco |
| ChatGPT, Claude o un altro assistente | Poche stringhe | Un catalogo è un JSON annidato con varianti per i plurali. Un file lungo richiede tempo, consuma il limite di utilizzo e rischia di perdere una chiave o una forma plurale |
| Un freelance o un’agenzia | La pagina dell’app sull’App Store e il flusso di onboarding | Tempi lunghi, costo a parola |
Affida a una persona le cinque stringhe che convincono gli utenti a scegliere la tua app. Traduci con un motore le migliaia di stringhe che ci sono dietro.
Perché AI Glot è adatto ai cataloghi di stringhe
- Scrive nella chiave e nella lingua corrette. Il catalogo resta un unico file.
- Gestisce i plurali per ogni lingua. Il russo richiede quattro forme e l’arabo sei, ciascuna associata alla propria categoria.
- Mantiene gli specificatori di formato.
%@,%de%1$@restano nella stringa tradotta. - Mantiene i commenti per i traduttori associati alle rispettive chiavi.
- Puoi tradurre solo le parti mancanti. Le stringhe già revisionate restano invariate.
- Prima fai un piano, poi spendi.
Il percorso di un singolo file
- 1CaricaLocalizable.xcstrings così com’èFino a 8 MB
- 2Dì ciò di cui hai bisognoLingue da aggiungereGratis
- 3Leggi il pianoChiavi mancanti per lingua, costoGratis
- 4ApprovaL'unico passaggio a pagamentoConsuma crediti
- 5ScaricaLo stesso catalogo, completoSostituisci il file
Perché i plurali sono importanti
L’inglese ha due forme plurali. Altre lingue ne hanno di più, e un messaggio come “3 foto” deve usare la forma giusta in ogni lingua.
- uno
- altro
- uno
- pochi
- molti
- altro
- zero
- uno
- due
- pochi
- molti
- altro
Se la lingua di destinazione usa una categoria assente nella lingua di origine, questa viene aggiunta. Per esempio, il catalogo russo acquisisce le forme few e many. Altrimenti, per alcuni numeri l’app mostra una forma sbagliata.
Cosa controllare dopo
Sostituzioni e varianti del dispositivo. Non sono ancora tradotte e restano invariate. Il piano indica quante sono.
Elenco delle lingue. Apri il catalogo in Xcode e verifica che ogni nuova lingua sia presente e che il relativo stato di avanzamento risulti completo.
Lunghezza. Avvia l’app in una delle nuove lingue e controlla le schermate con le stringhe più lunghe, per verificare che il testo non fuoriesca dai pulsanti.
Come fare, passo dopo passo
1. Prova un file gratis. Il traduttore di String Catalog non richiede un account e accetta file fino a 2 MB e 5,000 parole.
2. Carica Localizable.xcstrings nell’app. Lo trovi nella cartella del progetto, nella cartella Resources se hai mantenuto la posizione predefinita di Apple.
3. Spiega in una frase cosa ti serve.
Add German, Japanese and Portuguese.
Translate only the keys that have no translation in each language yet.
La frase determina cosa viene tradotto nell’intero catalogo. Le regole di formulazione, come «mantieni esattamente tutti i segnaposto di formato» o «usa un registro informale», vanno inserite nella seconda casella durante l’approvazione, perché vengono applicate a ogni stringa così com’è scritta.
4. Aggiungi un glossario con il nome dell’app, i nomi delle funzionalità e i termini che l’app usa sempre nello stesso modo. Scopri come crearne uno.
5. Leggi il piano e scegli il livello di qualità.
Lite offre circa tre volte più parole per credito ed è più veloce: è la scelta giusta per una nuova lingua che rivedrai in seguito. Standard è pensato per le stringhe della pagina dell’app sull’App Store. Con Standard, un credito equivale a una parola.
6. Approva e scarica, poi sostituisci il catalogo nel progetto.
Un catalogo, più lingue
I numeri sono un esempio. A differenza della maggior parte dei formati, un String Catalog contiene tutte le lingue, quindi ricevi un solo file, non uno per lingua.
Tre modi per usarlo
Dalla riga di comando puoi ripetere l’operazione a ogni rilascio, quando Xcode ha aggiunto nuove stringhe al catalogo:
id=$(aiglot batches create Localizable.xcstrings \
--instruction "Add German, Japanese and Portuguese. Translate only the keys with no translation yet." \
--json | jq -r '.data.id')
aiglot batches get "$id" --json | jq '.data.plan'
aiglot batches approve "$id" --quality lite \
--instructions "Keep every format specifier exactly as written."
aiglot batches download "$id" --output Localizable.xcstrings
Con il tuo agente AI: collega AI Glot come server MCP. L’agente può leggere il progetto, proporre termini per il glossario, avviare il processo e rimettere il catalogo al suo posto.
Nell’app: carica, fai clic e scarica. Ideale per un’operazione occasionale.
Per integrare l’API, consulta la documentazione dell’API.
Nella pagina Prezzi trovi i costi per volumi maggiori. Con un account gratuito hai crediti per elaborare un file reale.
I limiti indicati qui erano in vigore al momento della stesura: 8 MB per String Catalog e 2 MB e 5,000 parole per lo strumento gratuito. La descrizione di String Catalog e di Export Localizations è tratta dalla sessione WWDC23 di Apple. L’elenco di DeepL proviene dalla documentazione del servizio. I nomi dei file e il numero di stringhe mostrati nei diagrammi sono esempi. Il tuo piano mostra i dati effettivi del tuo file ed è gratuito da consultare.
