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 :

Web.sitemap multilingue ?


Sujet :

ASP.NET

  1. #21
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 68
    Points : 19
    Points
    19
    Par défaut
    qu'est ce que tu entends par l'évenement de la list. Si tu parles de la dropdownlist, j'ai pas d'évènement dessus. J'ai juste un AutoPostBack à true, et une propriété qui retourne la valeur de la dropdown. J'ai donc essayé de mettre le server.transfer dans le page_load de la page, mais ca plante aussi .

  2. #22
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    C'est normal, tu rentres dans une boucle infinie.
    Va falloir changer un peu le truc.
    Faut passer par une page différente.
    Dans cette page, tu mets juste ta liste avec le choix des langues et un AutoPostBack = "True"
    Dans le code behind, tu interceptes l'evenement OnSelectedIndexChanged et tu mets dedans le code pour changer la culture et à la fin tu fais un Server.Transfer(ton autre page)

  3. #23
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 68
    Points : 19
    Points
    19
    Par défaut
    et ca, je peux pas le faire dans la master page ? car ca m'embete un peu de faire une page juste pour un menu déroulant, surtout qu'il doit etre visible sur toutes les pages. Et comment je peux savoir quelle url appellée pour le server.transfer, je ne peux pas savoir sur quelle page du site, l'utilisateur a cliqué ?

  4. #24
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Hmmm, tu peux pas voir ça comme une page de profil et ensuite traduire toutes les pages???
    Et dans ce cas là, tu fais un Server.Transfer vers la page d'accueil et le user aura tout le reste du site dans la langue choisie

  5. #25
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 68
    Points : 19
    Points
    19
    Par défaut
    bah mon patron voudrait pouvoir changer chaque page "à la volée" surtout qu'il n'y a pas de page profil

  6. #26
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    ok.
    Essaye ça:
    Tu interceptes l'événement SelectedIndexChanged. Dedans tu mets le code pour modifier la culture du thread en cours et tu fais un Server.Transfer vers la même page.
    Ca devrait marcher

  7. #27
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 68
    Points : 19
    Points
    19
    Par défaut
    ca fait rien du tout le server.transfer marche, mais ca ne change pas.

    Voila le code que j'ai mis :

    dans le design de la master page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <asp:DropDownList ID="lang" runat="server" AutoPostBack="true" OnSelectedIndexChanged="GetLanguage">
                        <asp:ListItem Value=""></asp:ListItem>
                        <asp:ListItem Value="en-US">Anglais</asp:ListItem>
                        <asp:ListItem Value="fr-FR">Français</asp:ListItem>
                    </asp:DropDownList>
    dans le code behind de la master page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public void GetLanguage(object sender, EventArgs e)
            {
                Thread.CurrentThread.CurrentCulture = new CultureInfo(lang.SelectedValue);
                Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
                lang.Items.Add(lang.SelectedValue);
                Server.Transfer("Default.aspx?lang="+lang.SelectedValue);
            }
    j'ai rajouté l'argument lang dans l'url pour voir si ca passait bien en paramètre, et c'est le cas, mais aucun changement

  8. #28
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Essaye avec ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                        <asp:ListItem Value="en">Anglais</asp:ListItem>
                        <asp:ListItem Value="fr">Français</asp:ListItem>

  9. #29
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 68
    Points : 19
    Points
    19
    Par défaut
    nan, ca ne marche pas ca, ca me renvoit une erreur : Culture 'en' is a neutral culture, c'est pour ca que j'avais du plus préciser mes langues dans le dropdown.

    J'aurai jamais cru que c'était si compliqué de mettre un site multilingue, surtout que tout le monde dit que c'est simple à faire (mais visiblement pas avec un choix de langue )

  10. #30
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    T'as inversé entre Culture et UICulture:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Thread.CurrentThread.CurrentUICulture = New CultureInfo(lang.SelectedValue);
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang.SelectedValue);
    Ca marche chez moi

  11. #31
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 68
    Points : 19
    Points
    19
    Par défaut
    meme en inversant, ca ne marche pas chez moi Il doit me manquer quelque chose. Tu pourrais pas m'envoyer ton projet, pour que je compare ?

  12. #32
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    J'ai une page web qui gère le multilangue (pas un sitemap mais différents labels)
    J'ai pris ta drop down list et ton événement associé, j'ai fait les manips que je t'ai donné et ça fonctionne

    Et y a pas qu'une inversion, j'ai modifié une ligne aussi

  13. #33
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 68
    Points : 19
    Points
    19
    Par défaut
    oui moi aussi ca marche avec les labels mais pas le web.sitemap

  14. #34
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par Monico
    oui moi aussi ca marche avec les labels mais pas le web.sitemap
    T'as déjà réussi à traduire ton sitemap?
    En changeant le langage de ton navigateur par ex?
    (Je me rappelle plus )

  15. #35
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 68
    Points : 19
    Points
    19
    Par défaut
    oui si je change par le navigateur, ca marche tres bien

  16. #36
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    T'as bien activé la localisation du sitemap?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <siteMap enableLocalization="true"...>

  17. #37
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 68
    Points : 19
    Points
    19
    Par défaut
    oui

  18. #38
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Essayons ça:

    Dans ta page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    protected override void InitializeCulture()  {
    string _lang = string.Empty;
    if (string.IsNullOrEmpty(Session["lang"])
         _lang = (string)Session["lang"];
    Thread.CurrentThread.CurrentUICulture = New CultureInfo(_lang);
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(_lang);
    }
     
    public void GetLanguage(object sender, EventArgs e)  {
    Session["lang"] = (lang.SelectedValue);
    Server.Transfer("Default.aspx");
    }

  19. #39
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 68
    Points : 19
    Points
    19
    Par défaut
    je peux pas surcharger la méthode InitializeCulture dans la master page, donc j'ai mis ce code dans le code behind de Default.aspx, mais sans changement, ca ne modifie toujours pas le sitemap

  20. #40
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut sitemap multilingue en langue de navigateur
    J'ai le meme pb que toi (sitemap multilingue) , j'ai ajouté la ligne <globalization culture="auto:fr-FR" uiCulture="auto:fr-FR"/> dans le web.config et ca m'affiche que le menu en fr.

    pour mon pb afficher le menu en langue du navigateur ca me suffit.

    Merci d'avance pour ton explication.

Discussions similaires

  1. [ASP.NET][C#]Web.sitemap, SiteMapPath et menu
    Par Le-Cortex dans le forum ASP.NET
    Réponses: 3
    Dernier message: 18/11/2008, 10h25
  2. htlm css web.sitemap
    Par letel dans le forum Balisage (X)HTML et validation W3C
    Réponses: 0
    Dernier message: 31/01/2008, 20h27
  3. langue du web.sitemap
    Par deathsurfer dans le forum ASP.NET
    Réponses: 8
    Dernier message: 04/09/2007, 13h45
  4. langue du web.sitemap
    Par deathsurfer dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 31/08/2007, 14h43
  5. [WebForms][Web.sitemap] Problème url
    Par OverCat dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 09/06/2006, 14h22

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