Tim221
Messages postés26Date d'inscriptionvendredi 28 avril 2006StatutMembreDernière intervention20 décembre 2006 17 sept. 2006 à 19:43
Bon finalement j'ai réussi avec cultureinfo car il y avait trop d'erreur avec l'autre technique.
Je créé My.Settings.langue
Puis mets dans la form principale
Public
Sub
New()
Dim
ci
As
CultureInfo
If
My
.Settings.langue =
Nothing
Then
MessageBox.Show(
"La langue par défaut sera le français, mais vous pouvez toujours la changer dans le menu ? puis langue"
,
"Langue par défaut"
, MessageBoxButtons.OK, MessageBoxIcon.Information)
My
.Settings.langue =
"fr"
ci = CultureInfo.GetCultureInfo(
"fr"
)
Else
ci = CultureInfo.GetCultureInfo(
My
.Settings.langue)
End
If
Thread.CurrentThread.CurrentUICulture = ci
' Cet appel est requis par le Concepteur Windows Form.
InitializeComponent()
End
Sub
Et pour changer la langue j'utilise une autre form qui demande la langue voulu (Français ou Anglais) qui est enregistrer dans My.Settings.langue sous forme de "fr" ou "en"
scottmat
Messages postés438Date d'inscriptionsamedi 24 mai 2003StatutMembreDernière intervention23 janvier 20111 15 sept. 2006 à 20:01
Salut
Mais c'est en ASP.Net sa ? je reconnais les extensions
si c'est sur ASP.NET va sur le site de microsoft ASP.NET y'a le coatch qui t'explique sa en petite vidéo. Il t'explique tout de A à Z
Bon courage ;)
scottmat
Messages postés438Date d'inscriptionsamedi 24 mai 2003StatutMembreDernière intervention23 janvier 20111 15 sept. 2006 à 20:46
pffff je suis c...
moment d'oublie, moment de fatigue lol merci de m'avoir repris casy ;)
sinon Tim221 si c'est pour VB.Net (lol) va voir ce sujet :
http://www.vbfrance.com/infomsg_MULTI-LANGAGE_803564.aspx il y'a deux méthodes, à toi de voir si l'une correspond à tes besoins.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Tim221
Messages postés26Date d'inscriptionvendredi 28 avril 2006StatutMembreDernière intervention20 décembre 2006 16 sept. 2006 à 10:32
Bonjour, merci de m'avoir répondu d'après le deuxième lien que tu m'as donné, j'ai essayer ta méthode.
Mais il me créer toujours un problème lors de l'execution "NullReferenceException".
Alors je modifie directement le fichier Form1.designer.vb est utilisant ifMy.Settings.langue = "Français" then ...
elseif my.Settings.langue = "Anglais"then...
Et au milieu du if je modifie tout les me.qqc.text = qqc_fr ou en en fonction du if et avant je met Dim qqc As String = "&QQC"
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 16 sept. 2006 à 10:50
Je ne sais pas s'il faut que tu fasse 2 fichiers resx. Par contre dans ces fichiers, il te faut déclarer et attribuer tes textes à chaque langue.
Après dans l'appli, le changement de langue se fait, je crois bien, en jouant avec la classe CultureInfo.
Je ne sais pas trop comment ça marche, mais si j'ai bien compris, cette classe contient tous les paramètres du système d'exploitation relatifs à sa régionalisation (langue, symbole monétaire, symbole décimal, ...). A priori, pour changer de langue, il faudrait changer le CultureInfo de l'application, pour lui faire croire qu'elle tourne sur un système d'une autre langue.
Sous toute réserve, je ne maitrise pas tout et même je ne comprend pas tout encore.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
scottmat
Messages postés438Date d'inscriptionsamedi 24 mai 2003StatutMembreDernière intervention23 janvier 20111 16 sept. 2006 à 15:48
Oué, moi je me suis pas pris la tête j'ai commencer par créer une Classe Français, puis aprés je l'ai copier et par la suite j'ai tout convertit en Anglais.
Après tu peux faire tous en un, c'est également envisageable
Tim221
Messages postés26Date d'inscriptionvendredi 28 avril 2006StatutMembreDernière intervention20 décembre 2006 17 sept. 2006 à 10:41
Moi aussi je n'ai pas compris le CultureInfo.
Car je voudrais que l'utilisateur choisisse a tout moment sa langue, mais avec CultureInfo il n'y avait pas moyen de le faire et il ne mettait jamais la langue voulu.
Donc j'ai créer une classe avec Dim qqc As String "&QQC" Dim qqc2 As String "&QQC2" etc...
Mais avant j'avais fait Public Sub langue() avec a l'intérieur if my.Setting.langue "Anglais" then (tout les dim en anglais) elseif my.Settings.langue "Français" then (tout les dim en français) end if
Et dans Form1.designer.vb je met après InitializeComponent() Class1.langue() et je change tout les me.qqc.text "Français" par FR(qui a été déclarer entre dim et As String "Français" en français ou "French" en anglais).
Voila si vous connaisez comment faire plus facilement, dites-le moi!(ça simplifirait mon code).
scottmat
Messages postés438Date d'inscriptionsamedi 24 mai 2003StatutMembreDernière intervention23 janvier 20111 24 sept. 2006 à 20:52
Petite question au passage qui me chagrine.
Tu utilise cultureinfo (pour moi c'est nouveau, tu viens de me l'apprendre lol)
J'ai jeté un œil à ton code, je suppose que les propriétés de objets (ApplicationSetting) seront raccorder aux fichiers ayant les données du langage.
Ou places-tu tes données de ces langages ?
Parce que si je créer des variables dans les ressources du projet, la variable n'a pas 2 valeur mais 1 !
J'aurai aimé savoir comment tu faisais ?
Tim221
Messages postés26Date d'inscriptionvendredi 28 avril 2006StatutMembreDernière intervention20 décembre 2006 25 sept. 2006 à 20:04
Pour changer la langue, je créer My.Settings.langue (où je stocke ce que je veux dedans)
Puis je met le Public sub New() dans Form1.vb.
Je créer une autre form avec un combobox contenant "fr" et "en" , et quand je choisit un des deux textes il fait My.Settings.langue = combobox1.selecteditem (il stocke fr ou en selon le choix)(Attention pour le cultureinfo il faut que ce soit fr ou fr-FR ou en ou en-EN et ainsi de suite...)
Dans Form1.Designer.vb sélectionne la form elle-même puis la propriété langue choisit celle dont tu veux traduire la form.
Enregistres et enfin pour toutes les variables je les ai mis dans un Public Sub langue() que je lance dans MyBase.Load
Dans la fonction langue(), j'ai mis Dim qqc as string
IfMy.Settings.langue = "fr" then
qqc = "QQCfr"
elseif My.Settings.langue = "en"then
qqc = "QQCen"
End if