Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
David_K1
Contributor II
Contributor II

Multilingual titles make app extremely slow

Dear Qlik Community

We are using an approach very similar to the one described in this post to make our app multilingual.

However, we found that this drastically decreases the performance of dashboards up to a factor of 2-3. E.g. a dashboard with a table with 30 columns would load in 4 seconds without translation of the column titles. Adding translations increases load time to about 12 seconds.

We use the following expressions in the label:

=only({<[Language.Code]= {'Street'}>} Language.Text_$(v_Language))

=only({<[Language.Code]= {'City'}>} Language.Text_$(v_Language))

We set the language in the variable v_Language which then determines which column is used, e.g. Language.Text_EN, Language.Text_DE etc. Our datamodel is quite complex with almost 2000 fields (we are trying to improve that), but I would not expect this to be a problem for the translation. As in the linked post, our Language table is an island table.

Does anyone have an idea why this performance decrease happens and how it could be fixed?

I am using Qlik Sense Enterprise on Windows, Nov 2024 Patch 9.

Labels (1)
4 Replies
robert_mika
Master III
Master III

Do you have translation of all columns or just the text(titles)?

David_K1
Contributor II
Contributor II
Author

I also have translation of the data, but this seems to be less of a performance issue. The main issue are the labels (I would have expected it the other way around, that the labels make a small contribution to the performance).

David_K1
Contributor II
Contributor II
Author

I made some more tests and the complex data model definitely is an issue. If I reduce the data model from 2000 to 650 fields, load time is reduced to about 4 sec. with translation / 3 sec. without (from 12 / 4 sec.).

I probably should split the app into multiple apps each with a simpler data model, but that's not an easy task.

rwunderlich
Partner Ambassador/MVP
Partner Ambassador/MVP

I assume your v_Language variable is an expression like 

=Minstring(Language)

Can you post your v_Language content? Confirm that you have a leading "=" in the definition. 

The Language listbox and the expressions that reference should be in an alternate state, for example "LanguageState". Then reference that statename in your expressions like:

=Minstring({LanguageState}Language)

=only({LanguageState <[Language.Code]= {'Street'}>} Language.Text_$(v_Language))

Consider analyzing your App with QSDA Pro to see where the compute time is going.

-Rob