Chiavi di localizzazioni enumerabili su iOS

(traduzione e sintesi dell’articolo pubblicato su Medium al seguente indirizzo: Enumerable localizable keys in Swift 4.2 )

La localizzazione dei contenuti su iOS è un processo abbastanza semplice all’inizio grazie all’utilizzo dell’API NSLocalizableString.

Tuttavia questo approccio può facilmente causare problemi dovuti all’errore umano, mancando il controllo del compilatore nella definizione delle chiavi e nelle loro traduzioni, che possono essere accidentalmente rimosse dal file Localizable.strings .

Per poter risolvere questo problema è possibile utilizzare una struttura ad hoc che astrae l’implementazione del meccanismo di traduzione e che fa uso di un enum specifico che contiene tutte le chiavi di localizzazioni.

Il valore aggiunto dell’utilizzo di un enum di chiavi è dato dal recente supporto in Swift 4.2 del supporto al protocollo CaseEnumerable che permette l’iterazione automatica di tutti i casi definiti.

E’ cosí infatti possibile definire uno unit test che può automaticamente verificare che ad ogni chiave definita corrisponda una traduzione valida, rimuovendo la possibilità di modifiche accidentali o di mancate traduzioni aggiunte al file di localizzazioni.

Un progetto di esempio è disponibile al seguente indirizzo su GitHub: https://github.com/matsoftware/LocaleEnumerable

Leave a Reply

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Next ArticleCater Allen mobile banking iOS app