A software project can consist of several components, which usually include software, documentation, help, and read me files.

We will focus on the translation of software and documentation (IFUs, user manuals, etc.) as that is what we see more often at our Translations.


In general, the process of localizing software includes the translation of the GUI (Graphical User Interface) components of the application, such as menus, dialog boxes, and error and status messages displayed on the screen.

Menus: A menu is a drop-down list of options from which you can make a selection and then perform a desired action, such as choosing a command (like Save As) or applying a particular format to part of a document. It is usually a list of major categories and their subcategories.

Dialog boxes: A dialog box is a small window that appears on the screen to request input from or provide information to the user. It typically allows users to change options or settings.

Error messages: these are messages displayed when an unexpected condition occurs. They are used when user intervention is required, to indicate that a desired operation has failed, or to give very important warnings.

Things you should take into account when translating software:

Space restriction: Usually only a limited number of characters can be used for menu names, commands, options, error messages, etc. It is recommendable to keep the translated strings as short as possible. Keep in mind too that most translation of English expands, so it’s likely that you’ll have to use abbreviations much more often than usual.

Hotkeys: are keys or combinations of keys on a computer keyboard programmed to perform a specific function when pressed. When translating software, hotkeys are usually preceded by the character “&”. In the actual program, however, a hotkey is the underlined letter in a command name which you activate by pressing Alt+

That means that &Open will look like Open in the actual program. Do not place hotkeys on letters which reach below the base line such as g, p, j, y, q as they will hardly be visible in the program (the hotkey underline will overlap with the letter). You should only use hotkeys which are available on every keyboard (avoid special characters like ö, ñ, etc.).

In the example above, &Open would be translated as &Abrir in Spanish or &Ouvrir in French.

Variables: are symbols which will be replaced by another string/number/date in the final product. Variables can be represented in several ways, like by % and a letter or number (“%s”, “%d”, “%l”, etc), by {0}, {1}, etc, or just by [text], among others. Please see below some common variables and the parameters replacing them:

Variable Parameter
%s String
%d Decimal integer
%ld Decimal long integer
%u Unicode character
%p Page number

Read Also: Case Study –Phone App Software Development( The pharmaceutical enterprise data collection class)

Example: “This test %s is not valid”.

Do not touch variables but place the translated text around them in the correct order. Depending on the word that is inserted at the location of the variable, the grammatical form of some words (“valid” in the case of the example) may vary. This might also depend on the gender of the word that is inserted.

In the example above, if we are translating into Spanish and %s is going to replace the word “number” or “name”, the translation would be as follows: “Este %s de prueba no es válido” In Spanish, the variable should go before “test” and a preposition between these two words is needed. Also, “válido” is a male adjective, as both number and name are of masculine gender in this language.

Ideally the Language Lead or Project Manager will have identified for you what text will replace the variables. If not, please ask them for guidance in how to treat the variables. If they can not provide this information, it is permissible to reflect all options (masculine/feminine) in your translations as follows:

“This test %s is not valid” could be translated as Este/a %s de prueba no es válido/a

Control characters: they provide formatting information to be displayed within strings, such as carriage returns or values (percentage, number, etc.). Some control characters are \r, \n, and \t. When translating, they should be left as they are: please be careful not to delete them.


More and more, devices include software that is necessary for the functioning of the device. For this reason, very often there are references to the software in the device’s manuals. The instructions can refer to software options, menus, system messages, etc. See some examples:

Example 1:

Change these settings as follows:

1. Open the Menu window.

2. Select Mask/Port.

3. Select the desired mask/patient interface type (Table 6-1). Select Accept to apply.

In this example, the words in bold refer to software options.

Example 2:

TABLE 4: Error Codes and Troubleshooting Instructions
Error Code Error Message on Display Troubleshooting Instructions
1A-K System ErrorTurn Unit OffSEE INSTRUCTIONS Disconnect the catheter and turn RF generator power off and then on. If the error recurs, contact Technical Support.
2A Bad ConnectionReplace Catheter or Cable Disconnect catheter and connector cable from RF generator. Press reset button, and reconnect catheter and a new connector cable to RF generator to continue the procedure. If the error recurs, disconnect the catheter, press the reset button and connect a new catheter to continue the procedure.
2D No Matrix PresentReplace Catheter Disconnect catheter. Press reset button and connect a new catheter to continue the procedure.

In the example above, the text on the column Error Message on Display refers to error messages that will appear on screen. These are software references as well.

If there are software references in the text, you need to know if the software has been translated or not. Usually, the PM will give you this information (if not, it is imperative that you ask). You will most likely find it in the linguistic analysis. There might be two cases:

Take a look at how we helped our client by localizing their project for Software Localization & Translation Industry. Click here to read the complete case study

a) Software has not been translated: in this case, you can leave the software references in English and write the translation in brackets. Another option is to leave the software references in English without a translation in brackets. Either way, it is very important to make sure that the references stay in English as that’s they way they will show on screen. If they get translated in the manual but they are not translated in the software, the user won’t be able to see what is being referred.

b) Software has been translated: in this case, you will be provided with the translation of the software references and you should use them accordingly. It is very important to use the exact translation of the software reference as that is they way it will appear on screen.

Another thing you should pay attention to is that the documentation of devices can also refer to the keyboard/ buttons which are used to enter commands. Sometimes buttons and keys like “Enter”, “Control”, “Delete”, etc. (see example 3), may remain in the source language and the user will be able to choose to use a localized keyboard.

If these buttons are built into the device (see example 4), they are usually not localized.

Manufacturers are getting better about using symbols instead of words when the buttons are built-in, but this is still something you should take into account during translation.

Usually, the PM will give you this information but again, if not, it is imperative that you ask.

Example 3

Press Enter to save the new volume entered and return to the Syringe/Calibration screen. Press Delete to cancel the changes made and return to the Syringe/Calibration screen.

In the example above, Enter and Delete are keys from the keyboard, so they are most likely to be localized and therefore should be translated. Usually, Microsoft or Mac terminology (depending on the operative system) should be used. The PM or Linguistic Lead should be able to help locate these standard translations for you if you need them.

Example 4

When operating the system in Semi-Automatic mode, the ablation cycle will not start automatically after the successful completion of the CIA. Once a successful CIA has been completed, press the ENABLE button and depress the foot switch a second time to initiate the ablation cycle.

In this example, the button ENABLE is built into the device, so we should know if this has been translated in the device. Usually, these buttons are not translated, but this needs to be checked with the PM.