Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

V.I unique Français/Anglais

Résolu !
Accéder à la solution

Amis labViewers ; Bonjour à tous

 

Je rencontre un problème dont je n’ai pas trouvé de solution sur ce forum (my english is very poor):

 

Je dois réaliser un driver d’instrument bilingue.

 

J’aimerai le faire à partir d’un V.I unique, pour des raisons de simplicité et d’évolution future.

 

Le principe que j’ai choisi : pour chaque élément de la FAV, l’étiquette est en Français & le sous titre en anglais.

 

Ma première approche fut d’intégrer un bouton FR/EN masqué sur la FAV, mais relié à un terminal d’entrée. Avec la fonction “appeler & oublier asynchrone” trouvé dans l’outil de recherche d’exemple.

 

J’utilise des RefNums regroupés dans un cluster pour attaquer un sous-vi qui fait le basculement Étiquette/Sous-titre (Fr/En). Mais cela me semble assez lourd.

D’autant plus que dans ma FAV certaines commandes sont imbriquées : Dans une commande onglet : se trouve une autre commande onglet + un cluster de boutons radios.

Je dois donc réaliser une RefNum pour chaque élément individuel.

 

J’ai trouvé sur l’outil de recherche d’exemple le projet : “ Finding and Modifying Objects.lvproj”

qui comporte un VI “Obtention de référence à des objets inconnus” ; que j’ai retravaillé.

 

Hélas, je n’arrive qu’à afficher/cacher toutes les étiquettes du diagramme, et non de la FAV. J’arrive seulement à afficher/cacher l’étiquette/sous-titre d’un élément posé directement sur la FAV.

 

Une solution m’a été proposée par un intervenant (Voir Solution_N°1.png) :

“il faut savoir que les sous-titres sont modifiables par programme, au contraire des étiquettes.

Je te propose la méthode suivante :

  • repérer les objets dont tu veux modifier la langue, en démarrant par exemple le nom de l'étiquette par "LOC_" (comme Localisable, c'est à dire qu'on veut le traduire).
  • Récupérer les références de tes objets (avec un nœud de propriété), de manière récursive pour les clusters
  • Changer les sous-titres des objets dont le nom commence par LOC_ (avec un nœud de propriété).

Il faut bien sûr que seul le sous-titre soit visible sur la face avant, pas l'étiquette...

bonne journée”

 

Après essais, cette solution s’avère fonctionner, de manière simple, mais uniquement sur les objets posés directement sur la FAV.

Or j’ai des objets imbriqués : Cluster Bouton radio dans une commande onglet, elle-même posée dans une seconde commande onglet.

 

Si quelqu’un d’entre vous a une idée lumineuse (plus simple que la mienne), je suis preneur.

 

Remerciements.

HephaistOs
0 Compliments
Message 1 sur 3
2 589 Visites
Solution
Accepté par l'auteur du sujet be_elc

Une façon de fonctionner, c'est avec l'utilisation d'un fichier de configuration pour les langues désirées. 

 

http://forums.ni.com/t5/LabVIEW/Multilanguage-user-interface/m-p/2744846/highlight/true#M810815 (voir la réponse de John_P1)

 

L'exemple est pour une face avant Unicode, mais cela fonctionne aussi pour du ASCII. 

1) Il affiche uniquement le sous-titre (caption en anglais) des objets dont il veut modifier la langue;

2) Il crée un fichier de configuration de langues;

3) Il récupère les références de tous les objets (récursivement). 

4) Il vérifie, un par un, si l'étiquette (label en anglais) de l'objet existe dans le fichier configuration.  S'il existe, il remplace le sous-titre par celui désiré, sinon il ne fait rien.

 

Cela semble un procédé long et ardu, mais c'est la meilleure façon que j'ai trouvé, et je l'utilise depuis quelques années.

 

Si tu désire passer à l’Unicode, il faut que tu t'assures que le nom de tes VI et les étiquettes de tes objets soient en ASCII (128 premiers caractères) et non en ASCII étendu.

 

 

Message 2 sur 3
2 556 Visites

Merci beaucoup pour ces précieuses informations; que je vais utiliser rapidement.

D'autant plus que mon système (rustique) ne fonctionne que pour 2 langues.

Et qu'on va peut-être me demander une troisième.

 

Bonne journée.

HephaistOs
0 Compliments
Message 3 sur 3
2 532 Visites