Sei sulla pagina 1di 14

NIDays 09

LabVIEW Multilanguage
Application: un approccio
pratico

Roberto Romanò
Collaboratore ILVG – “paracarro”

Roberto Romanò, LabVIEW Multilanguage Application: un approccio pratico 1


Milano, 25 febbraio 09
NIDays 09

Definizione sintetica
Un’applicazione "multilanguage" è un’applicazione che dispone di
un’interfaccia HMI che può variare nelle sue parti testuali
(messaggi e indicatori) in funzione della lingua e dell'area
geografica di appartenenza dell'operatore, al fine di aumentarne la
fruibilità.

Roberto Romanò, LabVIEW Multilanguage Application: un approccio pratico 2


Milano, 25 febbraio 09
NIDays 09

LabVIEW è Multilanguage?

Roberto Romanò, LabVIEW Multilanguage Application: un approccio pratico 3


Milano, 25 febbraio 09
NIDays 09

LabVIEW è Multilanguage?
• [http://zone.ni.com/devzone/cda/tut/p/id/3603]
• esistono, oltre alla versione inglese - internazionale, la versione
in tedesco, in francese, e giapponese

Roberto Romanò, LabVIEW Multilanguage Application: un approccio pratico 4


Milano, 25 febbraio 09
NIDays 09

LabVIEW è Multilanguage?
• LabVIEW non include nativamente il supporto per le lingue che si
scrivono da destra a sinistra come lingue arabe-orientali

Roberto Romanò, LabVIEW Multilanguage Application: un approccio pratico 5


Milano, 25 febbraio 09
NIDays 09

LabVIEW è Multilanguage?

Roberto Romanò, LabVIEW Multilanguage Application: un approccio pratico 6


Milano, 25 febbraio 09
NIDays 09

LabVIEW è Multilanguage?
• [http://digital.ni.com/public.nsf/allkb/862567530005F09F8025677
1004C9811]
• LabVIEW non supporta font UNICODE, ma supporta font tipo
Multi-Byte Encoding Scheme (MBCS)

Roberto Romanò, LabVIEW Multilanguage Application: un approccio pratico 7


Milano, 25 febbraio 09
NIDays 09

Sviluppo di applicazione
multilanguage in LabVIEW:
• in LabVIEW sono disponibili le funzioni di import ed export
• pensare fin dall'inizio una applicazione multilanguage può
essere un vantaggio
• pensare fin dalla fase di sviluppo ad una applicazione
multilanguage abitua a non mischiare messaggi e scritte in più
lingue come succede nelle applicazioni ad uso interno

Roberto Romanò, LabVIEW Multilanguage Application: un approccio pratico 8


Milano, 25 febbraio 09
NIDays 09

Approccio [paracarro] al problema


• Il contesto:
1.è un approccio "in corsa", cioè la richiesta di un'applicazione
multilanguage non era una specifica iniziale ma è stata richiesta
quando l'interfaccia era già formata
2.la gestione multilingua riguardava anche altre applicazioni
LabVIEW precedentemente sviluppate. da destra a sinistra come
lingue arabe-orientali

Roberto Romanò, LabVIEW Multilanguage Application: un approccio pratico 9


Milano, 25 febbraio 09
NIDays 09

Approccio [paracarro] al problema


1) imporre delle limitazioni (no cambio font)
2) macro-classificare le scritte dell'applicazione
3) scrivere un tool per estrarre ove possibile i testi in modo
automatico
4) implementare le modifiche al codice

Roberto Romanò, LabVIEW Multilanguage Application: un approccio pratico 10


Milano, 25 febbraio 09
NIDays 09

Approccio [paracarro] al problema


Classificazione:
1. scritte che dipendono da configurazioni dell'applicazione.
SOLUZIONE: custom. Si deve prevedere il caricamento di file di cfg
diversi…
2. scritte interne all' applicazione che si suddividono in:
a. "statiche“: testi che appaiono nei FP e non cambiano a meno di
non cambiare la lingua. SOLUZIONE: implementare un VI che
si carica tutte le scritte significative nel FP, senza passare inutili
parametri
b. "dinamiche“: testi che possono cambiare o che appaiono per
es. in popup, testi parametrici (con parametri tipo printf).
SOLUZIONE: Sono testi che appaiono nei diagrammi. Cercare
tutti i testi "costanti" ed "interporre" sul filo un VI che può
sostituire il testo di default con un testo "indicizzato"
Roberto Romanò, LabVIEW Multilanguage Application: un approccio pratico 11
Milano, 25 febbraio 09
NIDays 09

Esempio di applicazione
• VI "Editor" che genera il file .ini con i testi del front panel
(generare file alternativo)
• ricerca testi nel block diagram e aggiunta VI sul filo del testo +
aggiunta numero
• aggiunta nei VI che visualizzano il FP della chiamata al VI che
carica tutti i testi del FP

Roberto Romanò, LabVIEW Multilanguage Application: un approccio pratico 12


Milano, 25 febbraio 09
NIDays 09

Approccio [paracarro] al problema


Argomenti di discussione:
1) cambio lingua mentre il programma è running: uso di defer
panel update
2) limitazioni label (tolti automaticamente spazi e caratteri non
alfa)
3) lettura stringhe da .ini di testi con caratteri ascii < 20H

Roberto Romanò, LabVIEW Multilanguage Application: un approccio pratico 13


Milano, 25 febbraio 09
NIDays 09

Grazie per l'attenzione.

Roberto Romanò, LabVIEW Multilanguage Application: un approccio pratico 14


Milano, 25 febbraio 09