Occorrente:
* La custom rom da tradurre
* Una rom miui italiana o meglio un language pack italiano possibilmente di una versione molto vicina a quella da tradurre e possibilmente per un cellulare con la stessa risoluzione. Queste risorse si possono trovare su miui.nexus-lab.com o su miuiandroid.com
* Installare l'android sdk
* Installere apktool (e aggiornarlo all'ultima versione)
* Tra i files di apktool, sostiture aapt con quello disponibile qui http://miui.connortumbleson.com/other/aapt/
Si comincia!
Il metodo che illustrerò funziona con Linux, Mac e Windows, ma NON Windows 8, a causa di problemi di incompatibilità non ancora risolti con apktool.
Per prima cosa cercare nella cartella /system/framework/ della rom da tradurre tutti i file apk e installarli in apktool con
- {L_CODE}: {L_SELECT_ALL_CODE}
apktool if "percorso/file.apk"
NB in ubuntu potrebbe rendersi necessario anteporre sudo al comando.
Bene ora creare due cartelle che chiameremo per comodità Work e Lang. In Work ci svuotiamo tutto il contenuto della cartella /system/app/ della rom da tradurre, in Lang, invece, il contenuto della cartella /system/app/ del language pack italiano. Possiamo cancellare subito gli apk non presenti in ambo le cartelle.
Ora ci servono altre due carelle. Io per comodità le chiamo "e" ed "i" in cui vado a decompilare uno degli apk delle cartelle Work e Lang, cosa che faremo in questo modo:
- {L_CODE}: {L_SELECT_ALL_CODE}
apktool d -s -f "percorso/Work/file.apk" "percorso/e"
- {L_CODE}: {L_SELECT_ALL_CODE}
apktool d -s -f "percorso/Lang/file.apk" "percorso/i"
Ora entriamo in i/res/ e copiamo in e/res/ tutte le cartelle che finiscono in "-it"
Ora possiamo ricompilare con il comando
- {L_CODE}: {L_SELECT_ALL_CODE}
apktool b -f "percorso/e"
Ora apriamo il file apk (dalla cartella Work) su cui stiamo lavorando con un gestore di archivi, quindi come se si trattasse di un archivio zip. Sostituiamo il file resources.arsc con quello che abbiamo appena creato in e/build/apk/. Infine copiamo nella cartella /res/ del file apk anche tutte le cartelle che finiscono in "-it" che troviamo in e/build/apk/res/.
Ripetere l'operazioni con tutti gli apk e il gioco è fatto.
A questo punto una volta flashata la rom l'italiano dovrebbe impostarsi automaticamente in base alle informazioni fornite dalla sim. Se così non dovesse essere, installare l'app "morelocale2" da google play e impostare l'italiano (italia) da lì.
Ci sarebbe un modo per includere l'italiano nel menu delle lingue di android, ma bisogna tradurre e quindi decompilare e ricompilare il file framework-res.apk ... cosa che non sempre va a buon fine.