Ciao a tutti, rieccoci con un nuovo tutorial dedicato alla gestione delle preferenze per le nostre applicazioni iPhone e iPad. Fino ad ora siamo in grado di realizzare il nostro progetto in più lingue, seguendo il tutorial di Vanni, sappiamo aggiungere le nostre preferenze, seguendo il mio precedente tutorial, ma forse non avete ancora idea di come si localizzino le preferenze delle nostre app iOS? Se non sapete più dove sbattere la testa per localizzare completamente la vostra applicazione niente paura, questo è il tutorial che fa per voi. 😉
Partiamo con il nostro progetto XCode
Per comodità partiremo dal progetto dello scorso tutorial. Se non lo abbiamo più niente paura, scarichiamolo e apriamolo con XCode.
Seguendo i tutorial di Vanni verrebbe spontaneo cliccare sul Settings.bundle, quindi “Get Info” e a seguire “Make File Localizable”, chiudendo qui il discorso… peccato che il pulsante non è attivo e quindi non possiamo seguire questa strada per nessuno dei file inclusi nel Settings.bundle !!
Per risolvere questo problema ho utilizzato un metodo forse un po’ ortodosso ma funzionante.
Iniziamo dal file Root.plist , dovremo modificarlo un pochetto prima di aggiungere la localizzazione.
Apriamo il file Root.plist incluso nel Settings.bundle ed esplodiamo tutti gli item, così da avere la seguente situazione:

Adesso sostituiamo i valori di TUTTI, e ripeto TUTTI, i campi “Title” con qualcosa che non sia la frase da visualizzare nelle impostazioni, che abbiamo già inserito nel precedente tutorial, ma che ci faccia venire subito in mente proprio questo titolo (è più facile a dirsi che a farsi).
Ad esempio potremmo sostituire il titolo “Gruppo 1” dell’Item 0 con “GRUPPO_1” o “GRP_1” o “FIRST_GROUP”, qualsiasi cosa volete, l’importante è ricordarselo perché dopo ci servirà altrove.
Una volta terminate queste sostituzioni otterrete qualcosa simile a quanto mostrato in figura:

Prendiamo ora queste nuove stringhe e inseriamole all’interno del file “Root.strings” della cartella “en.lproj”, ottenendo:

Come vedete nella parte sinistra dell’uguale c’è la stringa che abbiamo aggiunto in “Root.plist” mentre alla destra dell’uguale c’è la stringa tradotta, dove potremo aggiungere quello che vogliamo.
Aggiungere le altre localizzazioni
Adesso viene il bello, la parte meno automatizzata di tutto.
Col tasto destro su “Settings.bundle” scegliamo “Reveal in Finder” quindi clicchiamo su “Mostra contenuto pacchetto” sul file “Settings.bundle”. Si presenterà questo:

Chiudiamo momentaneamente XCode, lo riapriremo tra poco.
Prendiamo la cartella “en.lproj”, copiamola, incolliamola e rinominiamola in “it.lproj” quindi riapriamo il progetto in XCode, noterete che all’interno del Settings.bundle sarà presente questa nuova cartella, editiamo quindi il file “Root.strings” al suo interno, inserendo qualcosa di simile a:

Come piccola appendice lascio qui alcuni nomi possibili per le cartelle interne al “Settings.bundle” per tradurre i vostri progetti nelle seguenti lingue:
Facendo una semplice differenza tra le stringhe alla sinistra dei file “Root.strings” noterete che sono uguali tra loro e uguali a quelli inseriti in “Root.plist”, mentre nella destra dell’uguale ci sono le frasi tradotte.
Verifichiamo che tutto funzioni correttamente
Avviamo il progetto nel simulatore, comparirà l’unica view presente. Per verificare che tutto funzioni a dovere occorre chiudere il programma (anche dalla barra del multitasking) ed entrate nelle impostazioni del simulatore.
Ammesso che la lingua del simulatore sia l’inglese, selezionando “preferences_part1” quello che avrete davanti sarà questo:

Torniamo indietro nelle impostazioni e settiamo l’italiano in “General” > “International” > “Language”. Attendiamo qualche secondo che si resetti il simulatore con la nuova lingua selezionata ed entriamo nuovamente nelle impostazioni del programma “preferences_part1”. Questa volta troveremo le nostre preferenze nella nuova lingua:

Come vedete le stringhe presentate sono quelle inserite nei due file “Root.strings”, alla destra dell’uguale.
Nient’altro, ed ecco a voi la vostra applicazione completamente localizzata 😉
Se volete potete scaricare il progetto presentato visitando il seguente indirizzo.
Al prossimo tutorial!!











2 Responses to “T#098 – Localizzare le preferenze delle applicazioni iPhone e iPad (parte 2)”
2 Luglio 2011
XfightOttima guida 😀
3 Luglio 2011
Gabriele PongelliGrazie Xfight 😉