IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Multi langues Android


Sujet :

Android

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 93
    Points : 54
    Points
    54
    Par défaut Multi langues Android
    Bonjour,

    J'aimerai développer une appli avec plusieurs langues.
    J'ai pensé à utiliser un fichier pour chaque langue mais je ne sais pas comment les gérer.
    J'aimerai savoir si cétait possible.
    Une autre solution à laquelle j'ai pensé serait de mettre tous mes champs avec des langues différentes dans une base de données.

    Merci d'avance

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 168
    Points : 212
    Points
    212

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Points : 192
    Points
    192
    Par défaut
    Moi je stock ma traduction dans ma base de donné sa marche bien.

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Prévu en natif par Android : http://developer.android.com/guide/t...sing-framework

    Après, si le contenu est dynamique, ça ne va pas suffire.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 93
    Points : 54
    Points
    54
    Par défaut
    Tu peux m'expliquer un peu plus en détails comment tu stock les traductions dans ta base ? Quels sont tes clefs primaire ?
    J'avais pensé à faire plusieurs champs de différentes langues dans mes tables.
    Ou encore d'avoir 2 clefs primaire, une pour la langue et l'autre pour l'identifiant.

    Si c'est pas compréhensible je peux vous mettre une image d'un exemple.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Points : 192
    Points
    192
    Par défaut
    J'ai crée une table pour chaque langue. Elles ont toutes la même structure seul sufix change (_en, _es, _ar etc)
    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    table(id, libelle)//français
    table_en(id, libelle)//anglais
    etc...
    Après tu as juste a appelé la table que tu désire. Dit moi si c'est pas clair

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 93
    Points : 54
    Points
    54
    Par défaut
    J'ai crée une table pour chaque langue. Elles ont toutes la même structure seul sufix change (_en, _es, _ar etc)
    ex :
    Code :Sélectionner tout - Visualiser dans une fenêtre à part
    1 table(id, libelle)//français
    2 table_en(id, libelle)//anglais
    3 etc...
    Après tu as juste a appelé la table que tu désire. Dit moi si c'est pas clair
    Le problème de cette solution est que si l'on veut rajouter des langues on doit forcement rajouter des tables et toucher à la structure de la base de données.

    Prévu en natif par Android : http://developer.android.com/guide/t...sing-framework

    Après, si le contenu est dynamique, ça ne va pas suffire.
    Le problème c'est qu'il faut obligatoirement recoder pour rajouter des langues.


    La solution idéalement rechercher serait de pouvoir ajouter d'autre langues sans toucher à la structure de la base de données ni devoir recoder l'appli mais éventuellement rajouter des tuples à la base de données.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 338
    Points : 192
    Points
    192
    Par défaut
    Perso je trouve pas sa long de créer une table en particulier si la structure est la même.

  9. #9
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Localiser ne veut pas dire simplement changer le texte !

    Ça peut être une écriture de droite à gauche, de haut en bas.... qui demande à changer l'interface.
    Ça peut être aussi l'ordre de demande des informations (par exemple une adresse ne se demande pas pareil selon qu'on est au Japon ou en France, la ville doit apparaître d'abord).
    Bien entendu le formatage des données

    La solution "base de donnée" est aussi possible, mais il faut surtout ne pas mélanger données applicatives et données de traduction... Par exemple une table de "colors" devra rester une table de colors quelle que soit la langue, pour des questions de referencial integrity. Si on a besoin de traduire, ces couleurs, alors rien n'empeche d'avoir une table colors_locale qui prend en entrée un ID de la table colors et une locale (fr_FR, en_US, en_GB, pt_BR, pt_PT, ...).
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  10. #10
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Citation Envoyé par Nono1nd
    Le problème c'est qu'il faut obligatoirement recoder pour rajouter des langues.
    Non, tu n'as absolument rien à recoder. Tu as juste à rajouter un dossier et un fichier XML par langue, puis publier.
    Il n'y aucune notion de programmation ici.

    Pour le coup, avec la remarque de Nicroman, je me demande comment Android gère ça.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  11. #11
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    En fait toutes les ressources d'android peuvent avoir des "modifiers"....

    le "dpi" (xlarge..), l'orientation ("landscape"...), la langue ("fr"...), le mode nuit, le docking (car,television,desk...)... la liste est super longue...

    Il est tout a fait possible d'avoir un layout différent en fonction de la langue... comme des drawables différents...

    Android va choisir le fichier qui va bien (je ne sais pas trop dans quel ordre ceci-dit).
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  12. #12
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 93
    Points : 54
    Points
    54
    Par défaut
    Ok merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bien créer une application multi-langues ? Unicode ou non ?
    Par Maxime Abbey dans le forum Composants VCL
    Réponses: 28
    Dernier message: 10/09/2007, 17h20
  2. Application multi-langue
    Par JerBi dans le forum EDI
    Réponses: 2
    Dernier message: 15/09/2005, 02h22
  3. [Application multi-langues] Compilateur ou fichier lng ?
    Par Teb dans le forum Composants VCL
    Réponses: 5
    Dernier message: 16/08/2005, 16h48
  4. [CR][.NET] Rapport multi-langue
    Par Harakor dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 16/02/2005, 17h06
  5. [C#] Multi langue - fichier resource.resx
    Par dacamp dans le forum ASP.NET
    Réponses: 5
    Dernier message: 03/06/2004, 16h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo