begin process at 2010 02 10 14:42:11
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ASP.Net

 > UTILISATION DES FICHIERS RESSOURCES POUR DU MULTILIGNUE

UTILISATION DES FICHIERS RESSOURCES POUR DU MULTILIGNUE


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :ASP.Net Source .NET ( DotNet ) Classé sous :multilangue, ressource, globalization, resx, multilingue Niveau :Débutant Date de création :09/08/2004 Vu / téléchargé :14 112 / 617

Auteur : jcq

Ecrire un message privé
Site perso
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Source trés simple permettant de charger un fichier ressource créé avec visual studio (projet complet inclus dans le fichier zip à télécharger), pour afficher la langue désirée dans la page web.

Source

  • 'Pour voir tout le code, veuillez télécharger le code source
  • 'Côté code de la web form:
  • '----------------------------------------
  • Imports System.Resources
  • Imports System.Globalization
  • Imports System.Threading
  • Public Class WebForm2
  • Inherits System.Web.UI.Page
  • Private rm As ResourceManager
  • #Region " Code généré par le Concepteur Web Form "
  • 'Cet appel est requis par le Concepteur Web Form.
  • <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
  • End Sub
  • Protected WithEvents Label1 As System.Web.UI.WebControls.Label
  • Protected WithEvents Button1 As System.Web.UI.WebControls.Button
  • Protected WithEvents Button2 As System.Web.UI.WebControls.Button
  • Protected WithEvents Button3 As System.Web.UI.WebControls.Button
  • 'REMARQUE : la déclaration d'espace réservé suivante est requise par le Concepteur Web Form.
  • 'Ne pas supprimer ou déplacer.
  • Private designerPlaceholderDeclaration As System.Object
  • Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
  • 'CODEGEN : cet appel de méthode est requis par le Concepteur Web Form
  • 'Ne le modifiez pas en utilisant l'éditeur de code.
  • InitializeComponent()
  • rm = Application("myRM")
  • End Sub
  • #End Region
  • Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  • 'Placez ici le code utilisateur pour initialiser la page
  • mDisplay_Language()
  • End Sub
  • Private Sub mDisplay_Language()
  • 'On appelle les traductions par cette méthode
  • Label1.Text = rm.GetString("IdMessage1")
  • End Sub
  • Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  • 'Pour changer de langue, on change la culture en cours
  • 'ATTENTION: si vous mettez juste "fr", vous aurez une erreur, il faut préciser
  • 'pour chaque langue la région: "fr-FR"
  • Thread.CurrentThread.CurrentCulture = New CultureInfo("fr-FR", True)
  • Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture
  • mDisplay_Language()
  • End Sub
  • Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  • Thread.CurrentThread.CurrentCulture = New CultureInfo("en-US", True)
  • Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture
  • mDisplay_Language()
  • End Sub
  • Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  • Thread.CurrentThread.CurrentCulture = New CultureInfo("es-ES", True)
  • Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture
  • mDisplay_Language()
  • End Sub
  • End Class
  • 'Côté code du global.asax:
  • '----------------------------------------
  • Imports System.Web
  • Imports System.Web.SessionState
  • Imports System.Globalization
  • Imports System.Threading
  • Public Class Global
  • Inherits System.Web.HttpApplication
  • #Region " Code généré par le Concepteur de composants "
  • Public Sub New()
  • MyBase.New()
  • 'Cet appel est requis par le Concepteur de composants.
  • InitializeComponent()
  • 'Ajoutez une initialisation quelconque après l'appel InitializeComponent()
  • End Sub
  • 'Requis par le Concepteur de composants
  • Private components As System.ComponentModel.IContainer
  • 'REMARQUE : la procédure suivante est requise par le Concepteur de composants
  • 'Elle peut être modifiée à l'aide du Concepteur de composants.
  • 'Ne la modifiez pas en utilisant l'éditeur de code.
  • <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
  • components = New System.ComponentModel.Container
  • End Sub
  • #End Region
  • Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
  • ' Se déclenche lorsque l'application est démarrée
  • '**ATTENTION: Si on met pas le nom du projet devant le nom de la ressource : marche pas !!(eh oui c précisé nulle part).
  • Application("MyRM") = New System.Resources.ResourceManager("Ressource.test", System.Reflection.Assembly.GetExecutingAssembly())
  • 'Note: pour charger le fichier ressource qui est généré automatiquement par visual studio, il
  • 'existe plusieurs techniques, malheureusement celle que je présente ici est la seule que j'ai réussi
  • 'à faire fonctionner.
  • End Sub
  • Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
  • ' Se déclenche lorsque la session est démarrée
  • 'Détection de la langue
  • Try
  • 'On regarde si il y a des langues indiqué dans le navigateur
  • If Not Request.UserLanguages() Is Nothing Then
  • 'Récupére la premiére langue du navigateur
  • Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages(0))
  • Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture
  • End If
  • Catch ex As Exception
  • 'Si pas trouvé de langue par défaut on peut en attribuer une par défaut ou laisser
  • 'le .NET rechercher par lui même le language racine
  • Thread.CurrentThread.CurrentCulture = New CultureInfo("fr-FR")
  • Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture
  • End Try
  • End Sub
'Pour voir tout le code, veuillez télécharger le code source


'Côté code de la web form:
'----------------------------------------
Imports System.Resources
Imports System.Globalization
Imports System.Threading

Public Class WebForm2
    Inherits System.Web.UI.Page
    Private rm As ResourceManager

#Region " Code généré par le Concepteur Web Form "

    'Cet appel est requis par le Concepteur Web Form.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub
    Protected WithEvents Label1 As System.Web.UI.WebControls.Label
    Protected WithEvents Button1 As System.Web.UI.WebControls.Button
    Protected WithEvents Button2 As System.Web.UI.WebControls.Button
    Protected WithEvents Button3 As System.Web.UI.WebControls.Button

    'REMARQUE : la déclaration d'espace réservé suivante est requise par le Concepteur Web Form.
    'Ne pas supprimer ou déplacer.
    Private designerPlaceholderDeclaration As System.Object

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN : cet appel de méthode est requis par le Concepteur Web Form
        'Ne le modifiez pas en utilisant l'éditeur de code.
        InitializeComponent()

        rm = Application("myRM")

    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Placez ici le code utilisateur pour initialiser la page
        mDisplay_Language()

    End Sub
    Private Sub mDisplay_Language()

        'On appelle les traductions par cette méthode
        Label1.Text = rm.GetString("IdMessage1")


    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        'Pour changer de langue, on change la culture en cours
        'ATTENTION: si vous mettez juste "fr", vous aurez une erreur, il faut préciser
        'pour chaque langue la région: "fr-FR"
        Thread.CurrentThread.CurrentCulture = New CultureInfo("fr-FR", True)
        Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture
        mDisplay_Language()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Thread.CurrentThread.CurrentCulture = New CultureInfo("en-US", True)
        Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture
        mDisplay_Language()

    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Thread.CurrentThread.CurrentCulture = New CultureInfo("es-ES", True)
        Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture
        mDisplay_Language()
    End Sub
End Class



'Côté code du global.asax:
'----------------------------------------

Imports System.Web
Imports System.Web.SessionState
Imports System.Globalization
Imports System.Threading



Public Class Global
    Inherits System.Web.HttpApplication

#Region " Code généré par le Concepteur de composants "

    Public Sub New()
        MyBase.New()

        'Cet appel est requis par le Concepteur de composants.
        InitializeComponent()

        'Ajoutez une initialisation quelconque après l'appel InitializeComponent()

    End Sub

    'Requis par le Concepteur de composants
    Private components As System.ComponentModel.IContainer

    'REMARQUE : la procédure suivante est requise par le Concepteur de composants
    'Elle peut être modifiée à l'aide du Concepteur de composants.  
    'Ne la modifiez pas en utilisant l'éditeur de code.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        components = New System.ComponentModel.Container
    End Sub

#End Region

    Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' Se déclenche lorsque l'application est démarrée


        '**ATTENTION: Si on met pas le nom du projet devant le nom de la ressource : marche pas !!(eh oui c précisé nulle part).
        Application("MyRM") = New System.Resources.ResourceManager("Ressource.test", System.Reflection.Assembly.GetExecutingAssembly())

        'Note: pour charger le fichier ressource qui est généré automatiquement par visual studio, il
        'existe plusieurs techniques, malheureusement celle que je présente ici est la seule que j'ai réussi
        'à faire fonctionner.

    End Sub

    Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' Se déclenche lorsque la session est démarrée

        'Détection de la langue
        Try
            'On regarde si il y a des langues indiqué dans le navigateur
            If Not Request.UserLanguages() Is Nothing Then
                'Récupére la premiére langue du navigateur
                Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages(0))
                Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture
            End If
        Catch ex As Exception
            'Si pas trouvé de langue par défaut on peut en attribuer une par défaut ou laisser
            'le .NET rechercher par lui même le language racine

            Thread.CurrentThread.CurrentCulture = New CultureInfo("fr-FR")
            Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture
        End Try

    End Sub

 Conclusion

Il existe plusieurs méthode pour charger le fichier ressource(du global.Asax), dont une trés intéressante (        Application("MyRM") = New System.Resources.ResourceManager(GetType(myWebForm )) qui permet de de charger le fichier ressource par webform, mais impossible de la faire fonctionner chez moi: conflit dans le nom des fichiers .resX(même en supprimante le webform1.resx)... Bref voici une méthode qui fonctionne.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source .NET (Dotnet) AJOUT DE METATAGS (KEYWORD) AUX MASTER PAGE ET ENFANT
Source .NET (Dotnet) FAIRE UNE PAUSE DANS UNE BOUCLE OU AUTRE...
Source avec Zip Source .NET (Dotnet) GESTIONNAIRE DE PLUGIN ASCX
Source avec Zip Source .NET (Dotnet) NAVIGUER DANS LES DOSSIERS

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) CUSTOM DATEPIKER DÉRIVANT DE COMPOSITECONTROL par fredzool
Source avec Zip UN MODULE POUR APPRENDRE SQL par Elmarzougui
Source avec Zip Source .NET (Dotnet) BOUTON QUI EMPECHE LE MULTI CLIC AVANT LA FIN DU TRAITEMENT.... par fredzool
Source avec Zip Source .NET (Dotnet) BOUTON AVEC CSS ET USERCONTROL WITH EVENT par fredzool
Source avec Zip Source .NET (Dotnet) CAPTCHA ASP.NET ET JAVASCRIPT par vaan3713

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) GESTION TRÈS SIMPLE DES LANGUES (CULTURE) EN ASP.NET 2.0 par walterskinner

Commentaires et avis

Commentaire de scoubigee le 16/05/2007 08:59:55

Hello !

Je suis en train de galérer pour rendre mon appli multilangue, j'ai trouvé cette source complète sauf sur un point qu'il me manque, le passage des .resx en .dll ...

Quelqu'un pourrait-il m'apporter des infos complémentaires ? merci !

Commentaire de scoubigee le 16/05/2007 10:11:05

En fait c'est bon j'y suis parvenu en perséverant !
Il faut utiliser resgen.exe et al.exe avec l'invite de commande VS .net 2003 pour générer les dll et ensuite les placer ds les dossiers de langues du repertoire bin

 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 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 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 Erreur sur IIS... "La ressource demandée est en cours d'utilisation" [ par gusalex ] Bonjour a tous,voilà, j'ai un petit soucis avec un code en ASP qui tourne sur IIS sous Windows XP.En fait, ce n'est pas le code qui est foireux car ce multilingue [ par jcq ] Bonjour,je suis depuis quelques heures déjà, sur le probléme du multi langue dans un site. Et donc aprés plusieurs hésitation je pars sur du fichier r Site multilingue ASP.NET [ par berocca ] Bonjour,Je souhaite cr&#233;er un site multilingue en ASP.NET. Quelle est l'approche &#224; suivre ? Tous les conseils sont les bienvenus !D'autre par créer site multilingue [ par abari ] bonjour,y-a t-elles&nbsp;des solutions en asp&nbsp;pour cr&#233;er un site web multilingue merci de donner les plus utilis&#233;es avec des liens ou d Resource files [ par akaii ] Hello,voil&#224; j'ai cr&#233;&#233; mes fichiers .resx en fonction des diff&#233;rentes langues en les nommants comme suit:&lt;monFichier&gt;.&lt;UI& Resources [ par akaii ] Hello,voilà j'ai créé mes fichiers .resx en fonction des différentes langues en les nommants comme suit:&lt;monFichier&gt;.&lt;UI&gt;.resx&lt;Global&g recuperation des valeurs d'une requete dans des Labels [ par mael974 ] bonjour je souhaiterez lors d'une requete SELECT recuperer certaine valeur ds un label, je procede de la facon suivante, ms je recupere que la m


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales