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 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?