{"id":11197,"date":"2015-01-19T11:50:57","date_gmt":"2015-01-19T10:50:57","guid":{"rendered":"http:\/\/www.devapp.it\/wordpress\/?p=11197"},"modified":"2016-06-07T14:57:59","modified_gmt":"2016-06-07T12:57:59","slug":"come-tradurre-un-app-ios-i-tool-e-i-plugin-xcode-per-velocizzare-la-localizzazione-in-piu-lingue-delle-nostre-app","status":"publish","type":"post","link":"https:\/\/www.devapp.it\/wordpress\/come-tradurre-un-app-ios-i-tool-e-i-plugin-xcode-per-velocizzare-la-localizzazione-in-piu-lingue-delle-nostre-app\/","title":{"rendered":"Come tradurre un app iOS: i tool e i plugin Xcode per velocizzare la localizzazione in pi\u00f9 lingue delle nostre app"},"content":{"rendered":"<p>Tutti gli sviluppatori prima o poi durante la propria carriera si trovano a dover tradurre il proprio applicativo in varie lingue. Nella maggioranza dei framework per la produzione di software\u00a0sono solitamente inclusi dei sistemi per velocizzare questo processo il pi\u00f9 possibile; iOS e OS X non fanno eccezione a questa regola e propongono la gestione di stringhe e assets tradotti nelle varie lingue.<\/p>\n<p>Per la traduzione di stringhe, ad esempio, vengono creati dei <strong>file .strings<\/strong> che contengono l&#8217;elenco delle frasi da tradurre. In tutto il codice, \u00a0poi, \u00e8 sufficiente utilizzare\u00a0la funzione generica <strong>NSLocalizedString()<\/strong> per ottenere, durante l&#8217;utilizzo, la stringa tradotta nella lingua di sistema del device che sta usando la nostra app. Spesso, per\u00f2, la procedura non \u00e8 velocissima e non sempre viene fatta dal primo istante in cui l&#8217;applicazione nasce. In questo articolo vediamo alcuni tool e Plugin per Xcode che velocizzano il lavoro.<\/p>\n<h2>Extractor Localizable Strings<\/h2>\n<p>Questo semplice plugin permette di trasformare una stringa comune in una stringa localizzata con una comoda combinazione di tasti (o tramite l&#8217;apposito menu). Una volta scelta la stringa \u00e8 sufficiente premere <em>Extract Localization\u00a0String<\/em> e verr\u00e0 creata una nuova voce nel <strong>file Localizable.strings<\/strong> e la stringa verr\u00e0 sostituita con la funzione\u00a0<em>NSLocalizedString<\/em> e la relativa chiave scelta.<\/p>\n<p>Per installarlo \u00e8 sufficiente recarsi in\u00a0<a href=\"https:\/\/github.com\/viniciusmo\/extract-localizable-string-plugin-xcode\" target=\"_blank\">questa pagina<\/a> del progetto, compilarlo e riavviare Xcode.<\/p>\n<h2>Lin<\/h2>\n<p>Il secondo plugin per Xcode \u00e8 <em>Lin<\/em>, che\u00a0permette di velocizzare notevolmente l&#8217;inserimento di nuove stringhe. Dopo aver installato il plugin, ogni qual volta che si user\u00e0 la funzione\u00a0NSLocalizedString verr\u00e0 proposto un popup dove poter ricercare la chiave da voler inserire (con relativa traduzione disponibile) oppure aggiungerne una nuova.<\/p>\n<p>Anche per installare Lin, vi basta\u00a0scaricare e compilare il progetto che si trova in\u00a0<a href=\"https:\/\/github.com\/questbeat\/Lin-Xcode5\" target=\"_blank\">questa pagina<\/a>. Dopo il riavvio comparir\u00e0 il comodo pop-up.<\/p>\n<h2>Xcode Quick Localization<\/h2>\n<p>Per chi avesse\u00a0bisogno di una funzione rapida per trasformare tutte le stringhe in stringhe localizzate \u00e8 disponibile il plugin\u00a0Xcode <em>Quick Localization<\/em>. Tramite una combinazione di tasti o l&#8217;apposito menu si pu\u00f2 trasformare il codice &#8230;@&#8221;stringa&#8221; in &#8230;NSLocalizedString(@&#8221;stringa&#8221;, @&#8221;stringa&#8221;) in un secondo.<\/p>\n<p>Il plugin si scarica da <a href=\"https:\/\/github.com\/nanaimostudio\/Xcode-Quick-Localization\">questa pagina<\/a>.<\/p>\n<h2>Genstrings<\/h2>\n<p>Un tool disponibile da console e fornito direttamente da Apple per la traduzione di applicazioni \u00e8 <em>genstrings<\/em>. Con un semplice comando questo tool creer\u00e0 un file .strings con tutte le stringhe inserite in un progetto senza bisogno di effettuare le classiche operazioni noiose e ripetitive.<\/p>\n<p>Una guida completa sul suo uso \u00e8 disponibile in\u00a0<a href=\"https:\/\/developer.apple.com\/library\/mac\/documentation\/Darwin\/Reference\/ManPages\/man1\/genstrings.1.html\" target=\"_blank\">questa pagina<\/a> del sito ufficiale developer di Apple.<\/p>\n<p>Spero l&#8217;articolo vi sia utile, se usate altri plugin segnalateceli nei commenti.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tutti gli sviluppatori prima o poi durante la propria carriera si trovano a dover tradurre il proprio&#8230;<\/p>\n","protected":false},"author":557,"featured_media":11230,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[481,7],"tags":[673,1484,1482,1483],"class_list":["post-11197","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-risorse-utili","category-strumenti-di-sviluppo","tag-localizable-strings","tag-localizzare-app-ios","tag-plugin-xcode","tag-tradurre-applicazioni-ios-e-osx"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/11197","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\/557"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/comments?post=11197"}],"version-history":[{"count":8,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/11197\/revisions"}],"predecessor-version":[{"id":12117,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/posts\/11197\/revisions\/12117"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media\/11230"}],"wp:attachment":[{"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/media?parent=11197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/categories?post=11197"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devapp.it\/wordpress\/wp-json\/wp\/v2\/tags?post=11197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}