Autore Topic: Scelta automatica di risorsa per Imageview in base alla lingua  (Letto 677 volte)

Offline Givabon

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
0
Salve a tutti.
Sto cercando di implementare la doppia lingua per la mia prima App (ita eng).
In particolare volevo che, in base alla lingua definita dall'utente nelle impostazioni del cell (es. italiano), si potesse caricare automaticamente una precisa risorsa drawable in una Imageview, mentre nel caso in cui la lingua settata fosse inglese, si caricasse una risorsa drawable alternativa.

Sarebbe bello se ciò fosse possibile senza scrivere righe di codice con degli IF basati sulla variabile Locale.
Ho letto qui sul frm che posso distinguere le res/drawable in base alla lingua inserendo il suffisso it o en.
Il problema è che Eclipse non mi fa inserire in res/drawable-hdmi e in res/drawable-it-hdmi dei file con lo stesso nome.
Se devo necessariamente cambiare il nome della risorsa, allora devo per forza agire da codice con degli if per dirgli quale risorsa prendere (esempio TITOLO.PNG o TITLE.PNG).E a quel punto non vedo perchè dovrei creare cartelle drawable differenziate...

Potreste illuminarmi su cosa è possibile e impossibile fare a riguardo???  GRAZIE!!!!

Offline matteo.pizzorni

  • Utente junior
  • **
  • Post: 65
  • Respect: +2
    • Mostra profilo
Re:Scelta automatica di risorsa per Imageview in base alla lingua
« Risposta #1 il: 22 Aprile 2012, 13:08:10 CEST »
0
Ciao,
sono nuovo ma se ho capito bene il tuo problema, in pratica è risolto a livello di sistema.
Le immagini sono differenziabili a seconda della lingua proprio come le stringhe di testo. Se hai la tua immagine con nome titolo.png nella cartella drawable, puoi modificarla e salvarla (CON LO STESSO NOME!) in una cartella drawable-en. Quando il sistema è settato su inglese in automatico usera' quella.
Certo per fare una bella cosa dovresti lasciare nella cartella drawable quella di default (quindi probabimente in inglese),  e crearti invece una drawable-it per l'italiana.
Ho tralasciato le varie configurazioni di densita' ma la cosa dovrebbe essere la stessa (drawable-mdpi >>>  drawable-mdpi-it etc..). Prego i piu' esperti di correggermi se dico cavolate...

Offline Zappescu

  • Utente junior
  • **
  • Post: 110
  • Respect: +7
    • Mostra profilo
    • Tic Tank Toe
  • Dispositivo Android:
    HTC Magic
  • Play Store ID:
    Zapmobilegames
  • Sistema operativo:
    Win XP
Re:Scelta automatica di risorsa per Imageview in base alla lingua
« Risposta #2 il: 22 Aprile 2012, 13:35:20 CEST »
0
Confermo il post di matteo.
Vorrei però suggerirti un approccio diverso, non so se fattibile per la tua app. Usa un solo tipo di immagine per tutte le lingue e cambia il testo contenuto a seconda della lingua.
Questo perchè altrimenti, per ogni lingua, ti troverai ad aggiungere assets che pesano in kB e che porteranno la tua app a pesare troppo e ciò non è bene agli occhi di chi la scarica. Considera che gli italiani dovranno scaricarsi (inutilmente) anche tutte le immagini delle altre lingue, a meno che non implementi un sistema remoto di donwload immagini a seconda della lingua dell'utente, non so se questo sarà il tuo caso.
Nella mia prima app ho seguito il tuo approccio, ma me ne sono pentito ed ho cambiato.
Zapmobilegames website
Tic Tank Toe: a new approach for a classic game