2010-02-19 9 views
5

È possibile trovare dinamicamente quali sono le lingue supportate dall'applicazione? Ad esempio, ho le stringhe per le seguenti lingue: inglese, francese, olandese e tedesco. Sono definiti nelle rispettive directory di ricerca: valori, values-fr, values-nl e values-de. Voglio dare all'utente la possibilità di scegliere tra loro e per questo voglio caricarli. Ma non voglio codificare a fondo le scelte. Ho provato a utilizzare:Ottenere dinamicamente le lingue dell'applicazione nell'applicazione

getApplication().getResources().getAssets().getLocales() 

Ma questo metodo restituisce tutte le impostazioni locali supportate dal telefono.

Avete qualche altra idea?

+0

Possiamo vedere il tag "Android" - non c'è bisogno di metterlo nel titolo :) –

+0

Direi che dal momento che stai "hardcoding" le lingue comunque, perché non avere un singolo 'string-array' che li elenca? Inoltre, non vi è alcuna garanzia (nel caso generale) che una cartella 'values-XY' contenga stringhe per quella lingua. Questo è anche un modo indiretto per dire che non sono sicuro che esista un metodo per elencare le directory delle risorse;) –

risposta

-1

Da un punto di vista della linea guida di Android UI, è strano offrire all'utente un mezzo diverso da quello nelle impostazioni del dispositivo per modificare le impostazioni locali. Se la tua applicazione richiama un'altra applicazione, quale locale userà questa applicazione?

Anche io non sono sicuro, c'è un mezzo per sfogliare le risorse dopo il processo di compilazione, il modo in cui le risorse sono elaborate, organizzate e impacchettate è una scatola nera, nessuna applicazione dovrebbe cercare di fare affidamento su una data organizzazione/formato perché questo potrebbe cambiare in futuro.

Problemi correlati