Accueil > > > UTILISATION DES FICHIERS RESSOURCES POUR DU MULTILIGNUE
UTILISATION DES FICHIERS RESSOURCES POUR DU MULTILIGNUE
Information sur la source
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.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
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éer un site multilingue en ASP.NET. Quelle est l'approche à suivre ? Tous les conseils sont les bienvenus !D'autre par
créer site multilingue [ par abari ]
bonjour,y-a t-elles des solutions en asp pour créer un site web multilingue merci de donner les plus utilisées avec des liens ou d
Resource files [ par akaii ]
Hello,voilà j'ai créé mes fichiers .resx en fonction des différentes langues en les nommants comme suit:<monFichier>.<UI&
Resources [ par akaii ]
Hello,voilà j'ai créé mes fichiers .resx en fonction des différentes langues en les nommants comme suit:<monFichier>.<UI>.resx<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
|
Derniers Blogs
CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice Y'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENTY'A DES ERREURS QUI PEUVENT RENDRE LE DéVELOPPEUR VIOLENT par Aleks
Quand on a ce genre d'erreur sans log :
Et bas on a juste envie de choper le gas de Microsoft qu'a développé ça et lui foutre des baffes de Coboye ! ...
Cliquez pour lire la suite de l'article par Aleks [HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL[HYPER-V 3] PRéSENTATION DES COMMANDLETS POWERSHELL par Pierrick CATRO-BROUILLET
Avec la sortie prochaine de la Beta Consumer Preview de Windows 8, j'avais envie de revenir sur une des fonctionnalités que j'attends le plus et que, en bon geek que je suis, j'utilise déjà : Hyper-V 3 ainsi son module PowerShell.
Il y a déjà pléthor...
Cliquez pour lire la suite de l'article par Pierrick CATRO-BROUILLET IIS7 - COMPRESSION GZIPIIS7 - COMPRESSION GZIP par cyril
La compression GZIP permet d'améliorer les performances de navigation en compressant ce qu'envoie le serveur à un client. Pour comprendre comment cela fonctionne, regardons ce qu'il se passe au niveau HTTP lorsqu'un client tente d'accéder à une ress...
Cliquez pour lire la suite de l'article par cyril
Forum
SCRIPTSCRIPT par nadialadypower
Cliquez pour lire la suite par nadialadypower
Logiciels
Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning Academy System (17.1.3.0)ACADEMY SYSTEM (17.1.3.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|