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 :

url d'un site multi-langues


Sujet :

ASP.NET

  1. #1
    maa
    maa est déconnecté
    Membre actif
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Points : 288
    Points
    288
    Par défaut url d'un site multi-langues
    Bonjour,

    J'ai un site en 4 langues différentes. Comme mes pages sont pour la plupart statiques et contiennes beaucoup de texte, j'ai décidé pour chacune d'elles de créer un fichier .aspx par langue. J'aimerais cependant pouvoir, dans les liens de mon site, appeler les pages de la même manière quelle que soit la langue. J'ai pensé à la solution suivante :
    Créer 4 sitemap (un pour chaque langue).
    Ajouter un attribut identifiant (commun entre toutes les langues pour une page donnée) à chaque sitemapnode.
    Créer une fonction GetUrl(string id) qui prend en paramètre l'identifiant précédent et qui retourne l'url correspondante dans le bon sitemap.
    Dans le code .aspx, renseigner l'attribut href de cette manière :
    <a href="<%GetUrl("MonId");%>">mon lien</a>

    L'avantage que je vois à cette technique est que si je change le nom ou l'emplacement d'un fichier, je n'ai qu'à le changer dans les sitemap au lieu de devoir le modifier dans chaque fichier aspx.
    J'ai par contre peur que ça soit un peu lourd à exécuter, que les temps de réponse soient allongés et que le serveur soit surchargé. Je n'ai pas beaucoup de personne qui visitent mon site (environ 200/jours), mais le serveur d'hébergement n'est pas très puissant...

    Qu'en pensez-vous ? Avez-vous une autre idée ?

    Merci d'avance pour vos conseils.

    mathmax
    ****************************************

    - I don’t write plumbing code anymore
    - I use PostSharp
    - And you?


    ****************************************

  2. #2
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Points : 14 357
    Points
    14 357
    Par défaut
    Tu utilises ASP.NET 1 ou ASP.NET 2 ?
    Si c'est la version 1: tu as ce tuto t'expliquant comment internationaliser un site web facilement.
    Si c'est la version 2: il est même possible que ton site s'affiche dans la langue du visiteur et tout ça sans écrire une seule ligne de code.
    Jérôme Lambert
    Développeur, Architecte, Rédacteur & Fan technologies Microsoft
    Ma boite informatique | Mon profil LinkedIn

  3. #3
    maa
    maa est déconnecté
    Membre actif
    Avatar de maa
    Inscrit en
    Octobre 2005
    Messages
    672
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Octobre 2005
    Messages : 672
    Points : 288
    Points
    288
    Par défaut
    J'utilise ASP.net 2.0.
    Tu parle de la localization et des fichiers Resources.resx ? Si oui, je trouve que ça se prête bien aux page dynamique qui n'ont que peu de texte à traduire (quelques contrôles, des labels,...) mais pas tellement à des page statiques entièrement écrites en xhtml. C'est le cas pour moi car je reprends un site statiques où il y avait des pages html écrite pour chaque langue et je souhaite les "insérer" dans un site ASP.net. Donc je souhaite vraiment conserver cette structure avec un fichier .aspx par langue. Mais si il y a un moyen efficace de rediriger vers la bonne page .aspx en fonction de la langue utilisateur, je suis preneur...
    ****************************************

    - I don’t write plumbing code anymore
    - I use PostSharp
    - And you?


    ****************************************

  4. #4
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    pour connaître la culture de ton utilisateur, c'est :
    System.Globalization.CultureInfo.CurrentUICulture
    ou
    System.Globalization.CultureInfo.CurrentCulture

    Dans cet objet tu as un LCID (int) qui identifie la langue.

    Après, tu n'as plus qu'a construire ton lien comme il faut.

Discussions similaires

  1. URL Rewriting pour site multi-langue (?lang=fr|en)
    Par Blabla72 dans le forum Apache
    Réponses: 3
    Dernier message: 22/06/2015, 16h16
  2. Problème site multi langues
    Par dolf13 dans le forum Langage
    Réponses: 9
    Dernier message: 31/08/2006, 12h05
  3. Réponses: 12
    Dernier message: 04/11/2005, 16h28
  4. Architecture d'un site multi-langues
    Par seben dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 25/09/2005, 15h23

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