Profete162 Posted November 27, 2009 Share Posted November 27, 2009 en fait le probleme, c'est que je veux mettre mes 500 noms de ville dans des listviews. Comme une ville change de nom suivant la langue (par exemple bruxelles et brussels), je avoir des tableaux de strings différents par langue. Il est quand même beaucoup plus facile de faire un listevilles.split() que d'aller récupérer 500 strings via une boucle, non? Quote Link to comment Share on other sites More sharing options...
popolbx Posted November 27, 2009 Share Posted November 27, 2009 mais heu...les arrays sont gérés dans les strings.xml...... et le split est plus long que la boucle...... dans la bouclle: pour chaque incrément copier la chaine dans un tableau dans le split: parcourir la chaine pour chaque caractère tester le caractère si c est le carac de split aller au prochain carac de plit copier la chaine le split est méchament plus consommateur . Quote Link to comment Share on other sites More sharing options...
Profete162 Posted November 27, 2009 Share Posted November 27, 2009 mais heu...les arrays sont gérés dans les strings.xml...... Peux-tu developper cette phrase? Ca fait depuis ce matin que je titille Google et le site android developer.... Tu peux le voir avec tous mes messages, je n'arrete pas de chercher et tourner en rond. Quote Link to comment Share on other sites More sharing options...
popolbx Posted November 27, 2009 Share Posted November 27, 2009 bah eclispse, string.xml->add : choisir string Array..; test encore Quote Link to comment Share on other sites More sharing options...
Profete162 Posted November 27, 2009 Share Posted November 27, 2009 Effectivement, j'ai pas été tres malin sur ce coup là... Je me sens ... comment dire.... tout con... Quote Link to comment Share on other sites More sharing options...
Alocaly Posted November 28, 2009 Share Posted November 28, 2009 Tu peux pas les sérialiser et les sauver en tant que raw data ( ie dans res/raw ). Je ne comprends pas tres bien ce que tu veux dire par "sérialiser" et le raw que je n'ai jamais utilisé... En pratique' date=' comment utiliser: serieA={"one","two","three",....."five hundred"}; serieF={"un","deux","trois",....."cinq cents"}; serieN={"een","twee","drie",....."vijf honderd"};[/quote'] Ce que je veux dire, c'est que tu prends ton tableau, tu le sauves en un fichier pour chaque langue ( avec un save/load de ce genre : http://www.vbforums.com/showthread.php?t=308145 ). Tu mets alors ces fichiers dans des répertoires 'raw' localisés : Raw-fr/MyFile Raw-us/MyFle Raw-es/MyFile ... Et tu n'as qu'a charger le fichier 'raw/MyFile' pour charger automagiquement le fichier qui conviendra à la langue de l'utilisateur. Emmanuel / Alocaly Quote Link to comment Share on other sites More sharing options...
Profete162 Posted November 28, 2009 Share Posted November 28, 2009 Ca va, la solution de Popol est largement suffisante! Mais ton idée semble à creuser. Quote Link to comment Share on other sites More sharing options...
dimach Posted November 29, 2009 Share Posted November 29, 2009 Salut, Il est tout à fait possible de forcer dans l'application le changement de la langue en utilisant directement les strings.xml de la langue que vous voulez. Voici le code que j'utilise dans mon application : //lang est une String du style : "en", "fr", "nl"...le code international de la langue quoi private void setLanguage(String lang) { Locale locale = new Locale(lang); Locale.setDefault(locale); Configuration config = new Configuration(); config.locale = locale; getBaseContext().getResources().updateConfiguration(config, this.getResources().getDisplayMetrics()); } En principe en mettant cela dans l'Activity en question, le string.xml de la langue passé en paramètre sera chargé. Ce code marche pour android 1.5 et pour 1.6. Cependant, j'ai eu des retours comme quoi ça ne fonctionne pas avec android 2.0 (en effet, l'activité se met alors à flasher, à clignoter). Ainsi pour que cette méthode marche avec les différentes versions d'Android, il faut penser à rajouter à chaque activité de l'application (dans le manifest.xml) l'option suivante : android:configChanges="locale" Voila, j'espère que ça sera utile :) Quote Link to comment Share on other sites More sharing options...
neoakira Posted November 29, 2009 Share Posted November 29, 2009 tres intéressant dimach, je n'avais pas vu cette option, et ca change bien la langue que dans l'appli et pas la locale du tel ? Quote Link to comment Share on other sites More sharing options...
dimach Posted November 29, 2009 Share Posted November 29, 2009 @neoakira : oui cela utilisera le string.xml de la langue choisie sans pour autant affecter la langue du téléphone ou quoi d'autre que ce soit. Couple le tout avec des "preferences" qui stockent la dernière langue sélectionnée et te voila avec une application multilingue ;-) Quote Link to comment Share on other sites More sharing options...
neoakira Posted December 8, 2009 Share Posted December 8, 2009 je suis entrain de tester ca dans mon appli mais getBaseContext().getResources().updateConfiguration(config, this.getResources().getDisplayMetrics()); ne fait jamais appel à onConfigurationChanged (Configuration newConfig) que ce soit dans l'activité ou dans l'application du coup je sais pas comment on fait pour mettre à jour les view, et j'ai pas trouver comment "rebooter" une appli... Quote Link to comment Share on other sites More sharing options...
Profete162 Posted December 8, 2009 Share Posted December 8, 2009 Est-ce que quelqu'un a déjà commencé à développer une app en chinois? Un mec de chine aimerait m'envoyer mes textes en chinois, mais je ne sais pas si il y a des précautions à prendre dans Eclipse/Motodev ou autre... Merci pour vos retours! Quote Link to comment Share on other sites More sharing options...
Profete162 Posted December 10, 2009 Share Posted December 10, 2009 (edited) J'ai pourtant essayé de faire un repertoire values-cn et tout semble OK, mais quand je lance l'émulateur en chinois, tous mes textes sont dans la langue de base! Values fonctionen tres bien values-fr aussi values-cn ne fonctionne pas, il prend les valeurs par défaut! Alors que tout le système est en chinois!!! Edited December 10, 2009 by Profete162 Quote Link to comment Share on other sites More sharing options...
dimach Posted December 12, 2009 Share Posted December 12, 2009 @Profete162 : as-tu essayé à la place un values-zh ? Quote Link to comment Share on other sites More sharing options...
ADNFX Mobile Posted April 17, 2010 Share Posted April 17, 2010 je suis entrain de tester ca dans mon appli mais getBaseContext().getResources().updateConfiguration(config, this.getResources().getDisplayMetrics()); ne fait jamais appel à onConfigurationChanged (Configuration newConfig) que ce soit dans l'activité ou dans l'application du coup je sais pas comment on fait pour mettre à jour les view, et j'ai pas trouver comment "rebooter" une appli... C'est un vieux poste mais j'ai la solution si ça intéresse des gens qui passent par là .... Dans les commentaires : http://www.tutorialforandroid.com/2009/01/force-localize-application-on-android.html private void setLanguage(String lang) { Locale locale = new Locale(lang); Locale.setDefault(locale); Configuration config = new Configuration(); config.locale = locale; getBaseContext().getResources().updateConfiguration(config, this.getResources().getDisplayMetrics()); this.finish(); this.startActivity(getIntent()); } Bon c'est un peu barbare je le reconnais ... mais au moins ça marche.... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.