Translation into other languages.
StreamCAD comes in an English version. Large corporations may translate software into five or six major languages. How can StreamCAD compete?
One goal of this software is to provide opportunity for others. User interface texts have been exported to external files, mainly the StreamCAD.LIT (for language independent text) but also a number of .XML files that define dialogs, menus and toolbars.
The basic rule of translation is simple: never change a “Key” or a “Tag” value. These are the values that bind the program logic with these files. Most often the names that should change are named “Text” or “Caption”.
Translation is supported by applications as well, as long as developer adhere to the FSMSample for text management.
Translation of .LIT files
These contain three kinds of classes: LITCommand, LITEntity and LITTextItem. LITTextItem is used to define subdata to the other two classes.
<LITCommand Key="line" Help="strm_line.htm" Text="Line">
<LITEntity Key="Line" Text="Line" DrawCommand="line">
<LITTextItem Key="first_point" Text="Select start point:"/>
Note: the Text value on LITCommand entries allows translation of the command name itself.
A translation to swedish could look like this:
<LITCommand Key="line" Help="strm_line.htm" Text="Linje">
<LITEntity Key="Line" Text="Linje" DrawCommand="line">
<LITTextItem Key="first_point" Text="Peka ut startpunkt:"/>
After this translation, you can now reach the "line" command using the swedish word "linje". Note that the original english command name always has precedence.
Translation of dialogs and menues
It's very simple: replace every Caption text with a local translation. Don't ever touch the tags: they tie into the program logic.