Please enable JavaScript to view this site.

ESL Documentation

ESL applications are often created to be used by speakers of more than one language. All of the text shown to the users needs to be translated into each language. External strings are a feature of ESL that allows this to be done with relative ease and with very little impact on the program.

When external strings are enabled, the ESL compiler will write string literals from the ESL source to a resource file. That file can be translated into many languages and converted to the correct character set or code page. Each translated resource file is then converted into a resource DLL for that language. When the ESL program is run with the proper DLL, it will use the translated strings.

These are the general steps involved with deploying an ESL program in multiple languages, using external strings.

1.Become familiar with ESL's external string support, so you know which areas are handled automatically and which may need some minor changes. Unlike in many other development systems, the you do not need to create named identifiers for every string, instead the ESL compiler manages the string identifiers internally.

2.ESL does not automatically resize or reposition controls or graphics if text changes in size. The user interface needs to have room for strings that increase when they are translated. While the change in length depends on the specific languages involved, as a guideline when translating from English: short strings can easily double in length, while a paragraph of text is not too likely to increase by more than 50 percent.

3.Compile the program with the proper compiler switches, as described in What is Not Externalized?. This causes the compiler to write all strings that will be visible to the user to a resource file (.RC). Only a single compiled ESL program and one resource DLL for each language need to be distributed.

4.Translate the resource file, creating new resource files for each target language. The translator does not need to understand programming. When a new version of the program is compiled, all new or changed strings are added to the end of the original resource file. This significantly simplifies the task of updating the translations. Translation may involve converting the resource file to the character set that will be used when the program is run.

5.Compile the resource files into resource DLLs, one for each language. This is done with a command file ESL provides and the system RC compiler and Linker. See System Requirements.

6.When installing the ESL program on a user's system, install the DLL for the appropriate language. ESL will load the strings from the DLL when it runs the program.