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 :

[C# 2.0] Comment gérer un site multilangues ?


Sujet :

ASP.NET

  1. #1
    Membre éclairé Avatar de Khrysby
    Homme Profil pro
    Chef de projet
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Par défaut [C# 2.0] Comment gérer un site multilangues ?
    Quelqu'un peu me dire quelle la meilleur façon de gérer un site multilangue avec .NET 2.0 ?

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Par défaut
    Bin, au lieu de coder en dur les texte des controls dans la page .aspx (labels, text des buttons...), utilise les fichiers Resources .resx.

    Par exemple :
    - t'as une page "default.aspx"
    - resources français : "default.aspx.resx"
    - resources anglais : "default-US.aspx.resx"

    Enfin qqch comme ça. Regarde sur le net pour plus d'explications

  3. #3
    Membre éclairé Avatar de Khrysby
    Homme Profil pro
    Chef de projet
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Par défaut
    J'avais bien l'idée d'utiliser les fichiers mais avec .NET 2.0 ça a changer et c'est pas trpo simple apparement.

  4. #4
    Membre éclairé Avatar de Khrysby
    Homme Profil pro
    Chef de projet
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Par défaut
    En fait, je veux utiliser les fichier de resource .resx. Je n'arrive pas trop. quelqu'un peut me dire commet ça marche ?

    Merci

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Par défaut
    Tu ajoutes ton repertoire axistant, soit App_GlobalResource soit App_LocalResources (voir doc msdn pour la difference entre les deux)
    La dedans tu peux gérer l'arborescense que tu souhaites, cela n'a pas d'importance.
    Tu y ajoutes un fichier resources, et tu ajoutes des clés et des valeurs.
    Dans ton fichier aspx, pour les controles, au lieu de mettre Text="blable" tu mettras

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Text="<%$ Resources:NAME_FILE_RESOURCES, NAME_KEY%>"
    Alors pour le nom du fichier, je pense que comme l'a dit Rodie, tu dois mettre .fr.resx, .en.resx, ....

    Fix

  6. #6
    Membre éclairé Avatar de Khrysby
    Homme Profil pro
    Chef de projet
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Par défaut
    Mille fois merci. Juste une derniere question, une fois que j'aurais fait mes deux fichiers resources, comment dire au prog quelle langue (donc quelle fichier de reosource) utiliser ?

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Par défaut
    je suis également en train de faire cela, et on m'a dit qu'en faite c'etait pris en compte via la localisation définie au niveau de ton browser.
    Cela se ferait automatiquement
    Je n'ai pas encore été testé, pour le moment j'ai une sorte de fichier resource et mes labels prennent bien la valeur du contenu des fichiers resources.
    Si tu as fait les testes, avec .en et .fr ou autre, dit moi si ca fonctionne.
    Sinon je pense qu'au niveau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    System.Threading.Thread.CurrentThread.CurrentCulture
    Si tu dois sélectionner dans une page une langue .....

  8. #8
    Membre éclairé Avatar de Khrysby
    Homme Profil pro
    Chef de projet
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Par défaut
    D'ailleur, tu fais comment pour récuperer les valeurs dans un code behind ? Je crois qu'il existe Resourses.NonDuFichier.Keys.

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Par défaut
    oui c'est ca

  10. #10
    Membre éclairé Avatar de Khrysby
    Homme Profil pro
    Chef de projet
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Par défaut
    Moi je fais ça :
    GetLocalResourceObject("maKeys").ToString()

    Et il me fait une erreur :
    The resource class for this page was not found. Please check if the resource file exists and try again.
    Donc en fait, il ne trouve pas la page de resource. Ma page s'apelle part exemple test.aspx et ma page de resource se nome test.fr.resx...

    Normalement, ça devrait marcher non ?

  11. #11
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Par défaut
    hum, j'utilise que des Globals pour le moment, et dans le code C# je peux faire Resources.NAMEFILE_WITHOUTEXT.KEY_NAME

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Par défaut
    essaie de rajouter le .aspx.fr.resx

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Par défaut
    Effectivement :
    si ta page s'appelle "default.aspx", le fichier Resource associé doit être : "default.aspx.resx"

    N'utilise le GlobalResources que si c'est global, et non propre à ta page. Sinon c'est du code malpropre

  14. #14
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    http://ditch.developpez.com/aspnet/tome5/

    Certes c'était pour le 1.1. Depuis cela a été un peu simplifié mais dans les principes, tu trouveras les différentes techniques etc. Cela n'a pas changé

  15. #15
    Membre éclairé Avatar de Khrysby
    Homme Profil pro
    Chef de projet
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Par défaut
    Il me met toujours la même erreur. J'ai rajouter le .aspx.fr mais c'est toujours pareil. Je ne sais pas trop quoi faire là...

  16. #16
    Membre éclairé Avatar de Khrysby
    Homme Profil pro
    Chef de projet
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Par défaut
    Voilà ce qu'il me met (en Français) :
    La classe de ressource pour cette page n'a pas été trouvée. Veuillez vérifier si le dossier de ressource existe et essayer encore.
    Mon fichier se nome 'contact-form.aspx', il se trouve dans le dossier 'pages'. Le fichier de resources se trouve dans le dossier 'App_LocalResources' et se nome 'contact-form.aspx.fr.resx'.

    Je ne voit pas pouruqoi il me dit qu'il ne trouve pas.??

  17. #17
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    581
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 581
    Par défaut
    les local ne doivent pas respecter l'arborescence ?
    Vraiment spécial ca

  18. #18
    Membre éclairé Avatar de Khrysby
    Homme Profil pro
    Chef de projet
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Par défaut
    J'ai créé un dossier 'page' dans le dossier où se trouve les fichier resource pour essayer de respercter l'arborescence de la page mais ça ne marche pas...

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Par défaut
    Les noms des fichiers resources sont plutôt comme ceci :

    contact-form.aspx.en-US.resx
    contact-form.aspx.fr-FR.resx
    contact-form.aspx.en-GB.resx

    Créer un répertoire "Page" à l'intérieur du répertoire Resources me paraît bizarre.
    Pour que ta page .aspx puisse voir son fichier resources .resx, il suffit d'avoir cette arborescence :

    \contact-form.aspx
    \App_LocalResources\contact-form.aspx.resx

  20. #20
    Membre éclairé Avatar de Khrysby
    Homme Profil pro
    Chef de projet
    Inscrit en
    Avril 2005
    Messages
    239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Avril 2005
    Messages : 239
    Par défaut
    Merci mais ça e marche toujours pas. Il me marque la même erreur.
    Dans le code Behind, il ne faut rien rajouter ? Faut-il ratacher un fichier au code behind ?

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 01/06/2006, 22h23
  2. Réponses: 3
    Dernier message: 22/05/2006, 10h03
  3. [Joomla!] Comment procéder pour miggrer/évoluer Site Internet
    Par papouAlain dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 23/02/2006, 10h31
  4. Comment aprendre à créer un site ?
    Par balatom dans le forum Débuter
    Réponses: 5
    Dernier message: 10/01/2006, 21h04
  5. comment imprimer les page du site ?
    Par remond dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/12/2005, 12h02

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