Engineering of localised software



The engineering of localised software is a common task when translating software to run on medical devices.



It consists of three main phases:


Cosmetic check
The software strings are visualised in buttons and labels of a certain size, depending on the size of the device on which the software will run.
If we are translating from English to German, we can assume that the size of the translation can be 1.5 times larger than the source string.
One of the most common problems is that the string inside a label or a button is truncated and needs to be resized.
Then you also need to check that the overall appearance of the translated system reflects that of the original system (nothing has been moved or resized in a bad way).


Functional testing
You need to check that all the functionality works in the translated environment as it does in the original environment (perhaps the code used by the client developers has a bug and you have different behaviour for different languages).
For example, you need to check that the buttons behave correctly and that no unexpected errors occur.



You need to change the string inside the source files (which can be .dll, .resx, .json, or .rc), then recompile the software (using the same application that created the source files) and overwrite the original files with the updated ones and restart the software to check that the errors are fixed.


To do this, it is essential to have checklists that cover all the necessary steps to perform a complete test.
Sometimes these checklists are not provided by the client, so we have to create one in the original language, send it to the client for review and validation, and then use it to perform all the tests in the translated languages.
At the end of the test, a single checklist of all the errors found is created and sent to the client as a report of the work done.