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

ASP.NET Discussion :

comment gérer la langue au niveau texte via les "Ressources"?


Sujet :

ASP.NET

  1. #1
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut comment gérer la langue au niveau texte via les "Ressources"?
    Bonjour,

    Apparemment la meilleure manière de gérer la possibilité d'avoir une application en plusieurs langues est d'utiliser les fichiers ressources....

    J'ai réussi à créer un fichier ressources, et de dynamiquement réaliser l'affichage de texte en label retrouvé dans ce fichier ressources.

    J'ai trouvé 1 ou 2 tutoriel sur le net sur l'exploitation de ces fichiers, mais je ne les trouve pas clair c'est pourquoi je me tourne vers vous.

    Pour décliner dans plusieurs langues, comment dois je m'y prendre?

    copier le fichier ressource, le renommer différemment et changer toutes les traductions je suppose?
    mais si j'ai des nouvelles portions de texte à ajouter, je devrai faire les ajouts dans tous les fichiers ressources?
    N y a t il pas moyen d'ajouter une balise et donner les différentes traductions possibles suivant la langue, ce qui serait plus correct et éviterait les erreurs?


    merci de vos réponses, en espérant qu'on ne me tape pas un lien vers un des site que j'aurai certainement déjà visité mais que je ne trouvais pas clair...

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    tu dois ajouter tes nouveaux champs dans chaque fichier de ressource.

  3. #3
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut
    ok c'esu un peu bête qu'il n'y a pas moyen d'ajouter une balise et donner les différentes traductions possibles suivant la langue, ce qui serait plus correct et éviterait les erreurs

    tout se taper dans toutes les langues, espérant ne pas faire d'erreur de nom de balise, ne rien oublier dans une des langues...

    Pas très top mais bon


    Merci de ta réponse

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    tu peux generer le fichier de ressource avec visual studio. mais effectivement pour les autres langues c'est du copier coller de ce fichier que tu vas utiliser.
    sinon tu peux te faire un petit programme qui te rajoute les nouveaux champs.

  5. #5
    Membre régulier Avatar de raOOn
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 100
    Points : 112
    Points
    112
    Par défaut
    et il ne faut pas oublier que les fichiers de ressources sont des fichiers xmls !

  6. #6
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut
    Citation Envoyé par rattlehead
    sinon tu peux te faire un petit programme qui te rajoute les nouveaux champs.
    ca doit sûrment exister, ou il doit y avoir quelque chose dans visual studio qui doit permettre une meilleure gestion des fichiers ressources pour les langues.

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    je ne pense pas . si tu réfléchis bien comment voudrais tu que VS le gère. il pourrait exister un truc comme pour lorsque tu utilises une master page et que tu veux créer une page aspx. peut etre dans la prochaine version.

  8. #8
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut
    Citation Envoyé par rattlehead
    je ne pense pas . si tu réfléchis bien comment voudrais tu que VS le gère.
    facilement!

    il repère les fichiers ressources (à la limite on les selectionne) qui contiennt les déclinaisons en différentes langues.

    On ajoute une balise et dans les colones, plutot de n'avoir que 3 colonnes (titre balise - type - texte) on aurait 2+n colonnes suivantes les fichiers de ressource-langue selectionnés:

    (titre balise - type- texte_res_langue1 - texte_res_langue2 - ...)

    Ce qui permettrait d'ajouter en une fois et sans erreurs possibles les traductions pour une même balise dans toutes les langues désirée.

    je vois pas ce qui serait dur

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    bah tu te fais ton add-in.

  10. #10
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut
    Citation Envoyé par rattlehead
    bah tu te fais ton add-in.
    j'ai pas trop le temps...

    je voudrais juste savoir comment définir le fichier Ressource dynamiquement et une seule fois au début de l'application.

    pouvoir renseigner dans une ressource quel fichier ressources je vais utiliser

  11. #11
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    Normalement ton application sait suivant la langue quel fichier de ressource utiliser. j'ai un doute mais en tout cas dans les applications webform quand par exemple tu changes la langue du navigateur, ton site change de langue.

  12. #12
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut
    Citation Envoyé par rattlehead
    Normalement ton application sait suivant la langue quel fichier de ressource utiliser. j'ai un doute mais en tout cas dans les applications webform quand par exemple tu changes la langue du navigateur, ton site change de langue.
    je ne pense pas vu que pour aller rechercher mes texte je fais comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.LB_text.Text = Resources.ResourceFR.String1;
    avec "ResourceFR" qui est mon fichier de ressources pour le français...

    j'avais regardé pour faire un truc du syle:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    System.Resources.ResourceManager maresource=new System.Resources.ResourceManager();
    if(langue == "english")maresource.BaseName = Resources.ResourceEN;
    if(langue == "français")maresource.BaseName = Resources.ResourceFR;
     
    puis alors partout:
     
    this.LB_text.Text = maresource.String1;
    this.LB_text2.Text = maresource. ....;
    Quelqu'un d'autre peut-être pourra me le dire...

  13. #13
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    euh c'est quoi ton bordel!!! tu as dans repertoire dans chaque repertoire de ton site qui s'appelle app_localResource. Si par exemple tu as une page qui s'appelle toto.aspx, et bien tu crées dans ce repertoire un fichier de ressource qui s'appelle toto.aspx.fr.resx. tu y mets tes ressources.
    mais il y a un tutorial qui a été fait la dessus sur le site mate le.

  14. #14
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut
    je pense que j'ai du mal à te suivre...

    au départ tu me dis qu'il faut faire du copier-coller dans tous les fichiers des ressources qu'on a (pour toutes les langues), puis maintenant tu me dis qu'il y a des trucs qui se font seuls...

    Donc si je résume et si j'ai bien compris avec ta dernière remarque:

    on doit faire un fichier de ressources, mais qu'on ne peut pas nommer comme on veut:

    maresource.mapage.aspx..FR-fr.resx
    maresource.mapage.aspx..EN-us.resx
    et le site choisira lui même le fichier resource à utiliser suivant la langue?

    Mais comment aller le rechercher vu que je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.LB_text.Text = Resources.ResourceFR.String1;

  15. #15
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    lis le tutorial. je pensais que tu avais les bases c'est pour ca que je t'ai parlé de copier-coller le contenu de ton fichier de ressource en anglais pour le copier dans un fichier de ressource en francais.
    dans ton fichier aspx tu dois rajouter ceci dans ton label meta:resourcekey="StatusLabelResource1" etant le nom de ta ressource. ta ressource est dans tes différents fichiers de ressource dans différentes langues et ca marche tout seul!!!!! mate le tutorial. il y a pleins de trucs sur ce site à mater avant de poser des questions.

  16. #16
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut
    J'ai ajouter un fichier de classe dans ma solution, qui contient ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    using System;
    using System.Resources;
     
    namespace Localisation
    {
        public class EasyResourceManager
        {
            private static ResourceManager _RM = null;
            static EasyResourceManager() { }
     
            private static void LoadResources()
            {
                if (_RM == null)
                {
                    try
                    {
                        _RM = new ResourceManager("Resources",
                            typeof(EasyResourceManager).Assembly);
                    }
                    catch { }
                }
            }
     
            public static string getString(string name)
            {
                LoadResources();
                return _RM.GetString(name);
            }
        }
    }
    j'ai 2 fichiers resources nommés:

    Resources.resx et Resources.en.resx
    dans un label, je place ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%=Localisation.easyResourceManager.getString("title")%>
    car j'ai dans mes fichiers resources une balise title pour chaque langue avec la traduction...


    mais je ne sais pas ou mettre "protected void Application_BeginRequest" dans le global.asax

    j'ai peut-être oublié autre chose, mais je ne trouve pas le tutoriel clair, il y a des trucs qui m'échapent...

  17. #17
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646

  18. #18
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut
    bon, google ne m'avait pas donné ce tuto...

    avec cela, j'arrive à suivant la langue choisie pour mon navigateur, à afficher les texte dans la bonne lange (anglais - francais).

    mais ce n'est pas bon but initial,si je veux que ce soit moi qui choisisse la langue...

    en excluant les autres fichiers et en ne laissant que le fichier nommé comme par défaut, ca fonctionne.

    enfin

  19. #19
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut
    j'oubliais quelque chose...

    au niveau du format des nombres, dates,...

    si je fonctionne avec 2 fichiers ressources, un en anglais et un en francais...
    suivant la langue que je choisi, tout est ok:

    francais pour le navigateur: texte en francais, et dates,... en francais
    anglais pour le navigateur: texte en anglais, et dates,... en anglais


    MAIS

    Si j'exclus par exemple ma ressource anglais, pour que ce soit en francais peut importe la langue du navigateur:

    francais pour le navigateur: texte en francais, et dates,... en francais
    anglais pour le navigateur: texte en francais, et dates,... en anglais

    Il n'y a plus que cela qui m'embete...

    Dans ces cas là, je dois forcer la culture via "CultureInfo" je suppose, car en mettant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Thread.CurrentThread.CurrentCulture = new CultureInfo("FR-fr");
    ca fonctionne j'ai tout en français...

    Mais dommage car alors la gestion ne se fait plus via une seule manipulation (fichier resources), mais sur toutes les pages...

    Y a il moyen de choisir la cultureinfo pour tout le site à un seul endroit?

  20. #20
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Points : 1 646
    Points
    1 646
    Par défaut
    a quoi ca sert d'utiliser des ressources si tu mets tout en francais par défaut????? ton navigateur est en anglais ton site est en anglais c'est quand même plus simple a gérer que ce que tu veux faire.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [Lazarus] Comment gérer plusieurs langues dans une application ?
    Par [ZiP] dans le forum Lazarus
    Réponses: 7
    Dernier message: 19/03/2014, 18h47
  2. Réponses: 4
    Dernier message: 19/11/2009, 10h28
  3. Réponses: 1
    Dernier message: 19/01/2008, 09h17
  4. Réponses: 1
    Dernier message: 30/01/2007, 09h10
  5. Comment gérer plusieurs langues ?
    Par InterSQL dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 27/02/2004, 16h12

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