giovedì 23 giugno 2011

HowTo: Rendere multilingua la propria iPhone App

Una delle feature più utili nelle applicazioni per dispositivi mobili è sicuramente la localizzazione (o internazionalizzazione) dell’interfaccia, ovvero la possibilità di mostrare messaggi agli utenti nella loro lingua. Sì insomma, il multilingua.

Se state sviluppando una App per l’iPhone e non sapete come inserire questa funzionalità, ecco un brevissimo tutorial. Brevissimo perchè, come vedrete, si tratta di un’operazione estremamente semplice proprio perchè ben integrata in iOS.

Step 1) Creare i file Localizable.strings


Nella directory del vostro progetto XCode dovreste avere una cartella xx.lproj, dove xx è il codice ISO a due caratteri della nazione predefinita, solitamente ‘en’. Supponendo che vogliate rendere la vostra App bilingua inglese-italiano, create nello stesso punto una cartella e rinominatela it.lproj.

Ora create due file di testo, rispettivamente in en.lproj e in it.lproj, e chiamateli entrambi Localizable.strings.

Includete i due file (vuoti) nel progetto da XCode. Se state usando la versione 4, potete includerli sotto il gruppo Supporting Files.

Step 2) Inserire le stringhe di messaggi


Ora aprite il Localizable.strings nella directory en.lproj e aggiungete la riga seguente:

“Label_Text” = “Test Message”;

Mentre nel file in it.lproj scrivete:

“Label_Text” = “Messaggio di Test”;

Step 3) Collegare le stringhe agli oggetti di interfaccia


Create ora una label in una qualche vista della vostra App e, nel ViewDidLoad, inserite questo codice:

[self.label setText:NSLocalizedString(@”Label_Text”, @””)];

Lanciate la App et voilà! Il vostro messaggio verrà visualizzato nella lingua corretta a seconda delle impostazioni di localizzazione del vostro telefono (o del simulatore).

Il funzionamento è intuitivo: dentro i file Localizable.strings potete mettere delle coppie di stringhe chiave/valore (separate da ‘;’) che richiamerete poi utilizzando la funzione di libreria <code>NSLocalizedString</code> che accetta in input come primo parametro la chiave della stringa da visualizzare e come secondo un commento alla stringa stessa. L’utilità del secondo parametro è legata a caratteristiche più avanzate di questo comando. Potete ignorarlo e passargli una stringa vuota, oppure scoprirne di più nella documentazione ufficiale, nel caso siate interessati ad approfondire.

Buon coding!

Riferimenti:


Documentazione NSLocalizedString

1 commento:

  1. Ciao! Se sei interessato a tradurre software in modo collaborativo, io consiglio caldamente https://poeditor.com/

    RispondiElimina