Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Afficher un message dans la langue de l'appli

3 réponses
Avatar
V. Desjardins
Bonjour,


Je développe une appli en plusieurs langues. J'ai déjà traité de tout ce qui
est changement de la langue lors de l'exécution : l'utilisateur coche la
langue qu'il veut, et l'appli apparait dans cette langue. Tout ça, ça
marche.

Par contre, ce que je ne sais pas faire (je débute), c'est afficher un
message dans la langue qui va bien.

Exemple, je double clique sur le projet, et j'ajoute dans l'onglet
ressources une chaine : resHello="Bonjour".

Dans le code, j'appelle My.Resources.resHello et ça m'affiche "Bonjour".
Mais comment faire pour que ça m'affiche "Bom dia" si l'utilisateur a choisi
portugais par exemple.

Où est-ce que je dois dire que si c'est en portugais, alors resHello="Bom
dia" ?? Parce que quand je clique sur ressources et que je remplis le
fichier de resources, je n'ai qu'un seul fichier Resources.resx.

Je sais pas si je suis clair... Quelqu'un voit ce que je veux dire ???

Merci de votre aide !

3 réponses

Avatar
Fred
Dans : news:44651e2a$0$7139$,
V. Desjardins disait :
Bonjour,



Bonjour,

Je développe une appli en plusieurs langues. J'ai déjà traité de tout
ce qui est changement de la langue lors de l'exécution :
l'utilisateur coche la langue qu'il veut, et l'appli apparait dans
cette langue. Tout ça, ça marche.



D'après la question qui suit, je me demande si tu as géré cela
correctement.

Par contre, ce que je ne sais pas faire (je débute), c'est afficher un
message dans la langue qui va bien.

Exemple, je double clique sur le projet, et j'ajoute dans l'onglet
ressources une chaine : resHello="Bonjour".



Ça c'est pour la culuture par défaut.

Dans le code, j'appelle My.Resources.resHello et ça m'affiche
"Bonjour". Mais comment faire pour que ça m'affiche "Bom dia" si
l'utilisateur a choisi portugais par exemple.



Où est-ce que je dois dire que si c'est en portugais, alors
resHello="Bom dia" ?? Parce que quand je clique sur ressources et que
je remplis le fichier de resources, je n'ai qu'un seul fichier
Resources.resx.



Il te faut en ajouter un par langue, ou plus précisément, si tu le
souhaites, par pays
Par exemple : Resources.fr.resx pour le français.
Mais on peut aussi créer Resources.fr-FR.resx pour le français de
France. etc...

Tes ressources auront le même identifiant dans tous les fichiers, seul
le texte sera adapté.

Ce qui m'étonne, c'est que tu dois déjà avoir de tels fichiers si tu as
déjà internationalisé l'interface !?

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
Avatar
V. Desjardins
En fait, non, je n'avais pas ces fichiers, car seules les fenêtres étaient
en plusieurs langues.

Pour mes fenêtres, j'avais bien les différents fichiers dont tu parles :
frmMain.fr.resx, frmMain.pt.resx, etc.

Peu après avoir posté mon message, j'ai fini par trouver la solution. J'ai
en effet créé les fichiers Ressources.fr.resx, Ressources.pt.resx, etc.

Et maintenant, tout semble bien fonctionner.

Merci pour ta réponse. Je vais certainement avoir d'autres questions d'ici
peu car je débute, et je suis pas à pas confronté à des questions. VB.Net
c'est vraiment super, mais pas toujours évident au début...

A+


"Fred" a écrit dans le message de news:

Dans : news:44651e2a$0$7139$,
V. Desjardins disait :
Bonjour,



Bonjour,

Je développe une appli en plusieurs langues. J'ai déjà traité de tout
ce qui est changement de la langue lors de l'exécution :
l'utilisateur coche la langue qu'il veut, et l'appli apparait dans
cette langue. Tout ça, ça marche.



D'après la question qui suit, je me demande si tu as géré cela
correctement.

Par contre, ce que je ne sais pas faire (je débute), c'est afficher un
message dans la langue qui va bien.

Exemple, je double clique sur le projet, et j'ajoute dans l'onglet
ressources une chaine : resHello="Bonjour".



Ça c'est pour la culuture par défaut.

Dans le code, j'appelle My.Resources.resHello et ça m'affiche
"Bonjour". Mais comment faire pour que ça m'affiche "Bom dia" si
l'utilisateur a choisi portugais par exemple.



Où est-ce que je dois dire que si c'est en portugais, alors
resHello="Bom dia" ?? Parce que quand je clique sur ressources et que
je remplis le fichier de resources, je n'ai qu'un seul fichier
Resources.resx.



Il te faut en ajouter un par langue, ou plus précisément, si tu le
souhaites, par pays
Par exemple : Resources.fr.resx pour le français.
Mais on peut aussi créer Resources.fr-FR.resx pour le français de France.
etc...

Tes ressources auront le même identifiant dans tous les fichiers, seul le
texte sera adapté.

Ce qui m'étonne, c'est que tu dois déjà avoir de tels fichiers si tu as
déjà internationalisé l'interface !?

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT


Avatar
Fred
dans : news:4465dc0a$0$7704$
V. Desjardins disait :

Peu après avoir posté mon message, j'ai fini par trouver la solution.
J'ai en effet créé les fichiers Ressources.fr.resx,
Ressources.pt.resx, etc.



Dans le même ordre d'idée, tu peux aussi créer des fichiers de ressource
pour des classes.
Par exemple, si tu as un fichier maClasse.vb, tu peux ajouter au projet
maClasse.resx, maClasse.fr.resx ...

Comme tu utilises le namespace My, veille simplement à ce que ta classe
soit au début du fichier maClasse.vb (le customTool génère le code du
namespace My pour la première classe rencontrée dans le fichier).

Cela peut-être pratique si tu as des ressources similaires pour chacune
de tes classes. Cela te permet de leur donner le même nom, ce que tu ne
peux pas faire avec le fichier Resources.resx du projet.
Les ressources seront ensuite accessibles via :
My.Resources.MaClasse.MaRessource


--
Fred
http://www.cerbermail.com/?3kA6ftaCvT