Autore Topic: Assets in base al linguaggio  (Letto 492 volte)

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Assets in base al linguaggio
« il: 10 Aprile 2012, 13:59:49 CEST »
0
Ciao a tutti. Ho un file nella directory assets ed uno di uguale nome nella direcotry assets-it che è lo stesso file ma in italiano purtroppo però quando l'applicazione lo legge anche se la lingua del device è in italiano mi visualizza sempre il file che si trova nella directory assets e non assets-it sapete perchè ?

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:Assets in base al linguaggio
« Risposta #1 il: 10 Aprile 2012, 14:13:13 CEST »
0
Il files assets non supportano la localization. Si possono però usare dei trucchetti per far si che in base alla lingua vengano caricati i file corretti. Puoi spiegare le tue esigenze?
« Ultima modifica: 10 Aprile 2012, 14:15:05 CEST da denper »
Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Assets in base al linguaggio
« Risposta #2 il: 10 Aprile 2012, 14:19:39 CEST »
0
Dovevo far caricare un file contenuto in assets in inglese oppure in italiano a secondo della lingua ho risolto così :
Codice (Java): [Seleziona]
String lingua = java.util.Locale.getDefault().getDisplayName();
        if(lingua.equals("italiano (Italia)")){
                file_n = "file-it";
        }else{
                file_n = "file";
        }

e non se ne parla + ;)

Offline denper

  • Utente normale
  • ***
  • Post: 290
  • Respect: +60
    • Mostra profilo
    • Anddenper
  • Dispositivo Android:
    Moto G
  • Play Store ID:
    denper
  • Sistema operativo:
    Window 7, Windows XP
Re:Assets in base al linguaggio
« Risposta #3 il: 10 Aprile 2012, 14:46:04 CEST »
0
Ottimo!
Un'altra soluzione molto semplice e più standardizzata potrebbe essere quella di definire nei vari file string.xml localizzati una stringa tipo lang_suffix. Di conseguenza il tuo file_n diventerebbe:

Codice (Java): [Seleziona]
file_n = "file-" + getString("lang_suffix")
In questo modo aggiungendo una nuova lingua non devi far altro che parametrizzare il relativo file string.xml.

Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. [A.Einstein]

Proteggi la tua privacy! Utilizza GhostPhone! https://play.google.com/store/apps/details?id=com.denper.gp
Giochi a Winforlife e Superenalotto e sei stanco di controllare le tue schedine manualmente? Prova Checkwin: https://play.google.com/store/apps/details?id=com.denper.checkwintrial

Offline mimmog

  • Utente senior
  • ****
  • Post: 731
  • Respect: +11
    • MisterX_Dev
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note e Galaxy Nexus
  • Play Store ID:
    MisterX_Dev
  • Sistema operativo:
    Windows 7
Re:Assets in base al linguaggio
« Risposta #4 il: 10 Aprile 2012, 15:04:21 CEST »
0
Giusto! questa mi piace di più :)