EQMOD_TOUR_BETA_V105 and EQMOD_MOSAIC_BETA_V110 support the use of language specific dlls where all language specific text is held.
Developers wishing only to translate these products now can do so by creating a separate language dll without the need to modify the main body of code.
The code works as follows:
On start-up the applications determine you language automatically from your PC's locale settings. They then attempt to load a dll named EQTOURxx.dll / EQMOSxx.dll - where xx is an abbreviated form of your language i.e. en=English fr=French etc.
If a suitably named dll cannot be English is used by default (an English dll need not be present for this).
For testing purposes the language dll used can be overridden by editing the LANG_DLL entry in the application ini file and assigning a filename.
Each time the application requires text data it attempts to retrieve it from the language dll. If the particular text doesn't exist, then the English text will be used instead. In this way, if for some reason translated dlls lag behind the current English version all that will happen is that English text will appear where new text has been added.
Included in the zips are VB projects for creating the language dlls. To start a new translation do the following
An alternative method would be to copy and rename an existing dll and use a resource editing program (there are many free ones available) to edit the dll directly
Note that ideally translated text should be of equivalent length as the original English to ensure it will fit in the space allocated for buttons, labels, etc.
There have been only minor changes to the User Interface with these releases (to make a bit more space for translated text) and documentation need not be updated. If anyone fancies having a go at providing a translation (German, Spanish etc) that would be great