hacker591
Messages postés34Date d'inscriptionmardi 10 juin 2014StatutMembreDernière intervention26 janvier 2022
-
14 sept. 2014 à 13:21
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023
-
14 sept. 2014 à 20:16
Bonjour,
J'aimerai un peu aide pour changer de langue dans mon Form1.
Voici en image de mon projet :
mes codes:
Imports System.Threading
Public Class Form1
Private Sub FrancaisToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles FrancaisToolStripMenuItem.Click
Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("fr-FR")
End Sub
Private Sub AnglaisToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles AnglaisToolStripMenuItem.Click
Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US")
End Sub
End Class
Je vous explique, quand je clique sur anglais. Les mots sont traduit en anglais.
Pouvez-vous me dire comment on fait pour changer de langue de mon projet?
Merci
A voir également:
Changer langue visual studio
Comment changer la langue sur visual studio code - Meilleures réponses
Comment changer la langue de visual studio code - Meilleures réponses
J'ai quant à moi également choisi l'utilisation d'un fichier .res (mais ce pourrait également être un fichier de ressources d'un autre type) et la méthode suivante
1) j'attribue à chaque contrôle à traduire un numéro d'ordre (que je mets dans sa propriété .tag).
2) j'utilise une variable globale (appelons la par exemple Trad), à laquelle j'attribue une valeur 0, 1, 2, 3, etc ...
3) mon fichier de ressources contient :
- pour le français, les étiquettes 1 à 999
- pour la lange suivante les étiquettes 1001 à 1999
- pour la suivante : les étiquettes 2001 à 2999
etc ...
dans la procédure de traduction, que j'appelle tant au chargement qu'au clic sur le choix de la langue:
je parcours mes contrôles, lis leur valeur éventuellement présente en propriété tag et, si présente, je vais lire dans mon fichier de ressources la "traduction" qui figure à l'étiquette : (Trad * 1000) + valeur_du_tag
ainsi, donc : si trad = 0 et que j'ai 3 dans le tag, je lis la correspondance en étiquette 3
Si trad est à 2 et que j'ai 123 dans le tag, je lis la correspondance en étiquette 2123
simple et très efficace
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023624 14 sept. 2014 à 19:32
Tu peux aussi utiliser un fichier xml, l'avantage c'est qu'un traducteur n'aura pas à accéder au code.
Tu fait un truc du style:
<Langues>
<Langue Id = "fr">Français</Langue
<Langue Id = "de">Deutch</Langue
<Langue Id = "en">English</Langue
</Langues>
<FormMain>
<butAccepter>
<fr>Accepter</>
<de>Akzeptieren</>
<en>Accept</>
</butAccepter>
.....etc
En lisant la liste de langue, tu construis le menu déroulant dynamiquement.
Ensuite par formulaire au moment du Load ou du New tu va lire le texte qui va bien pour chaque contrôle.
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023624 14 sept. 2014 à 20:16
ce serait peut être mieux comme ça
<Langues>
<Langue Id = "fr">Français</Langue>
<Langue Id = "de">Deutch</Langue>
<Langue Id = "en">English</Langue>
</Langues>
<FormMain>
<butAccepter>
<texte Id ="fr">Accepter</>
<texte Id ="de">Akzeptieren</>
<texte Id ="en">Accept</>
</butAccepter>
.....etc
14 sept. 2014 à 15:37
http://codes-sources.commentcamarche.net/faq/516-application-multilingue-sans-douleur