Today’s corporate environment is global. QlikView application developers are required to support many regions and many languages. So how does a QlikView application developer handle multiple languages? Well, that depends on how the data is captured and the overall goal of the application developer. Let’s look at two scenarios.
Scenario 1: The developer only needs to translate the labels and textboxes within the application and not the actual data.
- Create a translation spreadsheet that contains an index column to be used for reference and columns for every language that each label and text entry that needs to be translated.
- Fill in the English language column with the text to be translated and have translators fill out their language.
- In the script load the translation spreadsheet and create an inline table that contains all of the language translations. Then create a variable, say vDataLanguage, that reads the Language field.
- Using set analysis, create an expression that references the index number and the language to display
=Only({<Index={12}>} [$(=vDataLanguage)])
for all textbox and object captions that need to be translated.
Scenario 2: The data from which the QlikView application developer is developing is recorded in English but he/she needs to have some of the actual data translated into other languages.
- The first thing that he/she needs to do is determine the fields that need to be translated and create a translation spreadsheet that contains a worksheet for each of the fields to be translated. For example, we need to translate the Industry data. Now we need to load the data translation file into QlikView as a Mapping Load for each language. For this example we need to translate into German and French so we’ll create a mapping file for French_Industry and a mapping file for German_Industry.
- Create an inline table that contains all of the language translations.
- Create a variable that reads the Language field (vDataLanguage).
- In the script, find the Industry Field that we need to translate. Using the Applymap function we can translate the English data into the different languages and be sure to name the translated field as Fieldname_Language (e.g. Industry_French) .
- We now need to create a variable for each translated field. So for industry we’ll create vIndustry. The expression in vIndustry is
=chr(91)&'Industry' &chr(95) & '$(vDataLanguage)' & chr(93) . - Now to get the correct language to display in a list box you need a calculated dimension using this expression, which is
=$(vIndustry).
That’s it! Easy, right? Well, it is a bit time consuming if you are trying to translate data in fields but translating text and labels is really not that difficult. I created a technical overview that walks you through the two scenarios mentioned in this blog as well as a third scenario which can be found here. This resource includes a How-To, sample data files and 2 QVWs.
Good luck with the translations! Lycka till med översättningarna! 翻訳で頑張ってください!