Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

GESTION TRÈS SIMPLE DES LANGUES (CULTURE) EN ASP.NET 2.0


Information sur la source

Catégorie :ASP.Net Source .NET ( DotNet ) Classé sous : langue, culture, ressource Niveau : Débutant Date de création : 17/04/2006 Date de mise à jour : 17/04/2006 18:44:20 Vu / téléchargé: 18 976 / 1 576

Note :
7,5 / 10 - par 2 personnes
7,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Ce code montre quelques exemples très simples de gestion des langues (Cultures) dans un site en ASP.NET.

Grace aux valeurs Culture et UICulture vous pouvez choisir si la langue est sélectionnée automatiquement (auto) ou imposée (par exemple fr-FR pour Français) :
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" Culture="auto:fr-FR" UICulture="auto:fr-FR" %>

- UICulture indique la langue des contrôles et des formats d’affichages.
Par exemple, un montant apparaîtra comme cela pour la France 65 545,42 € et $65,545.42 pour les USA. Un contrôle Calendar apparaitra en Français ou autre suivant la langue.
- La variable Culture définie la langue utilisée pour les fichiers de ressources.

Le répertoire App_LocalResources contient les fichiers de ressources (traductions) pour une page définie.
Le répertoire App_GlobalResources contient les fichiers de ressources (traductions) utilisable par n’importe quel page de votre site.

Par exemple, Default.aspx.resx contient les traductions par défaut de la page Default.aspx et Default.aspx.en.resx contient la langue anglaise.


Pour tester le code, vous pouvez changer la langue de préférence dans Internet Exeplorer.
Pour cela, cliquer sur le bouton « Langues… » de la boite « Otions Internet ».

Voici un petit exemple pour un contrôle label :
<asp:Label ID="Label1" runat="server" Text="Label" meta:resourceKey="Label1"></asp:Label>
La propriété meta:resourceKey indique le nom de la ressource à utiliser.

Voici le contenu du fichier de ressource par défaut (Default.aspx.resx) : Image 1
Voici le contenu du fichier de ressource anglais (Default.aspx.en.resx) : Image 2

Voici, j’espère avoir été clair et que ce code pourra servir à quelqu’un.

J’attends vos commentaires.

Bon code,

Walter

PS : Cet exemple est inspiré d’un WebCast américain publié par Microsoft.

 

Source

  • Imports System.Threading
  • Imports System.Globalization
  • Partial Class _Default
  • Inherits System.Web.UI.Page
  • ' Cette SUB substitue la procédure d’initialisation de la culture.
  • Protected Overrides Sub InitializeCulture()
  • ' Récupère la valeur de la liste déroulante.
  • Dim lang As String = Request("Langage1")
  • ' Si la variable n’est pas vide, on définie la nouvelle langue.
  • If lang IsNot Nothing OrElse lang <> "" Then
  • ' Définie la culture de l'interface utilisateur.
  • Thread.CurrentThread.CurrentUICulture = New CultureInfo(lang)
  • ' Définie la culture de l'utilisateur.
  • Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang)
  • End If
  • End Sub
  • Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  • ' Définie une variable qui contient une somme.
  • Dim money As Decimal = 65545.42
  • ' Place la somme dans le label en formatant celui-ci au format money.
  • ' Suivant la culture (et non la UICulture), il sera affiché en euro, dollar, …
  • lbMontant.Text = String.Format("{0:c}", money)
  • End Sub
  • End Class
Imports System.Threading
Imports System.Globalization

Partial Class _Default
    Inherits System.Web.UI.Page

    ' Cette SUB substitue la procédure d’initialisation de la culture.
    Protected Overrides Sub InitializeCulture()

        ' Récupère la valeur de la liste déroulante.
        Dim lang As String = Request("Langage1")

        ' Si la variable n’est pas vide, on définie la nouvelle langue.
        If lang IsNot Nothing OrElse lang <> "" Then

            ' Définie la culture de l'interface utilisateur.
            Thread.CurrentThread.CurrentUICulture = New CultureInfo(lang)

            ' Définie la culture de l'utilisateur.
            Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang)

        End If

    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        ' Définie une variable qui contient une somme.
        Dim money As Decimal = 65545.42

        ' Place la somme dans le label en formatant celui-ci au format money.
        ' Suivant la culture (et non la UICulture), il sera affiché en euro, dollar, …
        lbMontant.Text = String.Format("{0:c}", money)

    End Sub

End Class

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

17 avril 2006 13:05:16 :
Ajout de l’extrait de mon code.
17 avril 2006 18:44:20 :
Une petite faute.

Commentaires et avis

signaler à un administrateur
Commentaire de N1Nbus49 le 16/05/2006 07:34:29

Bien comme source assurement.
Par contre juste une précision, non pas que je te prenne pour un idiot, mais €1 > $1..non?
Il serait interressant de savoir si il peut faire la conversion tout seul :)
En tout cas, bonne source

signaler à un administrateur
Commentaire de walterskinner le 16/05/2006 22:09:10

Effectivement, c’est encore pire si je traduis la page en UK. 1€ n’est pas égale à £1.
En fait le but est de traduire automatiquement la présentation du site. Reste au programmeur de faire en sorte que la partie métier (Les prix, les descriptions d’articles, …) soit traduit suivant la langue.
En tout cas merci d’avoir laissé un message. Cela fait plaisir de voir qu’il a intéressé quelqu’un :o)
A bientôt...

signaler à un administrateur
Commentaire de Nexto le 14/06/2006 21:30:43

Bsoir, pas mal dutout ta source simple et bien clair...

Mais je me demande toujours comment faire aussi un site multilingue mais en passant la langue via une url ex: Default.aspx?lang=fr... Ta une idée ? :p (et qu'il garde en mêmoire le ?lang=fr lorsqu'on change de page...).

merci

A++
Fabien S. (Alias: fabienfs)

signaler à un administrateur
Commentaire de maisoui le 16/07/2006 21:00:18

salut, merci pour ton code, c'est vraiment très clair et très pratique.
J'ai essayé d'intégrer ça dans un de mes projets où j'ai utilisé une "master page" et là, ça pose difficulté. On ne peut apparament pas définir de "culture" pour une master page.
Est-ce que je dois copier le code dans chaque page indépendante?

signaler à un administrateur
Commentaire de mcviper le 30/08/2006 21:01:42

salut, esque quelq'un aurait une idée pour modifier ou crée une nouvelle culture le but est d'avoir les dates en format 'fr' jour/mois et des montant en format 'en', merci.

signaler à un administrateur
Commentaire de kiki15 le 31/01/2007 16:46:55

Bonjour,
je voulais savoir ce que cela donnerai en c#, sa serais super interressant..

Merci

signaler à un administrateur
Commentaire de qrf_vince le 31/07/2007 09:52:23

Bonjour,

Juste une petite précision sur l'emploi de Culture et UICulture.
Contrairement à ce qui est écrit dans la description, Culture sert au format des dates, des montants,... et UICulture pour déterminer quelles ressources il faut charger.
http://msdn2.microsoft.com/en-us/library/bz9tc508(VS.71).aspx
A part ça, ton code est très utile :)

A++
VinCe

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

ressource de moteur de recherche [ par sofa ] Bonjour,nous sommes deux etudiantes en informatique et nous sommes entrain de faire une recherche sur les codes sources (de preference en asp)de moteu Détection de la langue à l'entrée d'un site [ par Cyril ] J'aimerais savoir si quelqu'un a une petite idée pour détecter la langue de l'internaute lorsqu'il arrive sur un site. (Sans COM+)Aidez moi ca serait Choix de la langue du site [ par Primch ] Je travail sur un projet et le site est en anglais.Il me faut un bon moyen pour que le site soit encore accessible en Français et en Espagnole.Est ce langue [ par hamrouni ] Salut Merçi pour votre collaboration d'avance pour m'aider a la reussite de mon site . ma question estcomment je peut savoir la langue de navigateur d langue [ par hamrouni ] Salutj'arive à ecrire un script ASP dans un fichier include dont l'extension.inc qui rederige le visiteur selon la langue du navigateur que voici le s langue [ par hamrouni ] Salutj'arive à ecrire un script ASP dans un fichier include dont l'extension.inc qui rederige le visiteur selon la langue du navigateur que voici le s Gestion de langue (fr & us) dans une appli Web [ par CBoisseau ] Bonjour,je m'arrache les cheveux pour gérer 2 langues dans une appli web. J'ai la meme page ASP pour les 2 langues et je prends mes textes d'une base Comment lire les rendez-vous Exchange en ASP ???? [ par YDY ] Bonjour,J'aimerais en ASP lire le calendrier d'une salle de réunion créée sur Exchange Server 5.0.Exemple:Une ressource nommée "Salle 305" possède un Site multi langue en asp ? [ par chris2000 ] Bonjour, se souhaite créer un site mutli langue avec une base de données access.L'utilisateur lorsqu'il se connectera devra choisir sa langue pour la erreur "La ressource demandée est en cours d'utilisation" sur IIS5 [ par frahil ] sur toutes mes pages asp (y compris http://localhost/iisHelp/ ) j'ai l'erreur "La ressource demandée est en cours d'utilisation". J'ai eu ce problème


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,421 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.