LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

multiple language support help

I have a large application with more than several hundred sub VIs. Now, we want to modify it to provide multiple language support, for example, Chinese or French.  I have searched the forum and have some clue, but still cannot fit our needs.
 
1. from NI site, one method is to export string and import string. But for several hundred sub VIs, do I need to to this several hundred times for each VI? since in our application, some strings are hardcoded.
 
2. using excel sheet, everytime read excel file and modify the contorl properities. I am not sure how this works in details.
 
Any advice or suggestion will be appreciated. Thanks.
 
 
0 Kudos
Message 1 of 9
(4,468 Views)

The NI approved way is to use Import / Export Strings.  If you need to convert it just for the operator than you maybe able to get away with most chages to the top level VI.  If you need to convert it for engineering and editing of the VI, then there is a lot of work to be done. 

You need to have all of the Text to convert as a Caption!  It will not convert Labels.  I would recommend building a VI to help the person translate the code instead of working directly on the XML file.  It is not a trivial process translating an application.

Matt

Matthew Fitzsimons

Certified LabVIEW Architect
LabVIEW 6.1 ... 2013, LVOOP, GOOP, TestStand, DAQ, and Vison
Message 2 of 9
(4,460 Views)

Thanks a lot.

I am still thinking using excel file or txt file with each column representing differenting language. For example, we can combine all control with english caption in first column, french in second column, and chinese in third column. When the application is loading, it check the configuration ( can be just a ini file)  to see what language should be used, then load the corresponding column and then using property node to change the control property. I am not sure if this method works and how to index the controls and indicatiors.

 

0 Kudos
Message 3 of 9
(4,454 Views)

A few final cautions.  Do not convert the language until the application is done otherwise you will have to resolve a bunch of differences between the files. NOT Fun.  The Excel idea sounds feasible and may be a good Idea for multiple languages.  Another advantage of your idea to use Excel is you could change the labels at runtime.  You can’t import strings at run time that is a big weakness with this function.  This results in having to build multiple applications, one in each language.  Don't forget to enable the language support for the installer.  For some reason they don't support Spanish that is an issue I am having.

Keep us posted on how it goes.

Matt

 

Matthew Fitzsimons

Certified LabVIEW Architect
LabVIEW 6.1 ... 2013, LVOOP, GOOP, TestStand, DAQ, and Vison
0 Kudos
Message 4 of 9
(4,449 Views)

Thanks a lot, Matt. I will keep post.

DJ

0 Kudos
Message 5 of 9
(4,440 Views)
I am wondering if we can use VI server with method as import string to dynamically localization.
 
 
0 Kudos
Message 6 of 9
(4,425 Views)

It doens't hurt to try.  Let me know how it goes.  From the table below I do not think it will work.

Matt

The following table lists the characteristics of this method.

Settable when the VI is running No
Need to authenticate before use No
Loads the block diagram into memory Yes
Remote access disallowed No
Loads the front panel into memory Yes
Must wait until user interface is idle Yes
Available with control VIs Yes
Available with global VIs Yes
Available with strict type definitions No
Available with polymorphic VIs Yes
Available in Run-Time Engine and Real-Time Operating System Yes (Read/Write)

Matthew Fitzsimons

Certified LabVIEW Architect
LabVIEW 6.1 ... 2013, LVOOP, GOOP, TestStand, DAQ, and Vison
0 Kudos
Message 7 of 9
(4,421 Views)
I met a problem now. I try to display European language strings (Like German)  which are loaded from a txt file. However, some characters are not displayable.  As I know, this is because LV doesn't support unicode format characters. I would like to know to I can dispaly them correctly. thanks.
0 Kudos
Message 8 of 9
(4,359 Views)

michenglaoxu,

Please see the following post, as well as
How Can I Use Chinese Characters in LabVIEW on Windows XP?, perhaps it can help also note the following excerpt from Localizing Your LabVIEW Application to Different Languages:

"You do not need to have a specific language version of LabVIEW, such as French, German, or Japanese, to be able to enter display text in that language. LabVIEW supports single and double byte characters, but it does not support bidirectional scripts (such as Arabic or Hebrew).

If you want to display text in multi-byte character sets (such as Japanese, Chinese, or Korean) in LabVIEW, you only need an operating system of the appropriate language or an MBCS-enabled operating system with an Input Method Editor (IME) for the corresponding language. Also, there are several commercially available language kits that you can add on to the operating system."

 
Doug M
Applications Engineer
National Instruments
For those unfamiliar with NBC's The Office, my icon is NOT a picture of me 🙂
0 Kudos
Message 9 of 9
(4,333 Views)