{"id":7164,"date":"2011-07-01T17:37:23","date_gmt":"2011-07-01T15:37:23","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=7164"},"modified":"2011-07-24T14:32:40","modified_gmt":"2011-07-24T12:32:40","slug":"t098-localizzare-le-preferenze-delle-applicazioni-iphone-e-ipad-parte-2","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/t098-localizzare-le-preferenze-delle-applicazioni-iphone-e-ipad-parte-2\/","title":{"rendered":"T#098 &#8211; Localizzare le preferenze delle applicazioni iPhone e iPad (parte 2)"},"content":{"rendered":"<p><a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/04\/bandiere1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2010\/04\/bandiere1.png\" alt=\"Bandiere Localizzazione Applicazioni iPhone\" title=\"bandiere\" width=\"208\" height=\"90\" class=\"alignleft size-full wp-image-3080\" \/><\/a> 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\u00f9 lingue, seguendo il <a href=\"http:\/\/www.devapp.it\/wordpress\/t034-come-localizzare-le-nostre-applicazioni-iphone.html\" target=\"_blank\">tutorial di Vanni<\/a>, sappiamo aggiungere le nostre preferenze, seguendo il mio <a href=\"http:\/\/www.devapp.it\/wordpress\/t092-gestire-le-preferenze-delle-nostre-applicazioni-iphone-e-ipad-parte-1.html\" target=\"_blank\">precedente tutorial<\/a>, ma forse non avete ancora idea di come si localizzino le preferenze delle nostre app iOS? Se non sapete pi\u00f9 dove sbattere la testa per localizzare completamente la vostra applicazione niente paura, questo \u00e8 il tutorial che fa per voi. \ud83d\ude09<!--more--><\/p>\n<h4>Partiamo con il nostro progetto XCode<\/h4>\n<p>Per comodit\u00e0 partiremo dal <a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/04\/T092%E2%80%93Gestire-Preferenze-Applicazioni-iPhone-iPad.zip\" target=\"_blank\">progetto dello scorso tutorial<\/a>. Se non lo abbiamo pi\u00f9 niente paura, scarichiamolo e apriamolo con XCode.<br \/>\nSeguendo i tutorial di Vanni verrebbe spontaneo cliccare sul Settings.bundle, quindi &#8220;Get Info&#8221; e a seguire &#8220;Make File Localizable&#8221;, chiudendo qui il discorso\u2026 peccato che il pulsante non \u00e8 attivo e quindi non possiamo seguire questa strada per nessuno dei file inclusi nel Settings.bundle !!<\/p>\n<p>Per risolvere questo problema ho utilizzato un metodo forse un po&#8217; ortodosso ma funzionante.<br \/>\nIniziamo dal file Root.plist , dovremo modificarlo un pochetto prima di aggiungere la localizzazione.<br \/>\nApriamo il file Root.plist incluso nel Settings.bundle ed esplodiamo tutti gli item, cos\u00ec da avere la seguente situazione:<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-01.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-01.jpg\" alt=\"Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-01\" title=\"Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-01\" width=\"550\" height=\"410\" class=\"aligncenter size-full wp-image-7170\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-01.jpg 550w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-01-300x223.jpg 300w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-01-150x111.jpg 150w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>Adesso sostituiamo i valori di TUTTI, e ripeto TUTTI, i campi &#8220;Title&#8221; con qualcosa che non sia la frase da visualizzare nelle impostazioni, che abbiamo gi\u00e0 inserito nel precedente tutorial, ma che ci faccia venire subito in mente proprio questo titolo (\u00e8 pi\u00f9 facile a dirsi che a farsi).<br \/>\nAd esempio potremmo sostituire il titolo &#8220;Gruppo 1&#8221; dell&#8217;Item 0 con &#8220;GRUPPO_1&#8221; o &#8220;GRP_1&#8221; o &#8220;FIRST_GROUP&#8221;, qualsiasi cosa volete, l&#8217;importante \u00e8 ricordarselo perch\u00e9 dopo ci servir\u00e0 altrove.<\/p>\n<p>Una volta terminate queste sostituzioni otterrete qualcosa simile a quanto mostrato in figura:<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-02.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-02.jpg\" alt=\"Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-02\" title=\"Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-02\" width=\"550\" height=\"410\" class=\"aligncenter size-full wp-image-7171\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-02.jpg 550w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-02-300x223.jpg 300w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-02-150x111.jpg 150w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>Prendiamo ora queste nuove stringhe e inseriamole all&#8217;interno del file &#8220;Root.strings&#8221; della cartella &#8220;en.lproj&#8221;, ottenendo:<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-03.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-03.jpg\" alt=\"Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-03\" title=\"Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-03\" width=\"538\" height=\"350\" class=\"aligncenter size-full wp-image-7172\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-03.jpg 538w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-03-300x195.jpg 300w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-03-150x97.jpg 150w\" sizes=\"auto, (max-width: 538px) 100vw, 538px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>Come vedete nella parte sinistra dell&#8217;uguale c&#8217;\u00e8 la stringa che abbiamo aggiunto in &#8220;Root.plist&#8221; mentre alla destra dell&#8217;uguale c&#8217;\u00e8 la stringa tradotta, dove potremo aggiungere quello che vogliamo.<\/p>\n<h4>Aggiungere le altre localizzazioni<\/h4>\n<p>Adesso viene il bello, la parte meno automatizzata di tutto.<br \/>\nCol tasto destro su &#8220;Settings.bundle&#8221; scegliamo &#8220;Reveal in Finder&#8221; quindi clicchiamo su &#8220;Mostra contenuto pacchetto&#8221; sul file &#8220;Settings.bundle&#8221;. Si presenter\u00e0 questo:<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-04.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-04.jpg\" alt=\"Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-04\" title=\"Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-04\" width=\"550\" height=\"165\" class=\"aligncenter size-full wp-image-7173\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-04.jpg 550w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-04-300x90.jpg 300w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-04-150x45.jpg 150w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>Chiudiamo momentaneamente XCode, lo riapriremo tra poco.<br \/>\nPrendiamo la cartella &#8220;en.lproj&#8221;, copiamola, incolliamola e rinominiamola in &#8220;it.lproj&#8221; quindi riapriamo il progetto in XCode, noterete che all&#8217;interno del Settings.bundle sar\u00e0 presente questa nuova cartella, editiamo quindi il file &#8220;Root.strings&#8221; al suo interno, inserendo qualcosa di simile a:<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-05.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-05.jpg\" alt=\"Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-05\" title=\"Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-05\" width=\"550\" height=\"410\" class=\"aligncenter size-full wp-image-7174\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-05.jpg 550w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-05-300x223.jpg 300w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-05-150x111.jpg 150w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>Come piccola appendice lascio qui alcuni nomi possibili per le cartelle interne al &#8220;Settings.bundle&#8221; per tradurre i vostri progetti nelle seguenti lingue:<\/p>\n<p><center><\/p>\n<table>\n<tr>\n<td><center><strong>Lingua<\/strong><\/center><\/td>\n<td><center><strong>Nome cartella<\/strong><\/center><\/td>\n<\/tr>\n<tr>\n<td><center>Italiano<\/center><\/td>\n<td><center>it.lproj<\/center><\/td>\n<\/tr>\n<tr>\n<td><center>Inglese<\/center><\/td>\n<td><center>en.lproj<\/center><\/td>\n<\/tr>\n<tr>\n<td><center>Francese<\/center><\/td>\n<td><center>fr.lproj<\/center><\/td>\n<\/tr>\n<tr>\n<td><center>Tedesco<\/center><\/td>\n<td><center>de.lproj<\/center><\/td>\n<\/tr>\n<tr>\n<td><center>Spagnolo<\/center><\/td>\n<td><center>es.lproj<\/center><\/td>\n<\/tr>\n<tr>\n<td><center>Olandese<\/center><\/td>\n<td><center>nl.lproj<\/center><\/td>\n<\/tr>\n<tr>\n<td><center>Portoghese<\/center><\/td>\n<td><center>pr.lproj<\/center><\/td>\n<\/tr>\n<tr>\n<td><center>Giapponese<\/center><\/td>\n<td><center>ja.lproj<\/center><\/td>\n<\/tr>\n<\/table>\n<p><\/center><\/p>\n<p>Facendo una semplice differenza tra le stringhe alla sinistra dei file &#8220;Root.strings&#8221; noterete che sono uguali tra loro e uguali a quelli inseriti in &#8220;Root.plist&#8221;, mentre nella destra dell&#8217;uguale ci sono le frasi tradotte.<\/p>\n<h4>Verifichiamo che tutto funzioni correttamente<\/h4>\n<p>Avviamo il progetto nel simulatore, comparir\u00e0 l&#8217;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.<br \/>\nAmmesso che la lingua del simulatore sia l&#8217;inglese, selezionando &#8220;preferences_part1&#8221; quello che avrete davanti sar\u00e0 questo:<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-06.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-06.jpg\" alt=\"Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-06\" title=\"Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-06\" width=\"368\" height=\"716\" class=\"aligncenter size-full wp-image-7175\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-06.jpg 368w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-06-154x300.jpg 154w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-06-77x150.jpg 77w\" sizes=\"auto, (max-width: 368px) 100vw, 368px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>Torniamo indietro nelle impostazioni e settiamo l&#8217;italiano in &#8220;General&#8221; > &#8220;International&#8221; > &#8220;Language&#8221;. Attendiamo qualche secondo che si resetti il simulatore con la nuova lingua selezionata ed entriamo nuovamente nelle impostazioni del programma &#8220;preferences_part1&#8221;. Questa volta troveremo le nostre preferenze nella nuova lingua:<\/p>\n<p><center><br \/>\n<a href=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-07.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-07.jpg\" alt=\"Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-07\" title=\"Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-07\" width=\"368\" height=\"716\" class=\"aligncenter size-full wp-image-7169\" srcset=\"https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-07.jpg 368w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-07-154x300.jpg 154w, https:\/\/www.devapp.it\/wordpress\/wp-content\/uploads\/2011\/07\/Localizzare-le-preferenze-delle-applicazioni-iPhone-e-iPad-07-77x150.jpg 77w\" sizes=\"auto, (max-width: 368px) 100vw, 368px\" \/><\/a><br \/>\n<\/center><\/p>\n<p>Come vedete le stringhe presentate sono quelle inserite nei due file &#8220;Root.strings&#8221;, alla destra dell&#8217;uguale.<\/p>\n<p>Nient&#8217;altro, ed ecco a voi la vostra applicazione completamente localizzata \ud83d\ude09<\/p>\n<p>Se volete potete scaricare il progetto presentato visitando il <a href=\"https:\/\/github.com\/gpongelli\/iPhone_localizedPref\" target=\"_blank\">seguente indirizzo<\/a>.<\/p>\n<p>Al prossimo tutorial!!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ciao a tutti, rieccoci con un nuovo tutorial dedicato alla gestione delle preferenze per le nostre applicazioni&#8230;<\/p>\n","protected":false},"author":543,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[682,808,184,806,807,413,809],"class_list":["post-7164","post","type-post","status-publish","format-standard","hentry","category-tutorial-pratici","tag-gabriele-pongelli","tag-gestire-preferenze-iphone-e-ipad","tag-localizzare-applicazione-iphone","tag-localizzare-preferenze-iphone","tag-localizzazione-applicazioni-ipad","tag-programmare-iphone","tag-tutorial-ios"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/7164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/users\/543"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=7164"}],"version-history":[{"count":9,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/7164\/revisions"}],"predecessor-version":[{"id":7293,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/7164\/revisions\/7293"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=7164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=7164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=7164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}