Reading Time: 3 minutes

How to Improve the Quality of Software Programs in Several Languages:

Linguistic Validation


One of our largest customers, a multinational technological company, develops its own software as well as manufacturing its own hardware.

At LocalizationLab, we translate and validate the software strings that end users see when they interact with the printer. We currently have 50,000 software and firmware strings (to which we add 500 strings each month) and 15 language combinations. We always translate from English into Catalan, Spanish, French, Italian, Portuguese, German, Russian, Polish, Dutch, Turkish, Swedish, Japanese, Korean, Simplified Chinese and Traditional Chinese.

In this article we’ll talk about the software translation process we use.

A challenge we face when translating software is that we’re often presented with text strings that need to be translated out of context. These strings can have more than one meaning, making them difficult to translate.

Even though we use assisted translation programs (CAT tools), with translation memories and glossaries for each language, there are always new or difficult words that need to be translated.

For example, take this text string:

<trans-unit approved=”yes” id=”STRING_PRINT” maxlines=”1″ maxwidth=”-1″ xml:space=”preserve”>

<source xml:lang=”en”>Print</source></trans-unit>

We don’t know if the word “Print” is being used here as a noun or infinitive verb. Without greater contextual information, it’s likely that translation errors will occur.

To minimise these types of error, we ask the engineers we work with to give us more contextual information. We’ve also put together a list of pointers for writing text strings in English to make them easier to translate:

Things to take into account when adding text strings to software: Pointer
LENGTH If the text string is displayed in a window of a specific length, state the dimensions to prevent the text from being clipped.
TEXT LINES State whether the string can have more than one line of text.
DESCRIPTION Add a description of the string, stating its location, where in the menu it will be displayed, if it’s a title or a button, etcetera.

If adjectives are used, state what noun it corresponds to. In many languages adjectives change depending on whether the noun is masculine or feminine.

VARIABLES Avoid using variables, as every language has its own grammatical and syntactical rules, and variables can be situated at different points in a sentence.
ACRONYMS Try not to use acronyms. Use the full version of a word, as not everyone will know what the acronym means.

In addition, as part of our quality control process, we ask our translators to send us questions which we then pass on to the engineers. This enables us to improve our translations.

Linguistic validation is also useful for detecting mistakes in strings, such as the clipping of sentences because they’re too long or the incorrect display of characters due to accents, which can be because of mistakes in coding.


Faced with this challenge, at LocalizationLab we designed a software validation process based on translated screen shots.

These files are saved in a spreadsheet format, consisting of one per language combination, with the English screen shot displayed next to the translated version. Using these files has enabled us to revise all software strings, in every language, in their exact context.

Performing linguistic validation has allowed us to reduce the number of translation mistakes and thus improve the quality of final software programs for a particular country and language.

This has a direct impact on customer satisfaction and user experience, and it reduces the number of calls that customers make to the after-sales department because they do not understand a procedure.

We always recommend our customers carry out a linguistic validation on their software or app once all languages have been integrated. If you have customers abroad and want your software to be displayed correctly in all languages, please get in touch. We’d be delighted to help.

Written by LocalizationLab