INTL is a good starting framework for translating strings to various languages. The problem is there is no provision in his framework for positioning object pairs like label/textbox relative to the lenght of the translated strings. Two common responses to this have been to leave enough space between the label and textbox/combo, etc. to accommodate the widest translated string or position the label above the textbox/combo, etc.
I hated those options almost as much as maintaining a set of forms for each language. So, I devised a way to handle multiple languages [English/Spanish] very easily.
I have a table that has a record for every object on every form. There is a memo field that stores top, left, etc., properties for that object if the language is English. There is another memo field for Spanish properties. If I add another language, all I have to do is add another language memo field and define the properties for that language. I then add 2 lines of code to my main PRG and I am done. The INIT of my form base class handles the rest.
I got this idea from the structure of the SCX -- all its objects properties are in memo fields. I took the ideas and some of the framework from my own licensed copy of INTL to do the string translations.
>Steven Black's INTLToolkit
>
http://www.stevenblack.com/intl%205.asp>
>>I have a large application written in VFP7 and I have a request to translate the system into Hebrew. I don't want to maintain two separate systems, so I want to be able to run the existing system in either language. I see that you have developed Hebrew and Russian systems. Does the same system work in both languages? How do you handle one going from left-to-right and the other from right-to-left? Is this doable?
>>
>>Thanks,
>>Elyse
Mark McCasland
Midlothian, TX USA